| Front Page / Algorithms / Querying Algorithms / find_if |
template<
typename Sequence
, typename Pred
>
struct find_if
{
typedef unspecified type;
};
Returns an iterator to the first element in Sequence that satisfies the predicate Pred.
#include <boost/mpl/find_if.hpp>
| Parameter | Requirement | Description |
|---|---|---|
| Sequence | Forward Sequence | A sequence to search in. |
| Pred | Unary Lambda Expression | A search condition. |
For any Forward Sequence s and unary Lambda Expression pred:
typedef find_if<s,pred>::type i;
| Return type: | |
|---|---|
| Semantics: | i is the first iterator in the range [begin<s>::type, end<s>::type) such that apply< pred,deref<i>::type >::type::value == true If no such iterator exists, i is identical to end<s>::type. |
Linear. At most size<s>::value applications of pred.
typedef vector<char,int,unsigned,long,unsigned long> types; typedef find_if<types, is_same<_1,unsigned> >::type iter; BOOST_MPL_ASSERT(( is_same< deref<iter>::type, unsigned > )); BOOST_MPL_ASSERT_RELATION( iter::pos::value, ==, 2 );