std::basic_..._view::find(3)
π
std::basic_..._view::find(3) β C++ Standard Libary
okay so bestie, you're on the std::basic_string_view::find page from the C++ Standard Libary manual, section 3. this one is literally the search queen for string views. no cap, she finds the first substring equal to the given character sequence. π
β¨ NAME β¨
std::basic_string_view::find β std::basic_string_view::find
it's giving "same name, same energy" β this page is the find member of std::basic_string_view. π
πΈ Synopsis πΈ
okay so the synopsis has four overloads, all since C++17, and they all find the first substring equal to the given character sequence. periodt. β¨
constexpr size_type find( basic_string_view v, size_type pos = 0 ) const noexcept;
(1) (since C++17)
constexpr size_type find( CharT ch, size_type pos = 0 ) const noexcept;
(2) (since C++17)
constexpr size_type find( const CharT* s, size_type pos, size_type count ) const;
(3) (since C++17)
constexpr size_type find( const CharT* s, size_type pos = 0 ) const;
(4) (since C++17)
- finds the first occurence of
vin this view, starting at positionpos. - equivalent to
find(basic_string_view(std::addressof(ch), 1), pos). - equivalent to
find(basic_string_view(s, count), pos). - equivalent to
find(basic_string_view(s), pos).
π Parameters π
vβ view to search forposβ position at which to start the searchcountβ length of substring to search forsβ pointer to a character string to search forchβ character to search for
π Return value π
the position of the first character of the found substring, or npos if no such substring is found. that's it. if it's not there, npos is your answer. π
π¦ Complexity π¦
O(size() * v.size()) at worst. highkey not the fastest, but she's doing the work. π₯
π Example π
// Run this code
#include <string_view>
int main()
{
using namespace std::literals;
constexpr auto str{" long long int;"sv};
static_assert(
1 == str.find("long"sv) && "<- find(v , pos = 0)" &&
6 == str.find("long"sv, 2) && "<- find(v , pos = 2)" &&
0 == str.find(' ') && "<- find(ch, pos = 0)" &&
2 == str.find('o', 1) && "<- find(ch, pos = 1)" &&
2 == str.find("on") && "<- find(s , pos = 0)" &&
6 == str.find("long double", 5, 4) && "<- find(s , pos = 5,
count = 4)"
);
static_assert(str.npos == str.find("float"));
}
π See also π
rfindβ find the last occurrence of a substring (public member function)find_first_ofβ find first occurrence of characters (public member function)find_last_ofβ find last occurrence of characters (public member function)find_first_not_ofβ find first absence of characters (public member function)find_last_not_ofβ find last absence of characters (public member function)findβ finds the first occurrence of the given substring (public member function ofstd::basic_string<CharT,Traits,Allocator>)
mwah π bestie, that's the page. source: http://cppreference.com, version/date: 2024.06.10, page: std::basic_..._view::find(3). go find your substring, icon. π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms