Boost logo

Boost Users :

Subject: Re: [Boost-users] [range] What's the best way to initialize a new container from a range?
From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2011-08-26 14:21:40


Hi!

On Fri, Aug 26, 2011 at 2:30 PM, Martin B. <0xCDCDCDCD_at_[hidden]> wrote:

> Hi!
>
> Say I have a range R and I want to construct a new container from the range
> R. Will I always have to repeat the expression yielding the range, or is
> there a shorter way?
>
> Example:
>
> std::vector<int> numbers(
> boost::irange(7, 42).begin(),
> boost::irange(7, 42).end()
> );
>
> Note that it's just an example.
>
> Is it possible to create a container C from a range expression R in one
> step? Any helper function for this?
>

What about that:

#include <boost/range/irange.hpp>
#include <vector>

using namespace std;
using namespace boost;

int main()
{
integer_range<int> ir=irange(7,42);
 vector<int> numbers(ir.begin(), ir.end());

return 0;
}

Regards,
Ovanes



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