From: Eric Niebler (eric_at_[hidden])
Date: 2003-10-13 13:28:27
Daniel Wallin wrote:
> Yeah.. So when using in_range() you'd still need to name your iterators,
> and also place them in the "wrong" scope.
in_range() is provided for use when you *already have* two iterators
defining a range over which to iterate.
> I'd prefer
> for (iter_type iter = x.begin(), end = x.end();
> iter != end; ++iter)
> iter_type begin = x.begin();
> iter_type end = x.end();
> BOOST_FOREACH(xxx i, in_range(begin, end))
> any day.
Of course. And some would prefer
BOOST_FOREACH( xxx i, x )
to either, which is how it is intended to be used.
That said, I'm having misgivings about BOOST_FOREACH. It's cool that it
*can* be done, but I'm not certain it should. And when in doubt, better
to leave it out; I don't think I'm going to push to get it included in
Boost. I'll leave it in the yahoo files section as a curiosity.
-- Eric Niebler Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk