Bagikan melalui


kelas boyer_moore_horspool_searcher

Kelas boyer_moore_horspool_searcher adalah jenis objek fungsi yang menggunakan algoritma Boyer-Moore-Horspool untuk mencari urutan yang ditentukan dalam konstruktor objek. Pencarian dilakukan dalam urutan lain yang disediakan untuk operator panggilan fungsi objek. Kelas ini diteruskan sebagai parameter ke salah satu kelebihan beban std::search.

Sintaks

template <
    class RandomAccessIterator,
    class Hash = hash<typename iterator_traits<RandomAccessIterator>::value_type>,
    class BinaryPredicate = equal_to<>>
class boyer_moore_horspool_searcher
{
    boyer_moore_horspool_searcher(
        RandomAccessIterator pat_first,
        RandomAccessIterator pat_last,
        Hash hf = Hash(),
        BinaryPredicate pred = BinaryPredicate());

    template <class RandomAccessIterator2>
    pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
        RandomAccessIterator2 first,
        RandomAccessIterator2 last) const;
};

Anggota

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

konstruktor boyer_moore_horspool_searcher

Membangun boyer_moore_horspool_searcher objek fungsi dengan menggunakan urutan untuk mencari, objek fungsi hash, dan predikat kesetaraan.

boyer_moore_horspool_searcher(
    RandomAccessIterator pat_first,
    RandomAccessIterator pat_last,
    Hash hf = Hash(),
    BinaryPredicate pred = BinaryPredicate());

Parameter

pat_first
Elemen awal urutan yang akan dicari.

pat_last
Akhir urutan yang akan dicari.

Hf
Objek yang dapat dipanggil, digunakan untuk hash elemen urutan.

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, Hash, atau RandomAccessIterator , atau operator panggilan BinaryPredicate atau Hash.

Kelas ini baru di C++17.

operator()

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

template <class ForwardIterator2>   // C++17
pair<RandomAccessIterator2, RandomAccessIterator2> operator()(
    RandomAccessIterator2 first,
    RandomAccessIterator2 last) const;

Parameter

first
Elemen awal urutan untuk dicari di dalamnya.

last
Akhir urutan untuk mencari di dalamnya.

Keterangan

Jika pola [pat_first, pat_last) pencarian kosong, mengembalikan make_pair(first, first). Jika pola pencarian tidak ditemukan, mengembalikan make_pair(last, last). Jika tidak, mengembalikan sepasang iterator ke awal dan akhir urutan yang [first, last) sama dengan predikat predisi.[pat_first, pat_last)

Kelas ini baru di C++17.

Lihat juga

<Fungsional>
fungsi algoritma
kelas boyer_moore_searcher
std::search