Teilen über


default_searcher Klasse

A default_searcher ist ein Funktionsobjekttyp für Vorgänge, die nach einer sequenz suchen, die im Konstruktor des Objekts angegeben ist. Die Suche erfolgt innerhalb einer anderen Sequenz, die dem Funktionsaufrufoperator des Objekts bereitgestellt wird. Die default_searcher aufruft "std::search ", um die Suche auszuführen.

Syntax

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

Member

Member Beschreibung
Konstruktor
default_searcher Erstellt eine Suchinstanz.
Operatoren
operator() Ruft den Vorgang für die Sequenz auf.

default_searcher-Konstruktor

Erstellt ein default_searcher Funktionsobjekt mithilfe der Sequenz, nach der gesucht wird, und ein Gleichheits-Prädikat.

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

Parameter

pat_first
Das anfängliche Element der Sequenz, nach der gesucht werden soll.

pat_last
Das Ende der Sequenz, nach der gesucht werden soll.

Pred
Das optionale Gleichheitsvergleichs-Prädikat für Sequenzelemente. Wenn kein Gleichheitsvergleichstyp angegeben ist, ist std::equal_todie Standardeinstellung .

Hinweise

Löst eine Ausnahme aus, die vom Kopierkonstruktor der Typen BinaryPredicate oder ForwardIterator ausgelöst wird.

Diese Klasse ist neu in C++17. C++20 hat den Konstruktor constexprerstellt.

Operator()

Der Aufrufoperator des Funktionsoperators. Sucht innerhalb der Argumentsequenz [first, last) nach der sequenz, die für den Konstruktor angegeben ist.

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;

Parameter

first
Das anfängliche Element der Sequenz, in der gesucht werden soll.

last
Das Ende der Sequenz, in der gesucht werden soll.

Hinweise

Gibt ein Paar von Iteratoren zurück. Der anfängliche Iterator i ist das effektive Ergebnis von:

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

Der zweite Iterator des Paares ist zuletzt, wenn i* zuletzt ist. Andernfalls ist dies das effektive Ergebnis von:

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

Diese Klasse ist neu in C++17. C++20 hat den Aufrufoperator constexprausgeführt.

Siehe auch

<functional>
Algorithmusfunktionen
std::search