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

PrevUpHomeNext
find_if

Finds the first element within a sequence with a type for which a given MPL Lambda Expression evaluates to boost::mpl::true_.

<<<<<<< .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
<<<<<<< .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 F,
    typename Sequence
    >
unspecified find_if(Sequence const& seq);

template<
    typename F,
    typename Sequence
    >
unspecified find_if(Sequence& seq);
<<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working <<<<<<< .working

Table 1.43. Parameters

=======

Table 1.43. Parameters

=======

Table 1.47. Parameters

=======

Table 1.47. Parameters

=======

Table 1.47. Parameters

=======

Table 1.47. Parameters

=======

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

The sequence to search

F

A unary MPL Lambda Expression

The search predicate

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics
find_if<F>(seq)

Return type: An iterator of the same iterator category as the iterators of seq.

Semantics: Returns the first element of seq for which MPL Lambda Expression F evaluates to boost::mpl::true_, or end(seq) if there is no such element.

<<<<<<< .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. At most result_of::size<Sequence>::value comparisons.

  1. include <boost/fusion/algorithm/query/find_if.hpp>
  2. include <boost/fusion/include/find_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<double,int> vec(1.0,2);
assert(*find_if<is_integral<mpl::_> >(vec) == 2);
assert(find_if<is_class<mpl::_> >(vec) == end(vec));

PrevUpHomeNext