Поделиться через


find_if_not

Возвращает первый элемент, который не удовлетворяет условию, в указанном диапазоне.

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

Параметры

  • first
    Входной итератор, адресующий положение первого элемента в диапазоне для поиска.

  • last
    Входной итератор, адресующий положение на единицу после последнего элемента в диапазоне для поиска.

  • pred
    Определенный пользователем объект функции предиката или лямбда-выражение, определяющее условие, которое не должно удовлетворяться искомым элементом. Предикат берет один аргумент и возвращает true (условие удовлетворено) или false (условие не удовлетворено). Подпись pred должна быть bool pred(const T& arg);, где T — тип, к которому можно явным образом привести InputIterator при сбросе ссылки. Ключевое слово const показано только для демонстрации того, что объект функции или лямбда не должен изменять аргумент.

Возвращаемое значение

Входной итератор, ссылающийся на первый элемент в диапазоне, не удовлетворяющий условию, заданному предикатом (результат предиката false). Если все элементы удовлетворяют условию предиката (результат предиката true для всех элементов), возвращает last.

Заметки

Эта функция шаблона представляет собой обобщение алгоритма find с заменой предиката «равно определенному значению» на любой предикат. Сведения о противоположной по назначению функции (которая находит первый элемент, удовлетворяющий условию предиката), см. в разделе find_if.

Пример кода, готовый для адаптации к find_if_not(), см. в разделе find_if.

Требования

Заголовок: <algorithm>

Пространство имен: std

См. также

Ссылки

<algorithm>

adjacent_find

find (STL)

find_if

find_end

mismatch

search