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_to
hodnota .
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 constexpr
volání .