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

PrevUpHomeNext
transform
<<<<<<< .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

For a sequence seq and function object or function pointer f, transform returns a new sequence with elements created by applying f(e) to each element of e of seq.

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

Table 1.75. Parameters

=======

Table 1.75. Parameters

=======

Table 1.79. Parameters

=======

Table 1.79. Parameters

=======

Table 1.79. Parameters

=======

Table 1.79. Parameters

=======

Table 1.79. 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

Operation's argument

f

f(e) is a valid expression for each element e of seq. boost::result_of<F(E)>::type is the return type of f when called with a value of each element type E.

Transformation function

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

<<<<<<< .working Return type: A model of Forward Sequence ======= Return type: >>>>>>> .merge-right.r57242

Semantics: Returns a new sequence, containing the return values of f(e) for each element e within seq.

<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working Binary ======= ======= ======= ======= ======= ======= >>>>>>> .merge-right.r58559 >>>>>>> .merge-right.r58549 >>>>>>> .merge-right.r58299 >>>>>>> .merge-right.r57337 >>>>>>> .merge-right.r57242 Binary >>>>>>> .merge-right.r57125 version synopsis
template<
    typename Sequence1,
    typename Sequence2,
    typename F
    >
typename result_of::transform<Sequence1 const, Sequence2 const, F>::type transform(
    Sequence1 const& seq1, Sequence2 const& seq2, F f);
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.76. Parameters

=======

Table 1.76. Parameters

=======

Table 1.80. Parameters

=======

Table 1.80. Parameters

=======

Table 1.80. Parameters

=======

Table 1.80. Parameters

=======

Table 1.80. Parameters

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

Parameter

Requirement

Description

seq1

A model of Forward Sequence

Operation's argument

seq2

A model of Forward Sequence

Operation's argument

f

f(e1,e2) is a valid expression for each pair of elements e1 of seq1 and e2 of seq2. boost::result_of<F(E1,E2)>::type is the return type of f when called with elements of type E1 and E2

Transformation function

Return type: A model of Forward Sequence.

Semantics: Returns a new sequence, containing the return values of f(e1, e2) for each pair of elements e1 and e2 within seq1 and seq2 respectively.

<<<<<<< .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

Constant. Returns a view which is lazily evaluated.

<<<<<<< .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/transformation/transform.hpp>
#include <boost/fusion/include/transform.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 triple
{
    typedef int result_type;

    int operator()(int t) const
    {
        return t * 3;
    };
};
...
assert(transform(make_vector(1,2,3), triple()) == make_vector(3,6,9));

PrevUpHomeNext