klasa default_searcher
A default_searcher
to typ obiektu funkcji dla operacji, które wyszukują sekwencję określoną w konstruktorze obiektu. Wyszukiwanie odbywa się w innej sekwencji udostępnionej operatorowi wywołania funkcji obiektu. Polecenie default_searcher
wywołuje funkcję std::search w celu wykonania wyszukiwania.
Składnia
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;
};
Elementy członkowskie
Element członkowski | opis |
---|---|
Konstruktor | |
default_searcher | Konstruuje wystąpienie wyszukiwania. |
Operatory | |
operator() | Wywołuje operację w sekwencji. |
konstruktor default_searcher
default_searcher
Tworzy obiekt funkcji przy użyciu sekwencji do wyszukiwania i predykatu równości.
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());
Parametry
pat_first
Początkowy element sekwencji do wyszukania.
pat_last
Koniec sekwencji do wyszukania.
pred
Opcjonalny predykat porównania równości dla elementów sekwencji. Jeśli typ porównania równości nie jest określony, wartość domyślna to std::equal_to
.
Uwagi
Zgłasza wszelkie wyjątki zgłaszane przez konstruktor kopii typów BinaryPredicate lub ForwardIterator .
Ta klasa jest nowa w języku C++17. Język C++20 wykonał konstruktor constexpr
.
operator()
Operator wywołania operatora funkcji. Wyszukuje w sekwencji argumentów dla sekwencji [first, last)
określonej dla konstruktora.
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;
Parametry
pierwszy
Początkowy element sekwencji do wyszukania.
ostatni
Koniec sekwencji do wyszukania.
Uwagi
Zwraca parę iteratorów. Początkowy iterator i jest skutecznym wynikiem:
std::search( first, last, pat_first, pat_last, pred )
.
Drugi iterator pary jest ostatni , jeśli i* jest ostatni. W przeciwnym razie jest to skuteczny wynik:
std::next( i, std::distance( pat_first, pat_last ))
.
Ta klasa jest nowa w języku C++17. Język C++20 wykonał operator constexpr
wywołania .