Aracılığıyla paylaş


boyer_moore_horspool_searcher sınıfı

boyer_moore_horspool_searcher sınıfı, nesnenin oluşturucusunda belirtilen bir diziyi aramak için Boyer-Moore-Horspool algoritmasını kullanan bir işlev nesnesi türüdür. Arama, nesnenin işlev çağrısı işlecine sağlanan başka bir dizi içinde yapılır. Bu sınıf, std::search aşırı yüklemelerinden birine parametre olarak geçirilir.

Sözdizimi

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

Üyeler

Üye Tanım
Oluşturucu
boyer_moore_horspool_searcher Bir arama örneği oluşturur.
İşleçler
operator() dizisinde işlemi çağırır.

boyer_moore_horspool_searcher oluşturucu

boyer_moore_horspool_searcher Aramak için dizisini, bir karma işlev nesnesini ve bir eşitlik koşulunu kullanarak bir işlev nesnesi oluşturur.

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

Parametreler

pat_first
Aranacak dizinin ilk öğesi.

pat_last
Aranacak sıranın sonu.

Hf
Sıra öğelerini karma olarak kullanmak için kullanılan çağrılabilen bir nesne.

Pred
Sıra öğeleri için isteğe bağlı eşitlik karşılaştırma koşulu. Eşitlik karşılaştırma türü belirtilmezse, varsayılan değer olur std::equal_to.

Açıklamalar

BinaryPredicate, Hash veya RandomAccessIterator türlerinin kopya oluşturucusu ya da BinaryPredicate veya Hash çağrı işleci tarafından oluşan özel durumları oluşturur.

Bu sınıf C++17 sürümünde yenidir.

operator()

İşlev nesnesinin çağrı işleci. Oluşturucuya belirtilen dizi için bağımsız değişken dizisi [first, last) içinde aramalar.

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

Parametreler

Ilk
İçinde aranacak dizinin ilk öğesi.

Son
İçinde aranacak sıranın sonu.

Açıklamalar

Arama düzeni [pat_first, pat_last) boşsa döndürür make_pair(first, first). Arama deseni bulunamazsa döndürür make_pair(last, last). Aksi takdirde, koşula göre eşit [pat_first, pat_last) olan dizinin başına ve sonuna bir [first, last) çift yineleyici döndürür.

Bu sınıf C++17 sürümünde yenidir.

Ayrıca bkz.

<Işlevsel>
algoritma işlevleri
boyer_moore_searcher sınıfı
std::search