Namespaces
Variants

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

Von de.cppreference.net
 
 
 
 
constexpr size_type
    find_first_of( basic_string_view v, size_type pos = 0 ) const noexcept;
(1) (seit C++17)
constexpr size_type
    find_first_of( CharT ch, size_type pos = 0 ) const noexcept;
(2) (seit C++17)
constexpr size_type
    find_first_of( const CharT* s, size_type pos, size_type count ) const;
(3) (seit C++17)
constexpr size_type
    find_first_of( const CharT* s, size_type pos = 0 ) const;
(4) (seit C++17)

Findet das erste Zeichen, das einem der Zeichen in der gegebenen Zeichensequenz entspricht.

1) Findet das erste Vorkommen eines der Zeichen von v in dieser Ansicht, beginnend an der Position pos.
2) Äquivalent zu find_first_of(basic_string_view(std::addressof(ch), 1), pos).
3) Äquivalent zu find_first_of(basic_string_view(s, count), pos).
4) Äquivalent zu find_first_of(basic_string_view(s), pos).

Parameter

v - Ansicht, nach der gesucht werden soll
pos - Position, an der die Suche beginnen soll
count - Länge der Zeichenkette, nach der gesucht werden soll
s - Zeiger auf eine Zeichenkette, nach der gesucht werden soll
ch - Zeichen, nach dem gesucht werden soll

Rückgabewert

Position des ersten Vorkommens eines beliebigen Zeichens der Teilzeichenkette, oder npos falls kein solches Zeichen gefunden wurde.

Komplexität

O( size() * v. size() ) im schlimmsten Fall.

Beispiel

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

Siehe auch

Zeichen in der Ansicht suchen
(öffentliche Elementfunktion)
letztes Vorkommen einer Teilzeichenfolge finden
(öffentliche Elementfunktion)
letztes Vorkommen von Zeichen finden
(öffentliche Elementfunktion)
erste Abwesenheit von Zeichen finden
(öffentliche Elementfunktion)
letzte Abwesenheit von Zeichen finden
(öffentliche Elementfunktion)
erstes Vorkommen von Zeichen finden
(öffentliche Elementfunktion von std::basic_string<CharT,Traits,Allocator> )