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

PrevUpHomeNext
filter_if
<<<<<<< .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 given sequence, filter_if returns a new sequences containing only the elements with types for which a given MPL Lambda Expression evaluates to boost::mpl::true_.

<<<<<<< .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 Pred,
    typename Sequence
    >
typename result_of::filter_if<Sequence const, Pred>::type filter_if(Sequence const& seq);
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.54. Parameters

=======

Table 1.54. Parameters

=======

Table 1.58. Parameters

=======

Table 1.58. Parameters

=======

Table 1.58. Parameters

=======

Table 1.58. Parameters

=======

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

Pred

A unary MPL Lambda Expression

The predicate to filter by

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics
filter_if<Pred>(seq);

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

Semantics: Returns a sequence containing all the elements of seq with types for which Pred evaluates to boost::mpl::true_. The order of the retained elements is the same as in the original sequence.

<<<<<<< .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/filter_if.hpp>
#include <boost/fusion/include/filter_if.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
const vector<int,int,double,double> vec(1,2,3.0,4.0);
assert(filter_if<is_integral<mpl::_> >(vec) == make_vector(1,2));

PrevUpHomeNext