Aracılığıyla paylaş


default_searcher Sınıfı

A default_searcher , nesnenin oluşturucusunda belirtilen bir diziyi arayan işlemler için 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. , default_searcher aramayı gerçekleştirmek için std::search öğesini çağırır.

Sözdizimi

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

Üyeler

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

default_searcher oluşturucu

default_searcher ve eşitlik koşulunu aramak için dizisini kullanarak bir işlev nesnesi oluşturur.

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

Parametreler

pat_first
Aranacak dizinin ilk öğesi.

pat_last
Aranacak sıranın sonu.

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 veya ForwardIterator türlerinin kopya oluşturucusu tarafından oluşan özel durumları oluşturur.

Bu sınıf C++17 sürümünde yenidir. C++20 oluşturucuyu constexpryaptı.

operator()

İşlev işlecinin ç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<ForwardIterator2, ForwardIterator2> operator()(
    ForwardIterator2 first,
    ForwardIterator2 last) const;

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

Parametreler

birinci
İçinde aranacak dizinin ilk öğesi.

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

Açıklamalar

Yineleyicilerin bir çiftini döndürür. i ilk yineleyici aşağıdakilerin etkili sonucudur:

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

Çiftin ikinci yineleyicisi, i* son ise son olur. Aksi takdirde, şu sonuçların etkili olması gerekir:

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

Bu sınıf C++17 sürümünde yenidir. C++20 çağrısı işlecini constexpryaptı.

Ayrıca bkz.

<fonksiyonel>
algoritma işlevleri
std::search