std::basic_string_view<CharT,Traits>::find_first_of
From cppreference.com
< cpp | string | basic string view
| constexpr size_type find_first_of( basic_string_view v, size_type pos = 0 ) const noexcept; |
(1) | (C++17以降) |
| constexpr size_type find_first_of( CharT ch, size_type pos = 0 ) const noexcept; |
(2) | (C++17以降) |
| constexpr size_type find_first_of( const CharT* s, size_type pos, size_type count ) const; |
(3) | (C++17以降) |
| constexpr size_type find_first_of( const CharT* s, size_type pos = 0 ) const; |
(4) | (C++17以降) |
指定された文字シーケンスのいずれかの文字と一致する最初の文字を検索します。
1) このビュー内で、位置 pos から開始して、v のいずれかの文字の最初の出現箇所を検索します。
2) find_first_of(basic_string_view(std::addressof(ch), 1), pos) と同等です。
3) find_first_of(basic_string_view(s, count), pos) と同等です。
4) find_first_of(basic_string_view(s), pos) と同等です。
目次 |
[編集] パラメータ
| v | - | 検索対象のビュー |
| pos | - | 検索を開始する位置 |
| count | - | 検索対象の文字文字列の長さ |
| s | - | 検索対象の文字文字列へのポインタ |
| 文字 | - | 検索する文字 |
[編集] 戻り値
部分文字列のいずれかの文字の最初の出現箇所の位置。そのような文字が見つからなかった場合は npos。
[編集] 計算量
[編集] 例
このコードを実行
#include <string_view> using namespace std::literals; constexpr auto N = std::string_view::npos; constexpr bool is_white_space(const char c) { return " \t\n\f\r\v"sv.find_first_of(c) != N; }; static_assert( 1 == "alignas"sv.find_first_of("klmn"sv) && // └─────────────────────────┘ N == "alignof"sv.find_first_of("wxyz"sv) && // 3 == "concept"sv.find_first_of("bcde"sv, /* pos= */ 1) && // └───────────────────────┘ N == "consteval"sv.find_first_of("oxyz"sv, /* pos= */ 2) && // 6 == "constexpr"sv.find_first_of('x') && // └─────────────────────┘ N == "constinit"sv.find_first_of('x') && // 6 == "const_cast"sv.find_first_of('c', /* pos= */ 4) && // └──────────────────────┘ N == "continue"sv.find_first_of('c', /* pos= */ 42) && // 5 == "co_await"sv.find_first_of("cba", /* pos= */ 4) && // └───────────────────────┘ 7 == "decltype"sv.find_first_of("def", /* pos= */ 2, /* count= */ 2) && // └────────────────────┘ N == "decltype"sv.find_first_of("def", /* pos= */ 2, /* count= */ 1) && // is_white_space(' ') && is_white_space('\r') && !is_white_space('\a') ); int main() {}
[編集] 関連項目
| ビュー内の文字を検索する (public member function) | |
| 部分文字列が最後に現れる位置を見つける (public member function) | |
| 文字が最後に現れる位置を見つける (public member function) | |
| 文字が最初に現れない位置を見つける (public member function) | |
| 文字が最後に現れない位置を見つける (public member function) | |
| 文字が最初に現れる位置を見つける ( std::basic_string<CharT,Traits,Allocator> の public メンバ関数) |