Subject: Re: [boost] [range] fat iterators?
From: TONGARI J (tongari95_at_[hidden])
Date: 2013-11-09 08:37:01
2013/11/9 Eric Niebler <eniebler_at_[hidden]>
> I'm not sure what problem you're solving with 2-phase construction of
> ranges. Can you clarify?
The point is that your proposed approach would store state in the range
object, say, "mutable T obj_;" in istream_range, and the setup
is performed only at construction, which makes it infeasible for reentrance.
If someone do this:
auto&& rng = istream_range<int>(std::cin) | filtered(...);
copy(rng, b); // wrong result, internal 'next' not called
This is a bit contrived, and I'm not sure if there would be more
range/adaptor which have state...
Maybe the idea of 2-phase construction is just an oversight, and it won't
play with range-based for loop :/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk