Boost logo

Boost Users :

Subject: Re: [Boost-users] [range] Best way to construct a std::set from a range?
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2010-03-03 10:54:04


Gabriel Redner wrote:
> If I have a pair of iterators, I can construct a set like so:
>
> std::set<SomeType> s(it1, it2);
>
> If instead I have a range, I can adapt it like so:
>
> std::set<SomeType> s(boost::begin(range), boost::end(range));
>
> However, my range object is being constructed on the fly. I'd like to
> be able to do:
>
> std::set<SomeType> s(MakeRange(args));

what about

template<typename Container>
void assign_range(Container& c, const Range& r)
{
     c.assign(begin(r), end(r));
}

std::set<SomeType> s;
assign_range(s, MakeRange(args));


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net