Namespaces
Variants

std::experimental:: default_searcher, std::experimental:: make_default_searcher

From fr.cppreference.net
Défini dans l'en-tête <experimental/functional>
template < class ForwardIterator1, class BinaryPredicate = std:: equal_to <> >
class default_searcher ;
(library fundamentals TS)

Une classe adaptée à une utilisation avec std::experimental::search qui délègue l'opération de recherche à la fonction std::search de la bibliothèque standard.

default_searcher est CopyConstructible et CopyAssignable .

Sommaire

Fonctions membres

std::experimental::default_searcher:: default_searcher

default_searcher ( ForwardIterator pat_first,

ForwardIterator pat_last,

BinaryPredicate pred = BinaryPredicate ( ) ) ;

Construit un default_searcher en stockant des copies de pat_first , pat_last , et pred .

Paramètres

pat_first, pat_last - une paire d'itérateurs désignant la chaîne à rechercher
pred - un objet appelable utilisé pour déterminer l'égalité

Exceptions

Toutes les exceptions levées par les constructeurs de copie de BinaryPredicate ou ForwardIterator .

std::experimental::default_searcher::operator()

template< class ForwardIterator2 >
ForwardIterator2 operator()( ForwardIterator2 first, ForwardIterator2 last ) const;
(jusqu'à C++17)
template< class ForwardIterator2 >
std::pair<ForwardIterator2, ForwardIterator2>
    operator()( ForwardIterator2 first, ForwardIterator2 last ) const;
(depuis C++17)

La fonction membre appelée par std::experimental::search pour effectuer une recherche avec ce chercheur.

Équivalent à std::search(first, last, pat_first, pat_last, pred);.

(jusqu'à C++17)

Retourne une paire d'itérateurs i, j, où i est std::search(first, last, pat_first, pat_last, pred) et j est std::next(i, std::distance(pat_first, pat_last)) sauf si std::search a retourné last (aucune correspondance), auquel cas j est également égal à last.

(jusqu'à C++17)

Paramètres

first, last - une paire d'itérateurs désignant la chaîne à examiner

Valeur de retour

Itérateur vers la première position dans [ first , last ) où une sous-séquence qui compare égale à [ pat_first , pat_last ) telle que définie par pred est localisée, ou une copie de last sinon.

(jusqu'à C++17)

Une paire d'itérateurs vers les première et dernière positions (dernière exclue) dans [ first , last ) où une sous-séquence qui compare égale à [ pat_first , pat_last ) telle que définie par pred est localisée, ou une paire de copies de last sinon.

(depuis C++17)

Fonctions Auxiliaires

template < class ForwardIterator, class BinaryPredicate = std:: equal_to <> >

default_searcher < ForwardIterator, BinaryPredicate > make_default_searcher (
ForwardIterator pat_first,
ForwardIterator pat_last,

BinaryPredicate pred = BinaryPredicate ( ) ) ;
(bibliothèque fundamentals TS)

Fonction d'aide qui construit un std::experimental::default_searcher en utilisant la déduction d'arguments template. Équivalent à return default_searcher < ForwardIterator, BinaryPredicate > ( pat_first, pat_last, pred ) ;

Paramètres

pat_first, pat_last - une paire d'itérateurs désignant la chaîne à rechercher
pred - un objet appelable utilisé pour déterminer l'égalité

Valeur de retour

Un default_searcher construit avec les arguments pat_first , pat_last , pred .

Exemple

#include <experimental/algorithm>
#include <experimental/functional>
#include <iostream>
#include <string>
int main()
{
    std::string in = "Lorem ipsum dolor sit amet, consectetur adipiscing elit,"
                     " sed do eiusmod tempor incididunt ut labore et dolore magna aliqua";
    std::string needle = "pisci";
    auto it = std::experimental::search(in.begin(), in.end(),
                  std::experimental::make_default_searcher(
                      needle.begin(), needle.end()));
    if (it != in.end())
        std::cout << "The string " << needle << " found at offset "
                  << it - in.begin() << '\n';
    else
        std::cout << "The string " << needle << " not found\n";
}

Sortie :

The string pisci found at offset 43

Voir aussi

recherche la première occurrence d'une plage d'éléments
(modèle de fonction & objet fonction d'algorithme)