boyer_moore_horspool_searcher class
La clase boyer_moore_horspool_searcher
es un tipo de objeto de función que usa el algoritmo Boyer-Moore-Horspool para buscar una secuencia especificada en el constructor del objeto. La búsqueda se realiza dentro de otra secuencia proporcionada al operador de llamada de función del objeto. Esta clase se pasa como parámetro a una de las sobrecargas de std::search.
Sintaxis
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;
};
Miembros
Miembro | Descripción |
---|---|
Constructor | |
boyer_moore_horspool_searcher | Construye una instancia del buscador. |
Operadores | |
operator() | Invoca la operación en la secuencia. |
Constructor boyer_moore_horspool_searcher
Construye un objeto de función boyer_moore_horspool_searcher
mediante la secuencia para buscar, un objeto de función hash y un predicado de igualdad.
boyer_moore_horspool_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
Parámetros
pat_first
Elemento inicial de la secuencia que se va a buscar.
pat_last
Final de la secuencia que se va a buscar.
hf
Objeto al que se puede llamar, que se usa para aplicar un hash a los elementos de la secuencia.
pred
Predicado de comparación de igualdad opcional para los elementos de la secuencia. Si no se especifica un tipo de comparación de igualdad, el valor predeterminado es std::equal_to
.
Comentarios
Produce cualquier excepción generada por el constructor de copia de los tipos BinaryPredicate, Hash o RandomAccessIterator, o el operador de llamada de BinaryPredicate o Hash.
Esta clase es nueva en C++17.
operator()
Operador de llamada del objeto de función. Busca en la secuencia de argumentos el valor [first, last)
de la secuencia especificada para el constructor.
template <class ForwardIterator2> // C++17
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
Parámetros
first
Elemento inicial de la secuencia que se va a buscar en el interior.
last
Final de la secuencia que se va a buscar en el interior.
Comentarios
Si el patrón de búsqueda [pat_first, pat_last)
está vacío, devuelve make_pair(first, first)
. Si el patrón de búsqueda no se encuentra, devuelve make_pair(last, last)
. De lo contrario, devuelve un par de iteradores al principio y al final de una secuencia en [first, last)
que es igual a [pat_first, pat_last)
según el predicado pred.
Esta clase es nueva en C++17.
Consulte también
<functional>
Funciones algorithm
Clase boyer_moore_searcher
std::search