Classe default_searcher
Um default_searcher
é um tipo de objeto de função para operações que pesquisam uma sequência especificada no construtor do objeto. A pesquisa é feita dentro de outra sequência fornecida ao operador de chamada de função do objeto. O default_searcher
invoca std::search para executar a pesquisa.
Sintaxe
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;
};
Membros
Membro | Descrição |
---|---|
Construtor | |
default_searcher | Constrói uma instância do searcher. |
Operadores | |
operador() | Invoca a operação na sequência. |
Construtor default_searcher
Constrói um objeto de função default_searcher
usando a sequência para pesquisar um predicado de igualdade.
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());
Parâmetros
pat_first
O elemento inicial da sequência a ser pesquisada.
pat_last
O fim da sequência a ser pesquisada.
pred
O predicado de comparação de igualdade opcional para elementos de sequência. Se um tipo de comparação de igualdade não for especificado, o padrão será std::equal_to
.
Comentários
Gera qualquer exceção gerada pelo construtor de cópia dos tipos BinaryPredicate ou ForwardIterator.
Essa classe é nova no C++17. O C++20 fez o construtor constexpr
.
operador()
O operador de chamada do operador de função. Pesquisa na sequência de argumentos [first, last)
a sequência especificada para o construtor.
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;
Parâmetros
first
O elemento inicial da sequência dentro da qual haverá a pesquisa.
last
O fim da sequência dentro da qual haverá a pesquisa.
Comentários
Retorna um par de iteradores. O iterador inicial i é o resultado efetivo de:
std::search( first, last, pat_first, pat_last, pred )
.
O segundo iterador do par é o last se i* for last. Caso contrário, será o resultado efetivo de:
std::next( i, std::distance( pat_first, pat_last ))
.
Essa classe é nova no C++17. O C++20 fez o operador de chamada constexpr
.