Namespaces
Variants

std::default_searcher

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
Objets fonctions
Invocation de fonction
(C++17)(C++23)
Objet fonction identité
(C++20)
Encapsuleurs d'opérateurs transparents
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

Anciens binders et adaptateurs
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)
(jusqu'à C++17*)  
(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)

(jusqu'à C++17*)
(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)(jusqu'à C++17*)
(jusqu'à C++20*)
(jusqu'à C++20*)
 
Défini dans l'en-tête <functional>
template< class ForwardIt, class BinaryPredicate = std::equal_to<> >
class default_searcher;
(depuis C++17)

Une classe adaptée à une utilisation avec la surcharge Searcher de std::search qui délègue l'opération de recherche à la fonction std::search de la bibliothèque standard pré-C++17.

std::default_searcher est CopyConstructible et CopyAssignable.

Fonctions membres

std::default_searcher:: default_searcher

default_searcher ( ForwardIt pat_first,

ForwardIt pat_last,

BinaryPredicate pred = BinaryPredicate ( ) ) ;
(depuis C++17)
(constexpr depuis C++20)

Construit un std::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 ForwardIt .

std::default_searcher:: operator()

template < class ForwardIt2 >

std:: pair < ForwardIt2, ForwardIt2 >

operator ( ) ( ForwardIt2 first, ForwardIt2 last ) const ;
(depuis C++17)
(constexpr depuis C++20)

Fonction membre appelée par la surcharge Searcher de std::search pour effectuer une recherche avec ce chercheur.

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 .

Paramètres

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

Valeur de retour

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

Exemple

#include <algorithm>
#include <functional>
#include <iomanip>
#include <iostream>
#include <string_view>
int main()
{
    constexpr std::string_view in =
        "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed "
        "do eiusmod tempor incididunt ut labore et dolore magna aliqua";
    const std::string_view needle{"pisci"};
    auto it = std::search(in.begin(), in.end(),
                  std::default_searcher(
                      needle.begin(), needle.end()));
    if (it != in.end())
        std::cout << "The string " << std::quoted(needle) << " found at offset "
                  << it - in.begin() << '\n';
    else
        std::cout << "The string " << std::quoted(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)
Implémentation de l'algorithme de recherche Boyer-Moore
(modèle de classe)
Implémentation de l'algorithme de recherche Boyer-Moore-Horspool
(modèle de classe)