Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      Standard library header <string_view> (C++17)

      From cppreference.com
      <cpp‎ |header
       
       
      Standard library headers
       

      This header is part of thestrings library.

      Contents

      Includes

      (C++20)
      Three-way comparison operator support[edit]

      Classes

      read-only string view
      (class template)[edit]
      std::string_view(C++17)std::basic_string_view<char>
      std::u8string_view(C++20)std::basic_string_view<char8_t>
      std::u16string_view(C++17)std::basic_string_view<char16_t>
      std::u32string_view(C++17)std::basic_string_view<char32_t>
      std::wstring_view(C++17)std::basic_string_view<wchar_t>
      hash support for string views
      (class template specialization)[edit]
      Forward declarations
      Defined in header<functional>
      (C++11)
      hash function object
      (class template)[edit]

      Functions

      (C++17)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(removed in C++20)(C++20)
      lexicographically compares two string views
      (function template)[edit]
      (C++17)
      performs stream output on string views
      (function template)[edit]
      swaps the values of two objects
      (function template)[edit]
      Range access
      (C++11)(C++14)
      returns an iterator to the beginning of a container or array
      (function template)[edit]
      (C++11)(C++14)
      returns an iterator to the end of a container or array
      (function template)[edit]
      returns a reverse iterator to the beginning of a container or array
      (function template)[edit]
      (C++14)
      returns a reverse end iterator for a container or array
      (function template)[edit]
      (C++17)(C++20)
      returns the size of a container or array
      (function template)[edit]
      (C++17)
      checks whether the container is empty
      (function template)[edit]
      (C++17)
      obtains the pointer to the underlying array
      (function template)[edit]
      Literals
      Defined in inline namespacestd::literals::string_view_literals
      creates a string view of a character array literal
      (function)[edit]

      [edit]Synopsis

      #include <compare> namespace std{// class template basic_string_viewtemplate<class CharT,class Traits= char_traits<CharT>>class basic_string_view; template<class CharT,class Traits>inlineconstexprboolranges::enable_view<basic_string_view<CharT, Traits>>=true;template<class CharT,class Traits>inlineconstexprboolranges::enable_borrowed_range<basic_string_view<CharT, Traits>>=true; // non-member comparison functionstemplate<class CharT,class Traits>constexprbool operator==(basic_string_view<CharT, Traits> x,                              basic_string_view<CharT, Traits> y)noexcept;template<class CharT,class Traits>constexpr/* see description */      operator<=>(basic_string_view<CharT, Traits> x,                  basic_string_view<CharT, Traits> y)noexcept; // sufficient additional overloads of comparison functions // inserters and extractorstemplate<class CharT,class Traits>    basic_ostream<CharT, Traits>&      operator<<(basic_ostream<CharT, Traits>& os,                 basic_string_view<CharT, Traits> str); // basic_string_view typedef namesusing string_view= basic_string_view<char>;using u8string_view= basic_string_view<char8_t>;using u16string_view= basic_string_view<char16_t>;using u32string_view= basic_string_view<char32_t>;using wstring_view= basic_string_view<wchar_t>; // hash supporttemplate<class T>struct hash;template<>struct hash<string_view>;template<>struct hash<u8string_view>;template<>struct hash<u16string_view>;template<>struct hash<u32string_view>;template<>struct hash<wstring_view>; inlinenamespace literals{inlinenamespace string_view_literals{// suffix for basic_string_view literalsconstexpr string_view    operator""sv(constchar* str, size_t len)noexcept;constexpr u8string_view  operator""sv(const char8_t* str, size_t len)noexcept;constexpr u16string_view operator""sv(constchar16_t* str, size_t len)noexcept;constexpr u32string_view operator""sv(constchar32_t* str, size_t len)noexcept;constexpr wstring_view   operator""sv(constwchar_t* str, size_t len)noexcept;}}}

      [edit]Class templatestd::basic_string_view

      namespace std{template<class CharT,class Traits= char_traits<CharT>>class basic_string_view{public:// typesusing Traits_type= Traits;using value_type= CharT;using pointer= value_type*;using const_pointer=const value_type*;using reference= value_type&;using const_reference=const value_type&;using const_iterator=/* implementation-defined */using iterator= const_iterator;using const_reverse_iterator= reverse_iterator<const_iterator>;using reverse_iterator= const_reverse_iterator;using size_type= size_t;using difference_type= ptrdiff_t;staticconstexpr size_type npos= size_type(-1); // construction and assignmentconstexpr basic_string_view()noexcept;constexpr basic_string_view(const basic_string_view&)noexcept=default;constexpr basic_string_view& operator=(const basic_string_view&)noexcept=default;constexpr basic_string_view(const CharT* str);constexpr basic_string_view(nullptr_t)= delete;constexpr basic_string_view(const CharT* str, size_type len);template<class It,class End>constexpr basic_string_view(It begin, End end);template<class R>constexprexplicit basic_string_view(R&& r); // iterator supportconstexpr const_iterator begin()constnoexcept;constexpr const_iterator end()constnoexcept;constexpr const_iterator cbegin()constnoexcept;constexpr const_iterator cend()constnoexcept;constexpr const_reverse_iterator rbegin()constnoexcept;constexpr const_reverse_iterator rend()constnoexcept;constexpr const_reverse_iterator crbegin()constnoexcept;constexpr const_reverse_iterator crend()constnoexcept; // capacityconstexpr size_type size()constnoexcept;constexpr size_type length()constnoexcept;constexpr size_type max_size()constnoexcept;constexprbool empty()constnoexcept; // element accessconstexpr const_reference operator[](size_type pos)const;constexpr const_reference at(size_type pos)const;constexpr const_reference front()const;constexpr const_reference back()const;constexpr const_pointer data()constnoexcept; // modifiersconstexprvoid remove_prefix(size_type n);constexprvoid remove_suffix(size_type n);constexprvoid swap(basic_string_view& s)noexcept; // string operationsconstexpr size_type copy(CharT* s, size_type n, size_type pos=0)const; constexpr basic_string_view substr(size_type pos=0, size_type n= npos)const; constexprint compare(basic_string_view s)constnoexcept;constexprint compare(size_type pos1, size_type n1, basic_string_view s)const;constexprint compare(size_type pos1, size_type n1, basic_string_view s,                          size_type pos2, size_type n2)const;constexprint compare(const CharT* s)const;constexprint compare(size_type pos1, size_type n1,const CharT* s)const;constexprint compare(size_type pos1, size_type n1,const CharT* s,                          size_type n2)const; constexprbool starts_with(basic_string_view x)constnoexcept;constexprbool starts_with(CharT x)constnoexcept;constexprbool starts_with(const CharT* x)const;constexprbool ends_with(basic_string_view x)constnoexcept;constexprbool ends_with(CharT x)constnoexcept;constexprbool ends_with(const CharT* x)const; constexprbool contains(basic_string_view x)constnoexcept;constexprbool contains(CharT x)constnoexcept;constexprbool contains(const CharT* x)const; // searchingconstexpr size_type find(basic_string_view s, size_type pos=0)constnoexcept;constexpr size_type find(CharT c, size_type pos=0)constnoexcept;constexpr size_type find(const CharT* s, size_type pos, size_type n)const;constexpr size_type find(const CharT* s, size_type pos=0)const;constexpr size_type rfind(basic_string_view s, size_type pos= npos)constnoexcept;constexpr size_type rfind(CharT c, size_type pos= npos)constnoexcept;constexpr size_type rfind(const CharT* s, size_type pos, size_type n)const;constexpr size_type rfind(const CharT* s, size_type pos= npos)const; constexpr size_type find_first_of(basic_string_view s,                                      size_type pos=0)constnoexcept;constexpr size_type find_first_of(CharT c, size_type pos=0)constnoexcept;constexpr size_type find_first_of(const CharT* s, size_type pos, size_type n)const;constexpr size_type find_first_of(const CharT* s, size_type pos=0)const;constexpr size_type find_last_of(basic_string_view s,                                     size_type pos= npos)constnoexcept;constexpr size_type find_last_of(CharT c, size_type pos= npos)constnoexcept;constexpr size_type find_last_of(const CharT* s, size_type pos, size_type n)const;constexpr size_type find_last_of(const CharT* s, size_type pos= npos)const;constexpr size_type find_first_not_of(basic_string_view s,                                          size_type pos=0)constnoexcept;constexpr size_type find_first_not_of(CharT c, size_type pos=0)constnoexcept;constexpr size_type find_first_not_of(const CharT* s, size_type pos,                                          size_type n)const;constexpr size_type find_first_not_of(const CharT* s, size_type pos=0)const;constexpr size_type find_last_not_of(basic_string_view s,                                       size_type pos= npos)constnoexcept;constexpr size_type find_last_not_of(CharT c, size_type pos= npos)constnoexcept;constexpr size_type find_last_not_of(const CharT* s, size_type pos,                                         size_type n)const;constexpr size_type find_last_not_of(const CharT* s, size_type pos= npos)const; private:    const_pointer data_;// exposition only    size_type size_;// exposition only}; // deduction guidestemplate<class It,class End>    basic_string_view(It, End)-> basic_string_view<iter_value_t<It>>; template<class R>    basic_string_view(R&&)-> basic_string_view<ranges::range_value_t<R>>;}
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/header/string_view&oldid=163929"

      [8]ページ先頭

      ©2009-2025 Movatter.jp