...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Algorithms / Runtime Algorithms / for_each |
template< typename Sequence , typename F > void for_each( F f ); template< typename Sequence , typename TransformOp , typename F > void for_each( F f );
for_each is a family of overloaded function templates:
#include <boost/mpl/for_each.hpp>
Parameter | Requirement | Description |
---|---|---|
Sequence | Forward Sequence | A sequence to iterate. |
TransformOp | Lambda Expression | A transformation. |
f | An unary function object | A runtime operation to apply. |
For any Forward Sequence s, Lambda Expression op , and an unary function object f:
for_each<s>( f );
Return type: | void |
---|---|
Postcondition: | Equivalent to typedef begin<Sequence>::type i1; value_initialized< deref<i1>::type > x1; f(boost::get(x1)); typedef next<i1>::type i2; value_initialized< deref<i2>::type > x2; f(boost::get(x2)); ... value_initialized< deref<in>::type > xn; f(boost::get(xn)); typedef next<in>::type last; where n == size<s>::value and last is identical to end<s>::type; no effect if empty<s>::value == true. |
for_each<s,op>( f );
Return type: | void |
---|---|
Postcondition: | Equivalent to for_each< transform_view<s,op> >( f ); |
Linear. Exactly size<s>::value applications of op and f.