boyer_moore_searcher, klasa
Klasa boyer_moore_searcher
jest typem obiektu funkcji, który używa algorytmu Boyer-Moore do wyszukiwania sekwencji określonej w konstruktorze obiektu. Wyszukiwanie odbywa się w innej sekwencji udostępnionej operatorowi wywołania funkcji obiektu. Ta klasa jest przekazywana jako parametr do jednego z przeciążeń std::search.
Składnia
template <
class RandomAccessIterator1,
class Hash = hash<typename iterator_traits<RandomAccessIterator1>::value_type>,
class BinaryPredicate = equal_to<>>
class boyer_moore_searcher
{
boyer_moore_searcher(
RandomAccessIterator1 pat_first,
RandomAccessIterator1 pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
template <class RandomAccessIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
};
Członkowie
Element członkowski | opis |
---|---|
Konstruktor | |
boyer_moore_searcher | Konstruuje wystąpienie wyszukiwania. |
Operatory | |
Operator() | Wywołuje operację w sekwencji. |
konstruktor boyer_moore_searcher
boyer_moore_searcher
Tworzy obiekt funkcji przy użyciu sekwencji do wyszukiwania, obiektu funkcji skrótu i predykatu równości.
boyer_moore_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
Parametry
pat_first
Początkowy element sekwencji do wyszukania.
pat_last
Koniec sekwencji do wyszukania.
Hf
Wywoływany obiekt służący do tworzenia skrótów elementów sekwencji.
pred
Opcjonalny predykat porównania równości dla elementów sekwencji. Jeśli typ porównania równości nie jest określony, wartość domyślna to std::equal_to
.
Uwagi
Zgłasza wszelkie wyjątki zgłaszane przez konstruktor kopii typów BinaryPredicate, Hash lub RandomAccessIterator albo operator wywołania BinaryPredicatelub Hash.
Ta klasa jest nowa w języku C++17.
Operator()
Operator wywołania obiektu funkcji. Wyszukuje w sekwencji argumentów dla sekwencji [first, last)
określonej dla konstruktora.
template <class ForwardIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
Parametry
Pierwszym
Początkowy element sekwencji do wyszukania.
Ostatnio
Koniec sekwencji do wyszukania.
Uwagi
Jeśli wzorzec [pat_first, pat_last)
wyszukiwania jest pusty, zwraca wartość make_pair(first, first)
. Jeśli wzorzec wyszukiwania nie zostanie znaleziony, zwraca wartość make_pair(last, last)
. W przeciwnym razie zwraca parę iteratorów na początku i na końcu sekwencji, [first, last)
która jest równa [pat_first, pat_last)
predykatowi.
Ta klasa jest nowa w języku C++17.
Zobacz też
<Funkcjonalne>
funkcje algorytmu
boyer_moore_horspool_searcher, klasa
std::search
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla