libstdc++
std::basic_string_view< _CharT, _Traits > Class Template Reference

#include <>>

Public Types

using const_iterator
using const_pointer
using const_reference
using const_reverse_iterator
using difference_type
using iterator
using pointer
using reference
using reverse_iterator
using size_type
using traits_type
using value_type

Public Member Functions

template<contiguous_iterator _It, sized_sentinel_for< _It > _End>
requires same_as<iter_value_t<_It>, _CharT> && (!convertible_to<_End, size_type>)
constexpr basic_string_view (_It __first, _End __last) noexcept(noexcept(__last - __first))
constexpr basic_string_view (const _CharT *__str) noexcept
constexpr basic_string_view (const _CharT *__str, size_type __len) noexcept
constexpr basic_string_view (const basic_string_view &) noexcept=default
constexpr const_reference at (size_type __pos) const
constexpr const_reference back () const noexcept
constexpr const_iterator begin () const noexcept
constexpr const_iterator cbegin () const noexcept
constexpr const_iterator cend () const noexcept
constexpr int compare (basic_string_view __str) const noexcept
constexpr int compare (const _CharT *__str) const noexcept
constexpr int compare (size_type __pos1, size_type __n1, basic_string_view __str) const
constexpr int compare (size_type __pos1, size_type __n1, basic_string_view __str, size_type __pos2, size_type __n2) const
constexpr int compare (size_type __pos1, size_type __n1, const _CharT *__str) const
constexpr int compare (size_type __pos1, size_type __n1, const _CharT *__str, size_type __n2) const noexcept(false)
constexpr size_type copy (_CharT *__str, size_type __n, size_type __pos=0) const
constexpr const_reverse_iterator crbegin () const noexcept
constexpr const_reverse_iterator crend () const noexcept
constexpr const_pointer data () const noexcept
constexpr bool empty () const noexcept
constexpr const_iterator end () const noexcept
constexpr size_type find (_CharT __c, size_type __pos=0) const noexcept
constexpr size_type find (basic_string_view __str, size_type __pos=0) const noexcept
constexpr size_type find (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type find (const _CharT *__str, size_type __pos=0) const noexcept
constexpr size_type find_first_not_of (_CharT __c, size_type __pos=0) const noexcept
constexpr size_type find_first_not_of (basic_string_view __str, size_type __pos=0) const noexcept
constexpr size_type find_first_not_of (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type find_first_not_of (const _CharT *__str, size_type __pos=0) const noexcept
constexpr size_type find_first_of (_CharT __c, size_type __pos=0) const noexcept
constexpr size_type find_first_of (basic_string_view __str, size_type __pos=0) const noexcept
constexpr size_type find_first_of (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type find_first_of (const _CharT *__str, size_type __pos=0) const noexcept
constexpr size_type find_last_not_of (_CharT __c, size_type __pos=npos) const noexcept
constexpr size_type find_last_not_of (basic_string_view __str, size_type __pos=npos) const noexcept
constexpr size_type find_last_not_of (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type find_last_not_of (const _CharT *__str, size_type __pos=npos) const noexcept
constexpr size_type find_last_of (_CharT __c, size_type __pos=npos) const noexcept
constexpr size_type find_last_of (basic_string_view __str, size_type __pos=npos) const noexcept
constexpr size_type find_last_of (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type find_last_of (const _CharT *__str, size_type __pos=npos) const noexcept
constexpr const_reference front () const noexcept
constexpr size_type length () const noexcept
constexpr size_type max_size () const noexcept
constexpr basic_string_viewoperator= (const basic_string_view &) noexcept=default
constexpr const_reference operator[] (size_type __pos) const noexcept
constexpr const_reverse_iterator rbegin () const noexcept
constexpr void remove_prefix (size_type __n) noexcept
constexpr void remove_suffix (size_type __n) noexcept
constexpr const_reverse_iterator rend () const noexcept
constexpr size_type rfind (_CharT __c, size_type __pos=npos) const noexcept
constexpr size_type rfind (basic_string_view __str, size_type __pos=npos) const noexcept
constexpr size_type rfind (const _CharT *__str, size_type __pos, size_type __n) const noexcept
constexpr size_type rfind (const _CharT *__str, size_type __pos=npos) const noexcept
constexpr size_type size () const noexcept
constexpr basic_string_view substr (size_type __pos=0, size_type __n=npos) const noexcept(false)
constexpr void swap (basic_string_view &__sv) noexcept

Static Public Attributes

static constexpr size_type npos

Detailed Description

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
class std::basic_string_view< _CharT, _Traits >

A non-owning reference to a string.

Template Parameters
_CharTType of character
_TraitsTraits for character type, defaults to char_traits<_CharT>.

A basic_string_view looks like this:

_CharT* _M_str
size_t _M_len

Definition at line 109 of file string_view.

Member Typedef Documentation

◆ const_iterator

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::const_iterator

Definition at line 126 of file string_view.

◆ const_pointer

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::const_pointer

Definition at line 123 of file string_view.

◆ const_reference

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::const_reference

Definition at line 125 of file string_view.

◆ const_reverse_iterator

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::const_reverse_iterator

Definition at line 128 of file string_view.

◆ difference_type

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::difference_type

Definition at line 131 of file string_view.

◆ iterator

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::iterator

Definition at line 127 of file string_view.

◆ pointer

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::pointer

Definition at line 122 of file string_view.

◆ reference

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::reference

Definition at line 124 of file string_view.

◆ reverse_iterator

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::reverse_iterator

Definition at line 129 of file string_view.

◆ size_type

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::size_type

Definition at line 130 of file string_view.

◆ traits_type

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::traits_type

Definition at line 120 of file string_view.

◆ value_type

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
using std::basic_string_view< _CharT, _Traits >::value_type

Definition at line 121 of file string_view.

Constructor & Destructor Documentation

◆ basic_string_view() [1/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
std::basic_string_view< _CharT, _Traits >::basic_string_view ( )
inlineconstexprnoexcept

Definition at line 137 of file string_view.

◆ basic_string_view() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
std::basic_string_view< _CharT, _Traits >::basic_string_view ( const _CharT * __str)
inlineconstexprnoexcept

Definition at line 145 of file string_view.

◆ basic_string_view() [3/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
std::basic_string_view< _CharT, _Traits >::basic_string_view ( const _CharT * __str,
size_type __len )
inlineconstexprnoexcept

Definition at line 151 of file string_view.

◆ basic_string_view() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
template<contiguous_iterator _It, sized_sentinel_for< _It > _End>
requires same_as<iter_value_t<_It>, _CharT> && (!convertible_to<_End, size_type>)
std::basic_string_view< _CharT, _Traits >::basic_string_view ( _It __first,
_End __last )
inlineconstexprnoexcept

Definition at line 160 of file string_view.

Member Function Documentation

◆ at()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reference std::basic_string_view< _CharT, _Traits >::at ( size_type __pos) const
inlinenodiscardconstexpr

Definition at line 267 of file string_view.

◆ back()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reference std::basic_string_view< _CharT, _Traits >::back ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 286 of file string_view.

◆ begin()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_iterator std::basic_string_view< _CharT, _Traits >::begin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 192 of file string_view.

◆ cbegin()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_iterator std::basic_string_view< _CharT, _Traits >::cbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 202 of file string_view.

◆ cend()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_iterator std::basic_string_view< _CharT, _Traits >::cend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 207 of file string_view.

◆ compare() [1/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( basic_string_view< _CharT, _Traits > __str) const
inlinenodiscardconstexprnoexcept

Definition at line 355 of file string_view.

◆ compare() [2/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( const _CharT * __str) const
inlinenodiscardconstexprnoexcept

Definition at line 379 of file string_view.

◆ compare() [3/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( size_type __pos1,
size_type __n1,
basic_string_view< _CharT, _Traits > __str ) const
inlinenodiscardconstexpr

Definition at line 366 of file string_view.

◆ compare() [4/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( size_type __pos1,
size_type __n1,
basic_string_view< _CharT, _Traits > __str,
size_type __pos2,
size_type __n2 ) const
inlinenodiscardconstexpr

Definition at line 371 of file string_view.

◆ compare() [5/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( size_type __pos1,
size_type __n1,
const _CharT * __str ) const
inlinenodiscardconstexpr

Definition at line 384 of file string_view.

◆ compare() [6/6]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
int std::basic_string_view< _CharT, _Traits >::compare ( size_type __pos1,
size_type __n1,
const _CharT * __str,
size_type __n2 ) const
inlinenodiscardconstexpr

Definition at line 389 of file string_view.

◆ copy()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::copy ( _CharT * __str,
size_type __n,
size_type __pos = 0 ) const
inlineconstexpr

Definition at line 326 of file string_view.

◆ crbegin()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reverse_iterator std::basic_string_view< _CharT, _Traits >::crbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 222 of file string_view.

◆ crend()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reverse_iterator std::basic_string_view< _CharT, _Traits >::crend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 227 of file string_view.

◆ data()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_pointer std::basic_string_view< _CharT, _Traits >::data ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 294 of file string_view.

◆ empty()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
bool std::basic_string_view< _CharT, _Traits >::empty ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 252 of file string_view.

◆ end()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_iterator std::basic_string_view< _CharT, _Traits >::end ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 197 of file string_view.

◆ find() [1/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find ( _CharT __c,
size_type __pos = 0 ) const
nodiscardconstexprnoexcept

Definition at line 82 of file bits/string_view.tcc.

◆ find() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 462 of file string_view.

◆ find() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 49 of file bits/string_view.tcc.

◆ find() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find ( const _CharT * __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 475 of file string_view.

◆ find_first_not_of() [1/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_first_not_of ( _CharT __c,
size_type __pos = 0 ) const
nodiscardconstexprnoexcept

Definition at line 187 of file bits/string_view.tcc.

◆ find_first_not_of() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_first_not_of ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 539 of file string_view.

◆ find_first_not_of() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_first_not_of ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 174 of file bits/string_view.tcc.

◆ find_first_not_of() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_first_not_of ( const _CharT * __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 554 of file string_view.

◆ find_first_of() [1/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_first_of ( _CharT __c,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 503 of file string_view.

◆ find_first_of() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_first_of ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 498 of file string_view.

◆ find_first_of() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_first_of ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 135 of file bits/string_view.tcc.

◆ find_first_of() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_first_of ( const _CharT * __str,
size_type __pos = 0 ) const
inlinenodiscardconstexprnoexcept

Definition at line 513 of file string_view.

◆ find_last_not_of() [1/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_last_not_of ( _CharT __c,
size_type __pos = npos ) const
nodiscardconstexprnoexcept

Definition at line 220 of file bits/string_view.tcc.

◆ find_last_not_of() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_last_not_of ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 562 of file string_view.

◆ find_last_not_of() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_last_not_of ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 198 of file bits/string_view.tcc.

◆ find_last_not_of() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_last_not_of ( const _CharT * __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 577 of file string_view.

◆ find_last_of() [1/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_last_of ( _CharT __c,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 524 of file string_view.

◆ find_last_of() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_last_of ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 518 of file string_view.

◆ find_last_of() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::find_last_of ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 152 of file bits/string_view.tcc.

◆ find_last_of() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::find_last_of ( const _CharT * __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 534 of file string_view.

◆ front()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reference std::basic_string_view< _CharT, _Traits >::front ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 278 of file string_view.

◆ length()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::length ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 239 of file string_view.

◆ max_size()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::max_size ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 244 of file string_view.

◆ operator[]()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reference std::basic_string_view< _CharT, _Traits >::operator[] ( size_type __pos) const
inlinenodiscardconstexprnoexcept

Definition at line 259 of file string_view.

◆ rbegin()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reverse_iterator std::basic_string_view< _CharT, _Traits >::rbegin ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 212 of file string_view.

◆ remove_prefix()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
void std::basic_string_view< _CharT, _Traits >::remove_prefix ( size_type __n)
inlineconstexprnoexcept

Definition at line 300 of file string_view.

◆ remove_suffix()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
void std::basic_string_view< _CharT, _Traits >::remove_suffix ( size_type __n)
inlineconstexprnoexcept

Definition at line 308 of file string_view.

◆ rend()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
const_reverse_iterator std::basic_string_view< _CharT, _Traits >::rend ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 217 of file string_view.

◆ rfind() [1/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::rfind ( _CharT __c,
size_type __pos = npos ) const
nodiscardconstexprnoexcept

Definition at line 118 of file bits/string_view.tcc.

◆ rfind() [2/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::rfind ( basic_string_view< _CharT, _Traits > __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 480 of file string_view.

◆ rfind() [3/4]

template<typename _CharT, typename _Traits>
basic_string_view< _CharT, _Traits >::size_type std::basic_string_view< _CharT, _Traits >::rfind ( const _CharT * __str,
size_type __pos,
size_type __n ) const
nodiscardconstexprnoexcept

Definition at line 98 of file bits/string_view.tcc.

◆ rfind() [4/4]

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::rfind ( const _CharT * __str,
size_type __pos = npos ) const
inlinenodiscardconstexprnoexcept

Definition at line 493 of file string_view.

◆ size()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::size ( ) const
inlinenodiscardconstexprnoexcept

Definition at line 234 of file string_view.

◆ substr()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
basic_string_view std::basic_string_view< _CharT, _Traits >::substr ( size_type __pos = 0,
size_type __n = npos ) const
inlinenodiscardconstexpr

Definition at line 339 of file string_view.

◆ swap()

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
void std::basic_string_view< _CharT, _Traits >::swap ( basic_string_view< _CharT, _Traits > & __sv)
inlineconstexprnoexcept

Definition at line 315 of file string_view.

Member Data Documentation

◆ npos

template<typename _CharT, typename _Traits = std::char_traits<_CharT>>
size_type std::basic_string_view< _CharT, _Traits >::npos
staticconstexpr

Definition at line 132 of file string_view.


The documentation for this class was generated from the following files: