Namespaces
Variants

std::basic_string_view<CharT,Traits>::find_first_of

Depuis fr.cppreference.net
 
 
 
std::basic_string_view
 
constexpr size_type
    find_first_of( basic_string_view v, size_type pos = 0 ) const noexcept;
(1) (depuis C++17)
constexpr size_type
    find_first_of( CharT ch, size_type pos = 0 ) const noexcept;
(2) (depuis C++17)
constexpr size_type
    find_first_of( const CharT* s, size_type pos, size_type count ) const;
(3) (depuis C++17)
constexpr size_type
    find_first_of( const CharT* s, size_type pos = 0 ) const;
(4) (depuis C++17)

Recherche le premier caractère égal à l'un des caractères de la séquence de caractères donnée.

1) Recherche la première occurrence de l'un des caractères de v dans cette vue, en commençant à la position pos.
2) Équivalent à find_first_of(basic_string_view(std::addressof(ch), 1), pos).
3) Équivalent à find_first_of(basic_string_view(s, count), pos).
4) Équivalent à find_first_of(basic_string_view(s), pos).

Paramètres

v - vue à rechercher
pos - position à laquelle commencer la recherche
count - longueur de la chaîne de caractères à rechercher
s - pointeur vers une chaîne de caractères à rechercher
ch - caractère à rechercher

Valeur de retour

Position de la première occurrence d'un caractère quelconque de la sous-chaîne, ou npos si aucun caractère correspondant n'est trouvé.

Complexité

O( size() * v. size() ) au pire.

Exemple

#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() {}

Voir aussi

rechercher des caractères dans la vue
(fonction membre publique)
rechercher la dernière occurrence d'une sous-chaîne
(fonction membre publique)
rechercher la dernière occurrence de caractères
(fonction membre publique)
rechercher la première absence de caractères
(fonction membre publique)
rechercher la dernière absence de caractères
(fonction membre publique)
rechercher la première occurrence de caractères
(fonction membre publique de std::basic_string<CharT,Traits,Allocator> )