Namespaces
Variants

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

From 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 .

Table des matières

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)