Skip to content

Latest commit

 

History

History
82 lines (63 loc) · 1.96 KB

contains.md

File metadata and controls

82 lines (63 loc) · 1.96 KB

contains

  • string[meta header]
  • std[meta namespace]
  • basic_string[meta class]
  • function[meta id-type]
  • cpp23[meta cpp]
constexpr bool contains(basic_string_view<charT, traits> x) const noexcept; // (1) C++23
constexpr bool contains(charT x) const noexcept;                            // (2) C++23
constexpr bool contains(const charT* x) const;                              // (3) C++23
  • basic_string_view[link /reference/string_view/basic_string_view.md]

概要

指定の文字・文字列が含まれているかを判定する。

  • (1) : *thisが保持する文字列に、xが参照する文字列範囲を含んでいるかを判定する
  • (2) : *thisが保持する文字列に、文字xが含まれているかを判定する
  • (3) : *thisが保持する文字列に、文字列xが含まれているかを判定する

この関数は、find(x) != nposの代わりに使用できる。

戻り値

  • 以下と等価である
    return basic_string_view<charT, traits>(data(), size()).contains(x);
    • basic_string_view[link /reference/string_view/basic_string_view.md]
    • contains[link /reference/string_view/basic_string_view/contains.md]
    • data()[link data.md]
    • size()[link size.md]

例外

  • (1), (2) : 投げない

#include <cassert>
#include <string>

int main() {
  std::string s = "Hello World";

  // (1)
  {
    std::string_view target = "rl";
    assert(s.contains(target));
  }

  // (2)
  {
    assert(s.contains('W'));
  }

  // (3)
  {
    assert(s.contains("rl"));
  }
}
  • contains[color ff0000]

出力

バージョン

言語

  • C++23

処理系

参照