Udostępnij za pośrednictwem


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;
};

Członkowie

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

Pierwszym
Początkowy element sekwencji do wyszukania.

Ostatnio
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 constexprwywołania .

Zobacz też

<Funkcjonalne>
funkcje algorytmu
std::search