Sdílet prostřednictvím


default_searcher – třída

A default_searcher je typ objektu funkce pro operace, které hledají posloupnost zadanou v konstruktoru objektu. Hledání se provádí v jiné sekvenci zadané operátoru volání funkce objektu. Vyvolá default_searcher std::search k provedení hledání.

Syntaxe

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;
};

Členové

Člen Popis
Konstruktor
default_searcher Vytvoří instanci vyhledávacího modulu.
Operátory
operator() Vyvolá operaci v sekvenci.

konstruktor default_searcher

default_searcher Vytvoří objekt funkce pomocí sekvence k vyhledání a predikátu rovnosti.

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());

Parametry

pat_first
Počáteční prvek sekvence, který se má vyhledat.

pat_last
Konec sekvence, která se má vyhledat.

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_tohodnota .

Poznámky

Vyvolá výjimku vyvolanou konstruktorem kopírování typu BinaryPredicate nebo ForwardIterator .

Tato třída je v jazyce C++17 nová. C++20 vytvořil konstruktor constexpr.

operator()

Operátor volání operátoru funkce. Vyhledá v posloupnosti argumentů sekvenci [first, last) zadanou konstruktorem.

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;

Parametry

První
Počáteční prvek sekvence, která se má prohledávat.

Poslední
Konec sekvence, ve které se má hledat.

Poznámky

Vrátí pár iterátorů. Počáteční iterátor i je efektivní výsledek:

std::search( first, last, pat_first, pat_last, pred ).

Druhý iterátor dvojice je poslední, pokud je i* poslední. V opačném případě se jedná o efektivní výsledek:

std::next( i, std::distance( pat_first, pat_last )).

Tato třída je v jazyce C++17 nová. C++20 provedl operátor constexprvolání .

Viz také

<Funkční>
funkce algoritmů
std::search