Classe default_searcher
Un default_searcher
è un tipo di oggetto funzione per le operazioni che cercano una sequenza specificata nel costruttore dell'oggetto. La ricerca viene eseguita all'interno di un'altra sequenza fornita all'operatore di chiamata di funzione dell'oggetto. default_searcher
richiama std::search per eseguire la ricerca.
Sintassi
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;
};
Membri
Membro | Descrizione |
---|---|
Costruttore | |
default_searcher | Costruisce un'istanza del searcher. |
Operatori | |
operator() | Richiama l'operazione sulla sequenza. |
Costruttore default_searcher
Costruisce un default_searcher
oggetto funzione usando la sequenza per cercare e un predicato di uguaglianza.
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());
Parametri
pat_first
Elemento iniziale della sequenza da cercare.
pat_last
Fine della sequenza da cercare.
Pred
Predicato di confronto di uguaglianza facoltativo per gli elementi della sequenza. Se non viene specificato un tipo di confronto di uguaglianza, il valore predefinito è std::equal_to
.
Osservazioni:
Genera qualsiasi eccezione generata dal costruttore di copia dei tipi BinaryPredicate o ForwardIterator .
Questa classe è una novità di C++17. C++20 ha reso il costruttore constexpr
.
operator()
Operatore di chiamata dell'operatore function. Cerca nella sequenza di argomenti la sequenza [first, last)
specificata nel costruttore.
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;
Parametri
first
Elemento iniziale della sequenza in cui eseguire la ricerca.
last
Fine della sequenza in cui eseguire la ricerca.
Osservazioni:
Restituisce una coppia di iteratori. L'iteratore iniziale i è il risultato effettivo di:
std::search( first, last, pat_first, pat_last, pred )
.
Il secondo iteratore della coppia è l'ultimo se i* è l'ultimo. In caso contrario, è il risultato effettivo di:
std::next( i, std::distance( pat_first, pat_last ))
.
Questa classe è una novità di C++17. C++20 ha eseguito l'operatore constexpr
di chiamata .
Vedi anche
<functional>
Funzioni algorithm
std::search