std::experimental::default_searcher, std::experimental::make_default_searcher
| ヘッダ <experimental/functional> で定義 |
||
| template< class ForwardIterator1, class BinaryPredicate = std::equal_to<> > class default_searcher; |
(Library Fundamentals TS) | |
std::experimental::searchと組み合わせて使用するのに適したクラスで、検索操作を標準ライブラリのstd::searchに委譲します。
default_searcherはCopyConstructibleおよびCopyAssignableです。
目次 |
[edit] メンバ関数
std::experimental::default_searcher::default_searcher
| default_searcher( ForwardIterator pat_first, ForwardIterator pat_last, |
||
pat_first、pat_last、predのコピーを格納して、default_searcherを構築します。
パラメータ
| pat_first, pat_last | - | 検索対象の文字列を指定するイテレータのペア |
| pred | - | 等価性を判断するために使用される呼び出し可能なオブジェクト |
例外
BinaryPredicateまたはForwardIteratorのコピーコンストラクタによってスローされる可能性のある例外。
std::experimental::default_searcher::operator()
| template< class ForwardIterator2 > ForwardIterator2 operator()( ForwardIterator2 first, ForwardIterator2 last ) const; |
(C++17まで) | |
| template< class ForwardIterator2 > std::pair<ForwardIterator2, ForwardIterator2> |
(C++17以降) | |
このセッチャーで検索を実行するためにstd::experimental::searchから呼び出されるメンバ関数。
|
|
(C++17まで) |
|
イテレータのペア |
(C++17まで) |
パラメータ
| first, last | - | 検査対象の文字列を指定するイテレータのペア |
戻り値
|
|
(C++17まで) |
|
|
(C++17以降) |
[edit] ヘルパー関数
| template< class ForwardIterator, class BinaryPredicate = std::equal_to<> > default_searcher<ForwardIterator, BinaryPredicate> make_default_searcher( |
(Library Fundamentals TS) | |
テンプレート引数推論を使用してstd::experimental::default_searcherを構築するヘルパー関数。return default_searcher<ForwardIterator, BinaryPredicate>(pat_first, pat_last, pred);と同等です。
[edit] パラメータ
| pat_first, pat_last | - | 検索対象の文字列を指定するイテレータのペア |
| pred | - | 等価性を判断するために使用される呼び出し可能なオブジェクト |
[edit] 戻り値
引数pat_first、pat_last、predで構築されたdefault_searcher。
[edit] 例
#include <experimental/algorithm> #include <experimental/functional> #include <iostream> #include <string> int main() { std::string in = "Lorem ipsum dolor sit amet, consectetur adipiscing elit," " sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"; std::string needle = "pisci"; auto it = std::experimental::search(in.begin(), in.end(), std::experimental::make_default_searcher( needle.begin(), needle.end())); if (it != in.end()) std::cout << "The string " << needle << " found at offset " << it - in.begin() << '\n'; else std::cout << "The string " << needle << " not found\n"; }
出力
The string pisci found at offset 43
[edit] 関連項目
| 要素の範囲の最初の出現を検索する (関数テンプレート) |