Skip to content

Latest commit

 

History

History
83 lines (63 loc) · 2.09 KB

File metadata and controls

83 lines (63 loc) · 2.09 KB

コンストラクタ

  • functional[meta header]
  • std[meta namespace]
  • default_searcher[meta class]
  • function[meta id-type]
  • cpp17[meta cpp]
default_searcher(ForwardIterator1 pat_first,
                 ForwardIterator1 pat_last,
                 BinaryPredicate pred = BinaryPredicate()); // (1) C++17
constexpr default_searcher(
                 ForwardIterator1 pat_first,
                 ForwardIterator1 pat_last,
                 BinaryPredicate pred = BinaryPredicate()); // (1) C++20

default_searcher(const default_searcher& other) = default;  // (2) C++17
default_searcher(default_searcher&& other) = default;       // (3) C++17

概要

default_searcherオブジェクトを構築する。

このクラスにデフォルトコンストラクタは定義されない。

  • (1) : 検索対象 (pattern) のイテレータ範囲[pat_first, pat_last)を登録する
  • (2) : コピーコンストラクタ
  • (3) : ムーブコンストラクタ

効果

  • (1) : 渡されたパラメータをメンバ変数として保持する

例外

  • (1) : ForwardIterator1BinaryPredicateのコピーコンストラクタが、任意の例外を送出する可能性がある

#include <string>
#include <functional>
#include <utility>

int main()
{
  // text内のpatternを検索する
  std::string text = "babcabaabaac";
  std::string pattern = "abaa";

  // (1) patternを登録
  std::default_searcher a {
    pattern.cbegin(),
    pattern.cend()
  };

  // (2) コピーコンストラクタ
  auto b = a;

  // (3) ムーブコンストラクタ
  auto c = std::move(b);
}
  • pattern.cbegin()[link /reference/string/basic_string/cbegin.md]
  • pattern.cend()[link /reference/string/basic_string/cend.md]
  • std::move[link /reference/utility/move.md]

出力

バージョン

言語

  • C++17

処理系

参照