Namespaces
Variants

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

From 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 Zeichenfolge entspricht.

1) Findet das erste Vorkommen eines beliebigen Zeichens aus v in dieser Ansicht, beginnend an Position pos .
2) Entspricht find_first_of ( basic_string_view ( std:: addressof ( ch ) , 1 ) , pos ) .
3) Entspricht find_first_of ( basic_string_view ( s, count ) , pos ) .
4) Entspricht find_first_of ( basic_string_view ( s ) , pos ) .

Inhaltsverzeichnis

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> )