std::experimental:: default_searcher, std::experimental:: make_default_searcher
|
ヘッダーで定義
<experimental/functional>
|
||
|
template
<
class
ForwardIterator1,
class
BinaryPredicate
=
std::
equal_to
<>
>
class default_searcher ; |
(ライブラリファンダメンタルTS) | |
std::experimental::search での使用に適したクラスで、検索操作を標準ライブラリの std::search に委譲します。
default_searcher
は
CopyConstructible
かつ
CopyAssignable
です。
目次 |
メンバー関数
std::experimental::default_searcher:: default_searcher
|
default_searcher
(
ForwardIterator pat_first,
ForwardIterator pat_last,
|
||
default_searcher
を構築し、
pat_first
、
pat_last
、および
pred
のコピーを格納します。
パラメータ
| 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 によって呼び出されるメンバ関数。
|
std:: search ( first, last, pat_first, pat_last, pred ) ; と等価。 |
(C++17まで) |
|
イテレータのペア
|
(C++17まで) |
パラメータ
| first, last | - | 検査対象の文字列を指定するイテレータのペア |
戻り値
|
|
(C++17まで) |
|
|
(C++17から) |
ヘルパー関数
|
template
<
class
ForwardIterator,
class
BinaryPredicate
=
std::
equal_to
<>
>
default_searcher
<
ForwardIterator, BinaryPredicate
>
make_default_searcher
(
|
(ライブラリファンダメンタルTS) | |
テンプレート引数推論を使用して
std::experimental::default_searcher
を構築するヘルパー関数。
return
default_searcher
<
ForwardIterator, BinaryPredicate
>
(
pat_first, pat_last, pred
)
;
と等価です。
パラメータ
| pat_first, pat_last | - | 検索対象の文字列を指定する一対のイテレータ |
| pred | - | 等価性を判定するために使用される呼び出し可能オブジェクト |
戻り値
default_searcher
は引数
pat_first
、
pat_last
、
pred
で構築されます。
例
#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
関連項目
|
要素の範囲の最初の出現を検索する
(関数テンプレート) |