constexpr bool contains(basic_string_view 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
概要
指定の文字・文字列が含まれているかを判定する。
- (1) :
*this
が参照する文字列範囲に、x
が参照する文字列範囲を含んでいるかを判定する - (2) :
*this
が参照する文字列範囲に、文字x
が含まれているかを判定する - (3) :
*this
が参照する文字列範囲に、文字列x
が含まれているかを判定する
この関数は、find(x) != npos
の代わりに使用できる。
戻り値
- 以下と等価である
return find(x) != npos;
例外
- (1), (2) : 投げない
例
#include <cassert>
#include <string_view>
int main() {
std::string_view sv = "Hello World";
// (1)
{
std::string_view target = "rl";
assert(sv.contains(target));
}
// (2)
{
assert(sv.contains('W'));
}
// (3)
{
assert(sv.contains("rl"));
}
}
xxxxxxxxxx
#include <cassert>
#include <string_view>
int main() {
std::string_view sv = "Hello World";
// (1)
{
std::string_view target = "rl";
assert(sv.contains(target));
}
// (2)
{
assert(sv.contains('W'));
}
// (3)
{
assert(sv.contains("rl"));
}
}
出力
バージョン
言語
- C++20
処理系
- Clang: 12.0 ✅
- GCC:
- Visual C++: ??