Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2005-05-03 13:33:13

Dave Harris wrote:
> In-Reply-To: <42778635.20706_at_[hidden]>
> eric_at_[hidden] (Eric Niebler) wrote (abridged):
>>* This isn't an algorithm, so I don't want to evoke std::for_each.
> What is it that makes std::for_each an algorithm and BOOST_FOREACH not? To
> me they seem to be doing similar jobs, albeit in different ways.

Is do/while an algorithm? You probably don't think of it that way. It's
certainly not an algorithm in the STL sense like std::for_each is. The
most effective way to think of BOOST_FOREACH (in my experience) is as a
new looping construct -- a foreach keyword.

To encourage people to think of it as an algorithm in the STL sense
would be a mistake. It is range-based, not iterator-based. You can break
and continue and return from the loop body. You can't do any of those
things from an STL algorithm.

Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at