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_to
die 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 constexpr
erstellt.
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 constexpr
ausgeführt.