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

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 108 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 125 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 122 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 124 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 127 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 130 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 126 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 121 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 123 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 128 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 129 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 119 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 120 of file string_view.

Constructor & Destructor Documentation

◆ basic_string_view() [1/3]

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

Definition at line 136 of file string_view.

◆ basic_string_view() [2/3]

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 144 of file string_view.

◆ basic_string_view() [3/3]

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 150 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 266 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 285 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 191 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 201 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 206 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 347 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 371 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 358 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 363 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 376 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 381 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 325 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 221 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 226 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 293 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 251 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 196 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 454 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 467 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 531 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 546 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 495 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 490 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 505 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 554 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 569 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 516 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 510 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 526 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 277 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 238 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 243 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 258 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 211 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 299 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 307 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 216 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 472 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 485 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 233 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 338 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 314 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 131 of file string_view.


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