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
を作成しました。