Книга: Standard Template Library Programmer

find_if

find_if

Category: algorithms

Component type: function

Prototype

template<class InputIterator, class Predicate>
InputIterator find_if(InputIterator first, InputIterator last, Predicate pred);

Description

Returns the first iterator i in the range [first, last) such that pred(*i) is true. Returns last if no such iterator exists.

Definition

Defined in the standard header algorithm, and in the nonstandard backward-compatibility header algo.h.

Requirements on types

• Predicate is a model of Predicate.

• InputIterator is a model of InputIterator.

• The value type of InputIterator is convertible to the argument type of Predicate.

Preconditions

• [first, last) is a valid range.

• For each iterator i in the range [first, last), *i is in the domain of Predicate.

Complexity

Linear: at most last – first applications of Pred.

Example

list<int> L;
L.push_back(-3);
L.push_back(0);
L.push_back(3); L.push_back(-2);
list<int>::iterator result = find_if(L.begin(), L.end(), bind2nd(greater<int>(), 0));
assert(result == L.end() || *result > 0);

See also

find.

Оглавление книги


Генерация: 0.090. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз