boyer_moore_horspool_searcher class
A classe boyer_moore_horspool_searcher
é um tipo de objeto de função que usa o algoritmo Boyer-Moore-Horspool para pesquisar 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. Essa classe é passada como um parâmetro para uma das sobrecargas de std::search.
Sintaxe
template <
class RandomAccessIterator,
class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
class BinaryPredicate = equal_to<>>
class boyer_moore_horspool_searcher
{
boyer_moore_horspool_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
template <class RandomAccessIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
};
Membros
Membro | Descrição |
---|---|
Construtor | |
boyer_moore_horspool_searcher | Constrói uma instância do searcher. |
Operadores | |
operador() | Invoca a operação na sequência. |
Construtor boyer_moore_horspool_searcher
Constrói um objeto de função boyer_moore_horspool_searcher
usando a sequência para pesquisa, um objeto de função de hash e um predicado de igualdade.
boyer_moore_horspool_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
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.
hf
Um objeto que pode ser chamado, usado para hash dos elementos de sequência.
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, Hash ou RandomAccessIterator ou o operador de chamada binaryPredicate ou Hash.
Essa classe é nova no C++17.
operador()
O operador de chamada do objeto de função. Pesquisa na sequência de argumentos [first, last)
a sequência especificada para o construtor.
template <class ForwardIterator2> // C++17
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 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
Se o padrão de pesquisa [pat_first, pat_last)
estiver vazio, retornará make_pair(first, first)
. Se o padrão de pesquisa não for encontrado, retornará make_pair(last, last)
. Caso contrário, retorna um par de iteradores para o início e o fim de uma sequência em [first, last)
que é igual a [pat_first, pat_last)
de acordo com o predicado pred.
Essa classe é nova no C++17.
Confira também
<functional>
Funções algorithm
Classe boyer_moore_searcher
std::search