Partage via


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