Класс default_searcher
Это default_searcher
тип объекта функции для операций, которые ищут последовательность, указанную в конструкторе объекта. Поиск выполняется в другой последовательности, предоставленной оператору вызова функции объекта. Вызывает default_searcher
std::search для выполнения поиска.
Синтаксис
template <class ForwardIterator, class BinaryPredicate = equal_to<>>
class default_searcher
{
default_searcher(
ForwardIterator pat_first,
ForwardIterator pat_last,
BinaryPredicate pred = BinaryPredicate());
template <class ForwardIterator2>
pair<ForwardIterator2, ForwardIterator2> operator()(
ForwardIterator2 first,
ForwardIterator2 last) const;
};
Участники
Элемент | Description |
---|---|
Конструктор | |
default_searcher | Создает экземпляр средства поиска. |
Операторы | |
operator() | Вызывает операцию в последовательности. |
конструктор default_searcher
default_searcher
Создает объект функции с помощью последовательности для поиска и предиката равенства.
default_searcher( // C++17
ForwardIterator pat_first,
ForwardIterator pat_last,
BinaryPredicate pred = BinaryPredicate());
constexpr default_searcher( // C++20
ForwardIterator pat_first,
ForwardIterator pat_last,
BinaryPredicate pred = BinaryPredicate());
Параметры
pat_first
Начальный элемент последовательности для поиска.
pat_last
Конец последовательности для поиска.
Пред
Необязательный предикат сравнения равенства для элементов последовательности. Если тип сравнения равенства не указан, используется std::equal_to
значение по умолчанию.
Замечания
Вызывает любое исключение, возникающее конструктором копирования типов BinaryPredicate или ForwardIterator .
Этот класс является новым в C++17. C++20 сделал конструктор constexpr
.
operator()
Оператор вызова оператора функции. Выполняет поиск в последовательности аргументов для последовательности [first, last)
, указанной конструктору.
template <class ForwardIterator2> // C++17
pair<ForwardIterator2, ForwardIterator2> operator()(
ForwardIterator2 first,
ForwardIterator2 last) const;
template <class ForwardIterator2> // C++20
constexpr pair<ForwardIterator2, ForwardIterator2> operator()(
ForwardIterator2 first,
ForwardIterator2 last) const;
Параметры
first
Начальный элемент последовательности для поиска внутри.
last
Конец последовательности для поиска внутри.
Замечания
Возвращает пару итераторов. Первоначальный итератор i является эффективным результатом:
std::search( first, last, pat_first, pat_last, pred )
.
Второй итератор пары последний, если i* является последним. В противном случае это эффективный результат:
std::next( i, std::distance( pat_first, pat_last ))
.
Этот класс является новым в C++17. C++20 сделал оператор constexpr
вызова.
См. также
<functional>
функции алгоритмов
std::search