次の方法で共有


default_searcher クラス

default_searcher は、オブジェクトのコンストラクターで指定されたシーケンスを検索する操作の関数オブジェクト型です。 検索は、オブジェクトの関数呼び出し演算子に提供される別のシーケンス内で実行されます。 default_searcher は、std::search を呼び出して検索を実行します。

構文

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

メンバー

メンバー 説明
コンストラクター
default_searcher サーチャー インスタンスを構築します。
オペレーター
operator() シーケンスに対して操作を呼び出します。

default_searcher コンストラクター

default_searcher 関数オブジェクトを、検索するシーケンスと等値述語を使用して構築します。

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

パラメーター

pat_first
検索するシーケンスの最初の要素。

pat_last
検索するシーケンスの末尾。

pred
シーケンス要素の省略可能な等値比較述語。 等値比較型が指定されていない場合、既定値は std::equal_to になります。

解説

BinaryPredicate 型または ForwardIterator 型のコピー コンストラクターによってスローされた例外をスローします。

このクラスは、C++ 17 で新しく追加されたものです。 C++ 20 によってコンストラクター constexpr が作成されました。

operator()

関数演算子の呼び出し演算子。 引数シーケンス [first, last) 内で、コンストラクターに指定されたシーケンスを検索します。

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;

パラメーター

first
検索範囲内のシーケンスの最初の要素。

last
検索範囲内のシーケンスの末尾。

解説

反復子のペアを返します。 最初の反復子 i は、次のような結果になります。

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

ペアの 2 番目の反復子は、i* が last の場合、last です。 それ以外の場合は、次のような結果になります。

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

このクラスは、C++ 17 で新しく追加されたものです。 C++ 20 は呼び出し演算子 constexpr を作成しました。

関連項目

<functional>
algorithm 関数
std::search