std::basic_...w::contains(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

hii bestie πŸ’– welcome to std::basic_...w::contains(3) from the C++ Standard Libary manual. this page is literally the std::basic_string_view::contains glow-up, and it's giving "tiny utility that checks a substring" ✨

✨ NAME ✨

std::basic_string_view::contains - std::basic_string_view::contains

πŸ“œ Synopsis πŸ“œ

okay so here's the synopsis, bestie β€” three overloads, all since C++23, and I kept every character:

constexpr bool contains( basic_string_view sv ) const noexcept; (1)
(since C++23)
constexpr bool contains( CharT c ) const noexcept;              (2)
(since C++23)
constexpr bool contains( const CharT* s ) const;                (3)
(since C++23)

Checks if the string view contains the given substring, where:

  1. the substring is a string view.
  2. the substring is a single character.
  3. the substring is a null-terminated character string.

All three overloads are equivalent to return find(x) != npos;, where x is the parameter. periodt πŸ’…

🧸 Parameters 🧸

  • sv β€” a string view
  • c β€” a single character
  • s β€” a null-terminated character string

🎁 Return value 🎁

true if the string view contains the provided substring, false otherwise. no cap 🫢

πŸ“ Notes πŸ“

feature-test macro check, bestie πŸ•΅οΈβ€β™€οΈ:

  • Feature-test macro __cpp_lib_string_contains β€” Value 202011L β€” Std (C++23) β€” Feature contains functions

πŸ’» Example πŸ’»

run this code, it's a static_assert baddie and it slays:

// Run this code

#include <string_view>
using namespace std::literals;

static_assert
(
    // bool contains(basic_string_view x) const noexcept;
    "https://cppreference.com"sv.contains("cpp"sv) == true and
    "https://cppreference.com"sv.contains("php"sv) == false and

    // bool contains(CharT x) const noexcept;
    "C++23"sv.contains('+') == true and
    "C++23"sv.contains('-') == false and

    // bool contains(const CharT* x) const;
    std::string_view("basic_string_view").contains("string") == true
and
    std::string_view("basic_string_view").contains("String") == false
);

int main() {}

πŸ‘€ See also πŸ‘€

  • starts_with β€” checks if the string view starts with the given prefix (C++20) (public member function)
  • ends_with β€” checks if the string view ends with the given suffix (C++20) (public member function)
  • find β€” find characters in the view (public member function)
  • substr β€” returns a substring (public member function)
  • contains β€” checks if the string contains the given substring or character (C++23) (public member function of std::basic_string<CharT,Traits,Allocator>)

mwah πŸ’‹ that's the whole page β€” source/version http://cppreference.com, date 2024.06.10, and it's the std::basic_...w::contains(3) page. now go check your substrings, bestie 🫢

πŸ“¦ where this page comes from