Bagikan melalui


Kelas default_searcher

default_searcher adalah jenis objek fungsi untuk operasi yang mencari urutan yang ditentukan dalam konstruktor objek. Pencarian dilakukan dalam urutan lain yang disediakan untuk operator panggilan fungsi objek. Memanggil default_searcher std::search untuk melakukan pencarian.

Sintaks

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

Anggota

Anggota Deskripsi
Pembangun
default_searcher Membuat instans pencari.
Operator
operator() Memanggil operasi pada urutan.

konstruktor default_searcher

Membangun default_searcher objek fungsi dengan menggunakan urutan untuk mencari dan predikat kesetaraan.

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());

Parameter

pat_first
Elemen awal urutan yang akan dicari.

pat_last
Akhir urutan yang akan dicari.

pred
Predikat perbandingan kesetaraan opsional untuk elemen urutan. Jika jenis perbandingan kesetaraan tidak ditentukan, defaultnya adalah std::equal_to.

Keterangan

Melemparkan pengecualian apa pun yang dilemparkan oleh konstruktor salinan jenis BinaryPredicate atau ForwardIterator .

Kelas ini baru di C++17. C++20 membuat konstruktor constexpr.

operator()

Operator panggilan operator fungsi. Pencarian dalam urutan [first, last) argumen untuk urutan yang ditentukan ke konstruktor.

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;

Parameter

first
Elemen awal urutan untuk dicari di dalamnya.

last
Akhir urutan untuk mencari di dalamnya.

Keterangan

Mengembalikan sepasang iterator. Iterator awal i adalah hasil yang efektif dari:

std::search( first, last, pat_first, pat_last, pred ).

Iterator kedua pasangan terakhir jika i* terakhir. Jika tidak, ini adalah hasil yang efektif dari:

std::next( i, std::distance( pat_first, pat_last )).

Kelas ini baru di C++17. C++20 membuat operator constexprpanggilan .

Lihat juga

<Fungsional>
fungsi algoritma
std::search