<<<<<<< .working ======= <<<<<<< .working >>>>>>> .merge-right.r57125 ======= >>>>>>> .merge-right.r58299
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
for_each
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Description ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Description >>>>>>> .merge-right.r57125

Applies a unary function object to each element of a sequence.

<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Synopsis ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Synopsis >>>>>>> .merge-right.r57125
template<
    typename Sequence,
    typename F
    >
typename result_of::for_each<Sequence, F>::type for_each(
    Sequence& seq, F const& f);
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.35. Parameters

=======

Table 1.35. Parameters

=======

Table 1.39. Parameters

=======

Table 1.39. Parameters

=======

Table 1.39. Parameters

=======

Table 1.39. Parameters

=======

Table 1.39. Parameters

>>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242
>>>>>>> .merge-right.r57125

Parameter

Requirement

Description

seq

A model of Forward Sequence, f(e) must be a valid expression for each element e in seq

Operation's argument

f

A unary Regular Callable Object

Operation's argument

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics
for_each(seq, f);

Return type: void

Semantics: Calls f(e) for each element e in seq.

<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Complexity ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Complexity >>>>>>> .merge-right.r57125

Linear, exactly result_of::size<Sequence>::value applications of f.

<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Header ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Header >>>>>>> .merge-right.r57125
#include <boost/fusion/algorithm/iteration/for_each.hpp>
#include <boost/fusion/include/for_each.hpp>
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Example ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Example >>>>>>> .merge-right.r57125
struct increment
{
    template<typename T>
    void operator()(T& t) const
    {
        ++t;
    }
};
...
vector<int,int> vec(1,2);
for_each(vec, increment());
assert(vec == make_vector(2,3));

PrevUpHomeNext