classe default_searcher
A default_searcher
est un type d’objet de fonction pour les opérations qui recherchent une séquence spécifiée dans le constructeur de l’objet. La recherche est effectuée dans une autre séquence fournie à l’opérateur d’appel de fonction de l’objet. Appelle default_searcher
std ::search pour effectuer la recherche.
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;
};
Membres
Membre | Description |
---|---|
Constructeur | |
default_searcher | Construit une instance de l’analyseur de recherche. |
Opérateurs | |
operator() | Appelle l’opération sur la séquence. |
constructeur default_searcher
Construit un default_searcher
objet de fonction à l’aide de la séquence pour rechercher et un prédicat d’égalité.
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());
Paramètres
pat_first
Élément initial de la séquence à rechercher.
pat_last
Fin de la séquence à rechercher.
Pred
Prédicat de comparaison d’égalité facultatif pour les éléments de séquence. Si aucun type de comparaison d’égalité n’est spécifié, la valeur par défaut est std::equal_to
.
Notes
Lève toute exception levée par le constructeur de copie des types BinaryPredicate ou ForwardIterator .
Cette classe est nouvelle en C++17. C++20 a rendu le constructeur constexpr
.
operator()
Opérateur d’appel de l’opérateur de fonction. Recherche dans la séquence [first, last)
d’arguments la séquence spécifiée au constructeur.
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;
Paramètres
first
Élément initial de la séquence à rechercher.
last
Fin de la séquence à rechercher.
Notes
Retourne une paire d'itérateurs. L’itérateur initial i est le résultat effectif de :
std::search( first, last, pat_first, pat_last, pred )
.
Le deuxième itérateur de la paire est le dernier si i* est le dernier. Sinon, il s’agit du résultat effectif de :
std::next( i, std::distance( pat_first, pat_last ))
.
Cette classe est nouvelle en C++17. C++20 a effectué l’opérateur d’appel constexpr
.
Voir aussi
<functional>
algorithm, fonctions
std ::search