boyer_moore_searcher – třída
boyer_moore_searcher
Třída je typ objektu funkce, který používá Boyer-Moore algoritmus k vyhledání sekvence zadané v konstruktoru objektu. Hledání se provádí v jiné sekvenci zadané operátoru volání funkce objektu. Tato třída se předává jako parametr jednomu z přetížení std::search.
Syntaxe
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;
};
Členové
Člen | Popis |
---|---|
Konstruktor | |
boyer_moore_searcher | Vytvoří instanci vyhledávacího modulu. |
Operátory | |
operator() | Vyvolá operaci v sekvenci. |
konstruktor boyer_moore_searcher
boyer_moore_searcher
Vytvoří objekt funkce pomocí sekvence k vyhledání, objektu funkce hash a predikátu rovnosti.
boyer_moore_searcher(
RandomAccessIterator pat_first,
RandomAccessIterator pat_last,
Hash hf = Hash(),
BinaryPredicate pred = BinaryPredicate());
Parametry
pat_first
Počáteční prvek sekvence, který se má vyhledat.
pat_last
Konec sekvence, která se má vyhledat.
Hf
Volatelný objekt, který se používá k hash sekvencování prvků.
před
Volitelný predikát porovnání rovnosti pro sekvenční prvky. Pokud není zadán typ porovnání rovnosti, je výchozí std::equal_to
hodnota .
Poznámky
Vyvolá výjimku vyvolanou konstruktorem kopírování typu BinaryPredicate, Hash nebo RandomAccessIterator nebo operátor volání BinaryPredicate nebo Hash.
Tato třída je v jazyce C++17 nová.
operator()
Operátor volání objektu funkce. Vyhledá v posloupnosti argumentů sekvenci [first, last)
zadanou konstruktorem.
template <class ForwardIterator2>
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
RandomAccessIterator2 first,
RandomAccessIterator2 last) const;
Parametry
první
Počáteční prvek sekvence, která se má prohledávat.
poslední
Konec sekvence, ve které se má hledat.
Poznámky
Pokud je hledaný vzor [pat_first, pat_last)
prázdný, vrátí hodnotu make_pair(first, first)
. Pokud se vyhledávací vzor nenajde, vrátí hodnotu make_pair(last, last)
. V opačném případě vrátí dvojici iterátorů na začátek a konec sekvence, [first, last)
která se rovná [pat_first, pat_last)
podle predikátu predikátu.
Tato třída je v jazyce C++17 nová.
Viz také
<funkční>
funkce algoritmů
boyer_moore_horspool_searcher – třída
std::search