Provided by: libstdc++-11-doc_11.5.0-1ubuntu1~24.04_all 

__gnu_debug::basic_stri..., _Traits, _Allocator >(3cxx) __gnu_debug::basic_stri..., _Traits, _Allocator >(3cxx)
NAME
__gnu_debug::basic_string< _CharT, _Traits, _Allocator > - Class std::basic_string with
safety/checking/debug instrumentation.
SYNOPSIS
#include <string>
Inherits __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >, and
std::basic_string< _CharT, _Traits, _Alloc >.
Public Types
typedef _Allocator allocator_type
typedef __gnu_debug::_Safe_iterator< typename _Base::const_iterator, basic_string > const_iterator
typedef _Base::const_pointer const_pointer
typedef _Base::const_reference const_reference
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
typedef _Base::difference_type difference_type
typedef __gnu_debug::_Safe_iterator< typename _Base::iterator, basic_string > iterator
typedef _Base::pointer pointer
typedef _Base::reference reference
typedef std::reverse_iterator< iterator > reverse_iterator
typedef _Base::size_type size_type
typedef _Traits traits_type
typedef _Traits::char_type value_type
Public Member Functions
basic_string (_Base &&__base) noexcept
template<typename _InputIterator > basic_string (_InputIterator __begin, _InputIterator __end, const
_Allocator &__a=_Allocator())
basic_string (basic_string &&)=default
basic_string (basic_string &&__s, const _Allocator &__a) noexcept(std::is_nothrow_constructible< _Base,
_Base, const _Allocator & >::value)
basic_string (const _Allocator &__a) noexcept
basic_string (const _Base &__base)
basic_string (const _CharT *__s, const _Allocator &__a=_Allocator())
basic_string (const _CharT *__s, size_type __n, const _Allocator &__a=_Allocator())
basic_string (const basic_string &)=default
basic_string (const basic_string &__s, const _Allocator &__a)
basic_string (const basic_string &__str, size_type __pos, size_type __n=_Base::npos, const _Allocator
&__a=_Allocator())
basic_string (size_type __n, _CharT __c, const _Allocator &__a=_Allocator())
basic_string (std::initializer_list< _CharT > __l, const _Allocator &__a=_Allocator())
const _Base & _M_base () const noexcept
_Base & _M_base () noexcept
template<typename _InputIterator > basic_string< _CharT, _Traits, _Alloc > & _M_replace_dispatch
(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2, __false_type)
void _M_swap (_Safe_container &__x) noexcept
template<typename _InIterator > _CharT * _S_construct (_InIterator __beg, _InIterator __end, const _Alloc
&__a, forward_iterator_tag)
template<typename _InputIterator > basic_string & append (_InputIterator __first, _InputIterator __last)
basic_string & append (const _CharT *__s)
basic_string & append (const _CharT *__s, size_type __n)
template<typename _Tp > _If_sv< _Tp, basic_string & > append (const _Tp &__svt)
Append a string_view.
template<typename _Tp > _If_sv< _Tp, basic_string & > append (const _Tp &__svt, size_type __pos,
size_type __n=npos)
Append a range of characters from a string_view.
basic_string & append (const basic_string &__str)
Append a string to this string.
basic_string & append (const basic_string &__str)
basic_string & append (const basic_string &__str, size_type __pos, size_type __n)
basic_string & append (const basic_string &__str, size_type __pos, size_type __n=npos)
Append a substring.
basic_string & append (initializer_list< _CharT > __l)
Append an initializer_list of characters.
basic_string & append (size_type __n, _CharT __c)
template<typename _InputIterator > basic_string & assign (_InputIterator __first, _InputIterator __last)
basic_string & assign (basic_string &&__str) noexcept(allocator_traits< _Alloc >::is_always_equal::value)
Set value to contents of another string.
basic_string & assign (basic_string &&__x) noexcept(noexcept(std::declval< _Base &
>().assign(std::move(__x))))
basic_string & assign (const _CharT *__s)
basic_string & assign (const _CharT *__s, size_type __n)
template<typename _Tp > _If_sv< _Tp, basic_string & > assign (const _Tp &__svt)
Set value from a string_view.
template<typename _Tp > _If_sv< _Tp, basic_string & > assign (const _Tp &__svt, size_type __pos,
size_type __n=npos)
Set value from a range of characters in a string_view.
basic_string & assign (const basic_string &__str)
Set value to contents of another string.
basic_string & assign (const basic_string &__str, size_type __pos, size_type __n)
basic_string & assign (const basic_string &__str, size_type __pos, size_type __n=npos)
Set value to a substring of a string.
basic_string & assign (const basic_string &__x)
basic_string & assign (size_type __n, _CharT __c)
basic_string & assign (std::initializer_list< _CharT > __l)
reference at (size_type __n)
Provides access to the data contained in the string.
const_reference at (size_type __n) const
Provides access to the data contained in the string.
reference back ()
const_reference back () const noexcept
iterator begin ()
const_iterator begin () const noexcept
const _CharT * c_str () const noexcept
size_type capacity () const noexcept
const_iterator cbegin () const noexcept
const_iterator cend () const noexcept
void clear ()
int compare (const _CharT *__s) const
template<typename _Tp > _If_sv< _Tp, int > compare (const _Tp &__svt) const noexcept(is_same< _Tp,
__sv_type >::value)
Compare to a string_view.
int compare (const basic_string &__str) const
Compare to a string.
int compare (const basic_string &__str) const
template<typename _Tp > _If_sv< _Tp, int > compare (size_type __pos, size_type __n, const _Tp &__svt)
const noexcept(is_same< _Tp, __sv_type >::value)
Compare to a string_view.
int compare (size_type __pos, size_type __n, const basic_string &__str) const
Compare substring to a string.
int compare (size_type __pos1, size_type __n1, const _CharT *__s) const
int compare (size_type __pos1, size_type __n1, const _CharT *__s, size_type __n2) const
template<typename _Tp > _If_sv< _Tp, int > compare (size_type __pos1, size_type __n1, const _Tp &__svt,
size_type __pos2, size_type __n2=npos) const noexcept(is_same< _Tp, __sv_type >::value)
Compare to a string_view.
int compare (size_type __pos1, size_type __n1, const basic_string &__str) const
int compare (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2, size_type
__n2) const
int compare (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2, size_type
__n2=npos) const
Compare substring to a substring.
size_type copy (_CharT *__s, size_type __n, size_type __pos=0) const
const_reverse_iterator crbegin () const noexcept
const_reverse_iterator crend () const noexcept
const _CharT * data () const noexcept
_CharT * data () noexcept
Return non-const pointer to contents.
bool empty () const noexcept
iterator end ()
const_iterator end () const noexcept
iterator erase (__const_iterator __first, __const_iterator __last)
iterator erase (__const_iterator __position)
iterator erase (iterator __first, iterator __last)
Remove a range of characters.
iterator erase (iterator __position)
Remove one character.
basic_string & erase (size_type __pos=0, size_type __n=_Base::npos)
size_type find (_CharT __c, size_type __pos=0) const noexcept
size_type find (const _CharT *__s, size_type __pos, size_type __n) const
size_type find (const _CharT *__s, size_type __pos=0) const
template<typename _Tp > _If_sv< _Tp, size_type > find (const _Tp &__svt, size_type __pos=0) const
noexcept(is_same< _Tp, __sv_type >::value)
Find position of a string_view.
size_type find (const basic_string &__str, size_type __pos=0) const noexcept
Find position of a string.
size_type find (const basic_string &__str, size_type __pos=0) const noexcept
size_type find_first_not_of (_CharT __c, size_type __pos=0) const noexcept
size_type find_first_not_of (const _CharT *__s, size_type __pos, size_type __n) const
size_type find_first_not_of (const _CharT *__s, size_type __pos=0) const
template<typename _Tp > _If_sv< _Tp, size_type > find_first_not_of (const _Tp &__svt, size_type __pos=0)
const noexcept(is_same< _Tp, __sv_type >::value)
Find position of a character not in a string_view.
size_type find_first_not_of (const basic_string &__str, size_type __pos=0) const noexcept
Find position of a character not in string.
size_type find_first_not_of (const basic_string &__str, size_type __pos=0) const noexcept
size_type find_first_of (_CharT __c, size_type __pos=0) const noexcept
size_type find_first_of (const _CharT *__s, size_type __pos, size_type __n) const
size_type find_first_of (const _CharT *__s, size_type __pos=0) const
template<typename _Tp > _If_sv< _Tp, size_type > find_first_of (const _Tp &__svt, size_type __pos=0)
const noexcept(is_same< _Tp, __sv_type >::value)
Find position of a character of a string_view.
size_type find_first_of (const basic_string &__str, size_type __pos=0) const noexcept
Find position of a character of string.
size_type find_first_of (const basic_string &__str, size_type __pos=0) const noexcept
size_type find_last_not_of (_CharT __c, size_type __pos=_Base::npos) const noexcept
size_type find_last_not_of (const _CharT *__s, size_type __pos, size_type __n) const
size_type find_last_not_of (const _CharT *__s, size_type __pos=_Base::npos) const
template<typename _Tp > _If_sv< _Tp, size_type > find_last_not_of (const _Tp &__svt, size_type
__pos=npos) const noexcept(is_same< _Tp, __sv_type >::value)
Find last position of a character not in a string_view.
size_type find_last_not_of (const basic_string &__str, size_type __pos=_Base::npos) const noexcept
size_type find_last_not_of (const basic_string &__str, size_type __pos=npos) const noexcept
Find last position of a character not in string.
size_type find_last_of (_CharT __c, size_type __pos=_Base::npos) const noexcept
size_type find_last_of (const _CharT *__s, size_type __pos, size_type __n) const
size_type find_last_of (const _CharT *__s, size_type __pos=_Base::npos) const
template<typename _Tp > _If_sv< _Tp, size_type > find_last_of (const _Tp &__svt, size_type __pos=npos)
const noexcept(is_same< _Tp, __sv_type >::value)
Find last position of a character of string.
size_type find_last_of (const basic_string &__str, size_type __pos=_Base::npos) const noexcept
size_type find_last_of (const basic_string &__str, size_type __pos=npos) const noexcept
Find last position of a character of string.
reference front ()
const_reference front () const noexcept
allocator_type get_allocator () const noexcept
Return copy of allocator used to construct this string.
iterator insert (__const_iterator __p, _CharT __c)
template<typename _InputIterator > iterator insert (__const_iterator __p, _InputIterator __first,
_InputIterator __last)
iterator insert (const_iterator __p, size_type __n, _CharT __c)
iterator insert (const_iterator __p, std::initializer_list< _CharT > __l)
iterator insert (iterator __p, _CharT __c)
Insert one character.
template<class _InputIterator > void insert (iterator __p, _InputIterator __beg, _InputIterator __end)
Insert a range of characters.
void insert (iterator __p, initializer_list< _CharT > __l)
Insert an initializer_list of characters.
void insert (iterator __p, size_type __n, _CharT __c)
Insert multiple characters.
basic_string & insert (size_type __pos, const _CharT *__s)
basic_string & insert (size_type __pos, const _CharT *__s, size_type __n)
template<typename _Tp > _If_sv< _Tp, basic_string & > insert (size_type __pos, const _Tp &__svt)
Insert a string_view.
basic_string & insert (size_type __pos, size_type __n, _CharT __c)
template<typename _Tp > _If_sv< _Tp, basic_string & > insert (size_type __pos1, const _Tp &__svt,
size_type __pos2, size_type __n=npos)
Insert a string_view.
basic_string & insert (size_type __pos1, const basic_string &__str)
Insert value of a string.
basic_string & insert (size_type __pos1, const basic_string &__str)
basic_string & insert (size_type __pos1, const basic_string &__str, size_type __pos2, size_type __n)
basic_string & insert (size_type __pos1, const basic_string &__str, size_type __pos2, size_type __n=npos)
Insert a substring.
size_type length () const noexcept
Returns the number of characters in the string, not including any null-termination.
size_type max_size () const noexcept
Returns the size() of the largest possible string.
operator __sv_type () const noexcept
Convert to a string_view.
basic_string & operator+= (_CharT __c)
basic_string & operator+= (const _CharT *__s)
template<typename _Tp > _If_sv< _Tp, basic_string & > operator+= (const _Tp &__svt)
Append a string_view.
basic_string & operator+= (const basic_string &__str)
Append a string to this string.
basic_string & operator+= (const basic_string &__str)
basic_string & operator+= (std::initializer_list< _CharT > __l)
basic_string & operator= (_CharT __c)
basic_string & operator= (basic_string &&)=default
basic_string & operator= (const _CharT *__s)
basic_string & operator= (const basic_string &)=default
basic_string & operator= (std::initializer_list< _CharT > __l)
reference operator[] (size_type __pos)
const_reference operator[] (size_type __pos) const noexcept
void pop_back ()
void push_back (_CharT __c)
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const noexcept
reverse_iterator rend ()
const_reverse_iterator rend () const noexcept
template<typename _InputIterator > basic_string & replace (__const_iterator __i1, __const_iterator __i2,
_InputIterator __j1, _InputIterator __j2)
basic_string & replace (__const_iterator __i1, __const_iterator __i2, const _CharT *__s)
basic_string & replace (__const_iterator __i1, __const_iterator __i2, const _CharT *__s, size_type __n)
basic_string & replace (__const_iterator __i1, __const_iterator __i2, const basic_string &__str)
basic_string & replace (__const_iterator __i1, __const_iterator __i2, size_type __n, _CharT __c)
basic_string & replace (__const_iterator __i1, __const_iterator __i2, std::initializer_list< _CharT >
__l)
template<typename _Tp > _If_sv< _Tp, basic_string & > replace (const_iterator __i1, const_iterator __i2,
const _Tp &__svt)
Replace range of characters with string_view.
basic_string & replace (iterator __i1, iterator __i2, _CharT *__k1, _CharT *__k2)
template<class _InputIterator > basic_string & replace (iterator __i1, iterator __i2, _InputIterator
__k1, _InputIterator __k2)
Replace range of characters with range.
basic_string & replace (iterator __i1, iterator __i2, const _CharT *__k1, const _CharT *__k2)
basic_string & replace (iterator __i1, iterator __i2, const _CharT *__s)
Replace range of characters with C string.
basic_string & replace (iterator __i1, iterator __i2, const _CharT *__s, size_type __n)
Replace range of characters with C substring.
basic_string & replace (iterator __i1, iterator __i2, const basic_string &__str)
Replace range of characters with string.
basic_string & replace (iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2)
basic_string & replace (iterator __i1, iterator __i2, initializer_list< _CharT > __l)
Replace range of characters with initializer_list.
basic_string & replace (iterator __i1, iterator __i2, iterator __k1, iterator __k2)
basic_string & replace (iterator __i1, iterator __i2, size_type __n, _CharT __c)
Replace range of characters with multiple characters.
template<typename _Tp > _If_sv< _Tp, basic_string & > replace (size_type __pos, size_type __n, const _Tp
&__svt)
Replace range of characters with string_view.
basic_string & replace (size_type __pos, size_type __n, const basic_string &__str)
Replace characters with value from another string.
basic_string & replace (size_type __pos, size_type __n1, const _CharT *__s)
basic_string & replace (size_type __pos, size_type __n1, const _CharT *__s, size_type __n2)
basic_string & replace (size_type __pos, size_type __n1, size_type __n2, _CharT __c)
template<typename _Tp > _If_sv< _Tp, basic_string & > replace (size_type __pos1, size_type __n1, const
_Tp &__svt, size_type __pos2, size_type __n2=npos)
Replace range of characters with string_view.
basic_string & replace (size_type __pos1, size_type __n1, const basic_string &__str)
basic_string & replace (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2,
size_type __n2)
basic_string & replace (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2,
size_type __n2=npos)
Replace characters with value from another string.
void reserve ()
Equivalent to shrink_to_fit().
void reserve (size_type __res_arg)
Attempt to preallocate enough memory for specified number of characters.
void resize (size_type __n)
void resize (size_type __n, _CharT __c)
size_type rfind (_CharT __c, size_type __pos=_Base::npos) const noexcept
size_type rfind (const _CharT *__s, size_type __pos, size_type __n) const
size_type rfind (const _CharT *__s, size_type __pos=_Base::npos) const
template<typename _Tp > _If_sv< _Tp, size_type > rfind (const _Tp &__svt, size_type __pos=npos) const
noexcept(is_same< _Tp, __sv_type >::value)
Find last position of a string_view.
size_type rfind (const basic_string &__str, size_type __pos=_Base::npos) const noexcept
size_type rfind (const basic_string &__str, size_type __pos=npos) const noexcept
Find last position of a string.
void shrink_to_fit () noexcept
size_type size () const noexcept
Returns the number of characters in the string, not including any null-termination.
basic_string substr (size_type __pos=0, size_type __n=_Base::npos) const
void swap (basic_string &__s) noexcept(/*conditional */)
Swap contents with another string.
void swap (basic_string &__x) noexcept(/*conditional */)
Static Public Attributes
static const size_type npos
Value returned by various member functions when they fail.
Protected Member Functions
_Safe_container & _M_safe () noexcept
Friends
template<typename _ItT , typename _SeqT , typename _CatT > class ::__gnu_debug::_Safe_iterator
Detailed Description
template<typename _CharT, typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>>
class __gnu_debug::basic_string< _CharT, _Traits, _Allocator >"Class std::basic_string with
safety/checking/debug instrumentation.
Member Function Documentation
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::append (const _Tp & __svt) [inline],
[inherited]
Append a string_view.
Parameters
__svt The object convertible to string_view to be appended.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::append (const _Tp & __svt, size_type
__pos, size_type __n = npos) [inline], [inherited]
Append a range of characters from a string_view.
Parameters
__svt The object convertible to string_view to be appended from.
__pos The position in the string_view to append from.
__n The number of characters to append from the string_view.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string< _CharT, _Traits, _Alloc > &
std::basic_string< _CharT, _Traits, _Alloc >::append (const basic_string< _CharT, _Traits, _Alloc > &
__str) [inherited]
Append a string to this string.
Parameters
__str The string to append.
Returns
Reference to this string.
References std::size().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits,
_Alloc >::append(), std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT,
_Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits, _Alloc >::operator+=(),
std::basic_string< _CharT, _Traits, _Alloc >::operator+=(), std::basic_string< _CharT, _Traits, _Alloc
>::operator+=(), and std::basic_string< _CharT, _Traits, _Alloc >::operator+=().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string< _CharT, _Traits, _Alloc > &
std::basic_string< _CharT, _Traits, _Alloc >::append (const basic_string< _CharT, _Traits, _Alloc > &
__str, size_type __pos, size_type __n = npos) [inherited]
Append a substring.
Parameters
__str The string to append.
__pos Index of the first character of str to append.
__n The number of characters to append.
Returns
Reference to this string.
Exceptions
std::out_of_range if __pos is not a valid index.
This function appends __n characters from __str starting at __pos to this string. If __n is is larger
than the number of available characters in __str, the remainder of __str is appended.
References std::size().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::append (initializer_list< _CharT > __l) [inline], [inherited]
Append an initializer_list of characters.
Parameters
__l The initializer_list of characters to append.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::assign (basic_string< _CharT, _Traits, _Alloc > && __str) [inline], [noexcept],
[inherited]
Set value to contents of another string.
Parameters
__str Source string to use.
Returns
Reference to this string.
This function sets this string to the exact contents of __str. __str is a valid, but unspecified string.
References std::basic_string< _CharT, _Traits, _Alloc >::swap().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::assign (const _Tp & __svt) [inline],
[inherited]
Set value from a string_view.
Parameters
__svt The source object convertible to string_view.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::assign().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::assign (const _Tp & __svt, size_type
__pos, size_type __n = npos) [inline], [inherited]
Set value from a range of characters in a string_view.
Parameters
__svt The source object convertible to string_view.
__pos The position in the string_view to assign from.
__n The number of characters to assign.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::assign().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string< _CharT, _Traits, _Alloc > &
std::basic_string< _CharT, _Traits, _Alloc >::assign (const basic_string< _CharT, _Traits, _Alloc > &
__str) [inherited]
Set value to contents of another string.
Parameters
__str Source string to use.
Returns
Reference to this string.
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::assign(), std::basic_string< _CharT, _Traits,
_Alloc >::assign(), std::basic_string< _CharT, _Traits, _Alloc >::assign(), std::basic_string< _CharT,
_Traits, _Alloc >::assign(), std::basic_string< _CharT, _Traits, _Alloc >::assign(), std::basic_string<
_CharT, _Traits, _Alloc >::operator=(), std::basic_string< _CharT, _Traits, _Alloc >::operator=(),
std::basic_string< _CharT, _Traits, _Alloc >::operator=(), std::basic_string< _CharT, _Traits, _Alloc
>::operator=(), and std::basic_string< _CharT, _Traits, _Alloc >::operator=().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::assign (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos,
size_type __n = npos) [inline], [inherited]
Set value to a substring of a string.
Parameters
__str The string to use.
__pos Index of the first character of str.
__n Number of characters to use.
Returns
Reference to this string.
Exceptions
std::out_of_range if pos is not a valid index.
This function sets this string to the substring of __str consisting of __n characters at __pos. If __n is
is larger than the number of available characters in __str, the remainder of __str is used.
References std::basic_string< _CharT, _Traits, _Alloc >::assign().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> reference std::basic_string< _CharT, _Traits, _Alloc >::at (size_type __n)
[inline]
Provides access to the data contained in the string.
Parameters
__n The index of the character to access.
Returns
Read/write reference to the character.
Exceptions
std::out_of_range If n is an invalid index.
This function provides for safer data access. The parameter is first checked that it is in the range of
the string. The function throws out_of_range if the check fails. Success results in unsharing the string.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> const_reference std::basic_string< _CharT, _Traits, _Alloc >::at (size_type __n)
const [inline]
Provides access to the data contained in the string.
Parameters
__n The index of the character to access.
Returns
Read-only (const) reference to the character.
Exceptions
std::out_of_range If n is an invalid index.
This function provides for safer data access. The parameter is first checked that it is in the range of
the string. The function throws out_of_range if the check fails.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> reference std::basic_string< _CharT, _Traits, _Alloc >::back () [inline]
Returns a read/write reference to the data at the last element of the string.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> const_reference std::basic_string< _CharT, _Traits, _Alloc >::back () const
[inline], [noexcept]
Returns a read-only (constant) reference to the data at the last element of the string.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> size_type std::basic_string< _CharT, _Traits, _Alloc >::capacity () const
[inline], [noexcept]
Returns the total number of characters that the string can hold before needing to allocate more memory.
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp, int >
std::basic_string< _CharT, _Traits, _Alloc >::compare (const _Tp & __svt) const [inline], [noexcept],
[inherited]
Compare to a string_view.
Parameters
__svt An object convertible to string_view to compare against.
Returns
Integer < 0, 0, or > 0.
References std::min(), and std::basic_string< _CharT, _Traits, _Alloc >::size().
template<typename _CharT , typename _Traits , typename _Alloc > int std::basic_string< _CharT, _Traits,
_Alloc >::compare (const basic_string< _CharT, _Traits, _Alloc > & __str) const [inline], [inherited]
Compare to a string.
Parameters
__str String to compare against.
Returns
Integer < 0, 0, or > 0.
Returns an integer < 0 if this string is ordered before __str, 0 if their values are equivalent, or > 0
if this string is ordered after __str. Determines the effective length rlen of the strings to compare as
the smallest of size() and str.size(). The function then compares the two strings by calling
traits::compare(data(), str.data(),rlen). If the result of the comparison is nonzero returns it,
otherwise the shorter one is ordered first.
References std::min(), and std::basic_string< _CharT, _Traits, _Alloc >::size().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp, int >
std::basic_string< _CharT, _Traits, _Alloc >::compare (size_type __pos, size_type __n, const _Tp & __svt)
const [inline], [noexcept], [inherited]
Compare to a string_view.
Parameters
__pos A position in the string to start comparing from.
__n The number of characters to compare.
__svt An object convertible to string_view to compare against.
Returns
Integer < 0, 0, or > 0.
template<typename _CharT , typename _Traits , typename _Alloc > int std::basic_string< _CharT, _Traits,
_Alloc >::compare (size_type __pos, size_type __n, const basic_string< _CharT, _Traits, _Alloc > & __str)
const [inherited]
Compare substring to a string.
Parameters
__pos Index of first character of substring.
__n Number of characters in substring.
__str String to compare against.
Returns
Integer < 0, 0, or > 0.
Form the substring of this string from the __n characters starting at __pos. Returns an integer < 0 if
the substring is ordered before __str, 0 if their values are equivalent, or > 0 if the substring is
ordered after __str. Determines the effective length rlen of the strings to compare as the smallest of
the length of the substring and __str.size(). The function then compares the two strings by calling
traits::compare(substring.data(),str.data(),rlen). If the result of the comparison is nonzero returns it,
otherwise the shorter one is ordered first.
References std::min().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp, int >
std::basic_string< _CharT, _Traits, _Alloc >::compare (size_type __pos1, size_type __n1, const _Tp &
__svt, size_type __pos2, size_type __n2 = npos) const [inline], [noexcept], [inherited]
Compare to a string_view.
Parameters
__pos1 A position in the string to start comparing from.
__n1 The number of characters to compare.
__svt An object convertible to string_view to compare against.
__pos2 A position in the string_view to start comparing from.
__n2 The number of characters to compare.
Returns
Integer < 0, 0, or > 0.
template<typename _CharT , typename _Traits , typename _Alloc > int std::basic_string< _CharT, _Traits,
_Alloc >::compare (size_type __pos1, size_type __n1, const basic_string< _CharT, _Traits, _Alloc > &
__str, size_type __pos2, size_type __n2 = npos) const [inherited]
Compare substring to a substring.
Parameters
__pos1 Index of first character of substring.
__n1 Number of characters in substring.
__str String to compare against.
__pos2 Index of first character of substring of str.
__n2 Number of characters in substring of str.
Returns
Integer < 0, 0, or > 0.
Form the substring of this string from the __n1 characters starting at __pos1. Form the substring of
__str from the __n2 characters starting at __pos2. Returns an integer < 0 if this substring is ordered
before the substring of __str, 0 if their values are equivalent, or > 0 if this substring is ordered
after the substring of __str. Determines the effective length rlen of the strings to compare as the
smallest of the lengths of the substrings. The function then compares the two strings by calling
traits::compare(substring.data(),str.substr(pos2,n2).data(),rlen). If the result of the comparison is
nonzero returns it, otherwise the shorter one is ordered first.
References std::min().
template<typename _CharT , typename _Traits , typename _Alloc > _CharT * std::basic_string< _CharT, _Traits,
_Alloc >::data () [inline], [noexcept], [inherited]
Return non-const pointer to contents. This is a pointer to the character sequence held by the string.
Modifying the characters in the sequence is allowed.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> bool std::basic_string< _CharT, _Traits, _Alloc >::empty () const [inline],
[noexcept]
Returns true if the string is empty. Equivalent to *this == ''.
template<typename _CharT , typename _Traits , typename _Alloc > basic_string< _CharT, _Traits, _Alloc
>::iterator std::basic_string< _CharT, _Traits, _Alloc >::erase (iterator __first, iterator __last)
[inherited]
Remove a range of characters.
Parameters
__first Iterator referencing the first character to remove.
__last Iterator referencing the end of the range.
Returns
Iterator referencing location of first after removal.
Removes the characters in the range [first,last) from this string. The value of the string doesn't change
if an error is thrown.
template<typename _CharT , typename _Traits , typename _Alloc > iterator std::basic_string< _CharT, _Traits,
_Alloc >::erase (iterator __position) [inline], [inherited]
Remove one character.
Parameters
__position Iterator referencing the character to remove.
Returns
iterator referencing same location after removal.
Removes the character at __position from this string. The value of the string doesn't change if an error
is thrown.
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::find (const _Tp & __svt, size_type __pos = 0)
const [inline], [noexcept], [inherited]
Find position of a string_view.
Parameters
__svt The object convertible to string_view to locate.
__pos Index of character to search from (default 0).
Returns
Index of start of first occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::find().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::find (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos = 0) const
[inline], [noexcept], [inherited]
Find position of a string.
Parameters
__str String to locate.
__pos Index of character to search from (default 0).
Returns
Index of start of first occurrence.
Starting from __pos, searches forward for value of __str within this string. If found, returns the index
where it begins. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::find().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of (const _Tp & __svt, size_type
__pos = 0) const [inline], [noexcept], [inherited]
Find position of a character not in a string_view.
Parameters
__svt An object convertible to string_view containing characters to avoid.
__pos Index of character to search from (default 0).
Returns
Index of first occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::find_first_not_of (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos = 0)
const [inline], [noexcept], [inherited]
Find position of a character not in string.
Parameters
__str String containing characters to avoid.
__pos Index of character to search from (default 0).
Returns
Index of first occurrence.
Starting from __pos, searches forward for a character not contained in __str within this string. If
found, returns the index where it was found. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of(), std::basic_string<
_CharT, _Traits, _Alloc >::find_first_not_of(), and std::basic_string< _CharT, _Traits, _Alloc
>::find_first_not_of().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::find_first_of (const _Tp & __svt, size_type
__pos = 0) const [inline], [noexcept], [inherited]
Find position of a character of a string_view.
Parameters
__svt An object convertible to string_view containing characters to locate.
__pos Index of character to search from (default 0).
Returns
Index of first occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::find_first_of().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::find_first_of (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos = 0)
const [inline], [noexcept], [inherited]
Find position of a character of string.
Parameters
__str String containing characters to locate.
__pos Index of character to search from (default 0).
Returns
Index of first occurrence.
Starting from __pos, searches forward for one of the characters of __str within this string. If found,
returns the index where it was found. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::find_first_of().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::find_first_of(), std::basic_string< _CharT,
_Traits, _Alloc >::find_first_of(), and std::basic_string< _CharT, _Traits, _Alloc >::find_first_of().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of (const _Tp & __svt, size_type
__pos = npos) const [inline], [noexcept], [inherited]
Find last position of a character not in a string_view.
Parameters
__svt An object convertible to string_view containing characters to avoid.
__pos Index of character to search back from (default end).
Returns
Index of last occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::find_last_not_of (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos =
npos) const [inline], [noexcept], [inherited]
Find last position of a character not in string.
Parameters
__str String containing characters to avoid.
__pos Index of character to search back from (default end).
Returns
Index of last occurrence.
Starting from __pos, searches backward for a character not contained in __str within this string. If
found, returns the index where it was found. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of(), std::basic_string<
_CharT, _Traits, _Alloc >::find_last_not_of(), and std::basic_string< _CharT, _Traits, _Alloc
>::find_last_not_of().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::find_last_of (const _Tp & __svt, size_type
__pos = npos) const [inline], [noexcept], [inherited]
Find last position of a character of string.
Parameters
__svt An object convertible to string_view containing characters to locate.
__pos Index of character to search back from (default end).
Returns
Index of last occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::find_last_of().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::find_last_of (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos = npos)
const [inline], [noexcept], [inherited]
Find last position of a character of string.
Parameters
__str String containing characters to locate.
__pos Index of character to search back from (default end).
Returns
Index of last occurrence.
Starting from __pos, searches backward for one of the characters of __str within this string. If found,
returns the index where it was found. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::find_last_of().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::find_last_of(), std::basic_string< _CharT,
_Traits, _Alloc >::find_last_of(), and std::basic_string< _CharT, _Traits, _Alloc >::find_last_of().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> reference std::basic_string< _CharT, _Traits, _Alloc >::front () [inline]
Returns a read/write reference to the data at the first element of the string.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> const_reference std::basic_string< _CharT, _Traits, _Alloc >::front () const
[inline], [noexcept]
Returns a read-only (constant) reference to the data at the first element of the string.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> allocator_type std::basic_string< _CharT, _Traits, _Alloc >::get_allocator ()
const [inline], [noexcept]
Return copy of allocator used to construct this string.
template<typename _CharT , typename _Traits , typename _Alloc > iterator std::basic_string< _CharT, _Traits,
_Alloc >::insert (iterator __p, _CharT __c) [inline], [inherited]
Insert one character.
Parameters
__p Iterator referencing position in string to insert at.
__c The character to insert.
Returns
Iterator referencing newly inserted char.
Exceptions
std::length_error If new length exceeds max_size().
Inserts character __c at position referenced by __p. If adding character causes the length to exceed
max_size(), length_error is thrown. If __p is beyond end of string, out_of_range is thrown. The value of
the string doesn't change if an error is thrown.
template<typename _CharT , typename _Traits , typename _Alloc > template<class _InputIterator > void
std::basic_string< _CharT, _Traits, _Alloc >::insert (iterator __p, _InputIterator __beg, _InputIterator
__end) [inline], [inherited]
Insert a range of characters.
Parameters
__p Iterator referencing location in string to insert at.
__beg Start of range.
__end End of range.
Exceptions
std::length_error If new length exceeds max_size().
Inserts characters in range [__beg,__end). If adding characters causes the length to exceed max_size(),
length_error is thrown. The value of the string doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > void std::basic_string< _CharT, _Traits,
_Alloc >::insert (iterator __p, initializer_list< _CharT > __l) [inline], [inherited]
Insert an initializer_list of characters.
Parameters
__p Iterator referencing location in string to insert at.
__l The initializer_list of characters to insert.
Exceptions
std::length_error If new length exceeds max_size().
References std::basic_string< _CharT, _Traits, _Alloc >::insert().
template<typename _CharT , typename _Traits , typename _Alloc > void std::basic_string< _CharT, _Traits,
_Alloc >::insert (iterator __p, size_type __n, _CharT __c) [inline], [inherited]
Insert multiple characters.
Parameters
__p Iterator referencing location in string to insert at.
__n Number of characters to insert
__c The character to insert.
Exceptions
std::length_error If new length exceeds max_size().
Inserts __n copies of character __c starting at the position referenced by iterator __p. If adding
characters causes the length to exceed max_size(), length_error is thrown. The value of the string
doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::insert(), std::basic_string< _CharT, _Traits,
_Alloc >::insert(), std::basic_string< _CharT, _Traits, _Alloc >::insert(), std::basic_string< _CharT,
_Traits, _Alloc >::insert(), and std::basic_string< _CharT, _Traits, _Alloc >::insert().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::insert (size_type __pos, const _Tp &
__svt) [inline], [inherited]
Insert a string_view.
Parameters
__pos Position in string to insert at.
__svt The object convertible to string_view to insert.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::insert().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::insert (size_type __pos1, const _Tp &
__svt, size_type __pos2, size_type __n = npos) [inline], [inherited]
Insert a string_view.
Parameters
__pos1 Position in string to insert at.
__svt The object convertible to string_view to insert from.
__pos2 Position in string_view to insert from.
__n The number of characters to insert.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::insert (size_type __pos1, const basic_string< _CharT, _Traits, _Alloc > & __str)
[inline], [inherited]
Insert value of a string.
Parameters
__pos1 Position in string to insert at.
__str The string to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Inserts value of __str starting at __pos1. If adding characters causes the length to exceed max_size(),
length_error is thrown. The value of the string doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::insert().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::insert (size_type __pos1, const basic_string< _CharT, _Traits, _Alloc > & __str,
size_type __pos2, size_type __n = npos) [inline], [inherited]
Insert a substring.
Parameters
__pos1 Position in string to insert at.
__str The string to insert.
__pos2 Start of characters in str to insert.
__n Number of characters to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
std::out_of_range If pos1 > size() or __pos2 > str.size().
Starting at pos1, insert __n character of __str beginning with __pos2. If adding characters causes the
length to exceed max_size(), length_error is thrown. If __pos1 is beyond the end of this string or __pos2
is beyond the end of __str, out_of_range is thrown. The value of the string doesn't change if an error is
thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::insert().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> size_type std::basic_string< _CharT, _Traits, _Alloc >::length () const [inline],
[noexcept]
Returns the number of characters in the string, not including any null-termination.
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> size_type std::basic_string< _CharT, _Traits, _Alloc >::max_size () const
[inline], [noexcept]
Returns the size() of the largest possible string.
template<typename _CharT , typename _Traits , typename _Alloc > std::basic_string< _CharT, _Traits, _Alloc
>::operator __sv_type () const [inline], [noexcept], [inherited]
Convert to a string_view.
Returns
A string_view.
References std::basic_string< _CharT, _Traits, _Alloc >::data(), and std::basic_string< _CharT, _Traits,
_Alloc >::size().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::operator+= (const _Tp & __svt) [inline],
[inherited]
Append a string_view.
Parameters
__svt The object convertible to string_view to be appended.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::operator+= (const basic_string< _CharT, _Traits, _Alloc > & __str) [inline],
[inherited]
Append a string to this string.
Parameters
__str The string to append.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::append().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::replace (const_iterator __i1,
const_iterator __i2, const _Tp & __svt) [inline], [inherited]
Replace range of characters with string_view.
Parameters
__i1 An iterator referencing the start position to replace at.
__i2 An iterator referencing the end position for the replace.
__svt The object convertible to string_view to insert from.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::begin(), and std::basic_string< _CharT, _Traits,
_Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > template<class _InputIterator > basic_string
& std::basic_string< _CharT, _Traits, _Alloc >::replace (iterator __i1, iterator __i2, _InputIterator
__k1, _InputIterator __k2) [inline], [inherited]
Replace range of characters with range.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__k1 Iterator referencing start of range to insert.
__k2 Iterator referencing end of range to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, characters in the range [__k1,__k2) are
inserted. If the length of result exceeds max_size(), length_error is thrown. The value of the string
doesn't change if an error is thrown.
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (iterator __i1, iterator __i2, const _CharT * __s) [inline], [inherited]
Replace range of characters with C string.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__s C string value to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, the characters of __s are inserted. If the
length of result exceeds max_size(), length_error is thrown. The value of the string doesn't change if an
error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (iterator __i1, iterator __i2, const _CharT * __s, size_type __n) [inline],
[inherited]
Replace range of characters with C substring.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__s C string value to insert.
__n Number of characters from s to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, the first __n characters of __s are inserted.
If the length of result exceeds max_size(), length_error is thrown. The value of the string doesn't
change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (iterator __i1, iterator __i2, const basic_string< _CharT, _Traits, _Alloc > &
__str) [inline], [inherited]
Replace range of characters with string.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__str String value to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, the value of __str is inserted. If the length
of result exceeds max_size(), length_error is thrown. The value of the string doesn't change if an error
is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (iterator __i1, iterator __i2, initializer_list< _CharT > __l) [inline],
[inherited]
Replace range of characters with initializer_list.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__l The initializer_list of characters to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, characters in the range [__k1,__k2) are
inserted. If the length of result exceeds max_size(), length_error is thrown. The value of the string
doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (iterator __i1, iterator __i2, size_type __n, _CharT __c) [inline],
[inherited]
Replace range of characters with multiple characters.
Parameters
__i1 Iterator referencing start of range to replace.
__i2 Iterator referencing end of range to replace.
__n Number of characters to insert.
__c Character to insert.
Returns
Reference to this string.
Exceptions
std::length_error If new length exceeds max_size().
Removes the characters in the range [__i1,__i2). In place, __n copies of __c are inserted. If the length
of result exceeds max_size(), length_error is thrown. The value of the string doesn't change if an error
is thrown.
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::replace (size_type __pos, size_type __n,
const _Tp & __svt) [inline], [inherited]
Replace range of characters with string_view.
Parameters
__pos The position to replace at.
__n The number of characters to replace.
__svt The object convertible to string_view to insert.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (size_type __pos, size_type __n, const basic_string< _CharT, _Traits, _Alloc >
& __str) [inline], [inherited]
Replace characters with value from another string.
Parameters
__pos Index of first character to replace.
__n Number of characters to be replaced.
__str String to insert.
Returns
Reference to this string.
Exceptions
std::out_of_range If pos is beyond the end of this string.
std::length_error If new length exceeds max_size().
Removes the characters in the range [__pos,__pos+__n) from this string. In place, the value of __str is
inserted. If __pos is beyond end of string, out_of_range is thrown. If the length of the result exceeds
max_size(), length_error is thrown. The value of the string doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::append(), std::basic_string< _CharT, _Traits,
_Alloc >::assign(), std::basic_string< _CharT, _Traits, _Alloc >::insert(), std::basic_string< _CharT,
_Traits, _Alloc >::insert(), std::basic_string< _CharT, _Traits, _Alloc >::insert(), std::basic_string<
_CharT, _Traits, _Alloc >::replace(), std::basic_string< _CharT, _Traits, _Alloc >::replace(),
std::basic_string< _CharT, _Traits, _Alloc >::replace(), std::basic_string< _CharT, _Traits, _Alloc
>::replace(), std::basic_string< _CharT, _Traits, _Alloc >::replace(), std::basic_string< _CharT,
_Traits, _Alloc >::replace(), std::basic_string< _CharT, _Traits, _Alloc >::replace(), std::basic_string<
_CharT, _Traits, _Alloc >::replace(), std::basic_string< _CharT, _Traits, _Alloc >::replace(), and
std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
basic_string & > std::basic_string< _CharT, _Traits, _Alloc >::replace (size_type __pos1, size_type __n1,
const _Tp & __svt, size_type __pos2, size_type __n2 = npos) [inline], [inherited]
Replace range of characters with string_view.
Parameters
__pos1 The position to replace at.
__n1 The number of characters to replace.
__svt The object convertible to string_view to insert from.
__pos2 The position in the string_view to insert from.
__n2 The number of characters to insert.
Returns
Reference to this string.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits , typename _Alloc > basic_string & std::basic_string< _CharT,
_Traits, _Alloc >::replace (size_type __pos1, size_type __n1, const basic_string< _CharT, _Traits, _Alloc
> & __str, size_type __pos2, size_type __n2 = npos) [inline], [inherited]
Replace characters with value from another string.
Parameters
__pos1 Index of first character to replace.
__n1 Number of characters to be replaced.
__str String to insert.
__pos2 Index of first character of str to use.
__n2 Number of characters from str to use.
Returns
Reference to this string.
Exceptions
std::out_of_range If __pos1 > size() or __pos2 > __str.size().
std::length_error If new length exceeds max_size().
Removes the characters in the range [__pos1,__pos1 + n) from this string. In place, the value of __str is
inserted. If __pos is beyond end of string, out_of_range is thrown. If the length of the result exceeds
max_size(), length_error is thrown. The value of the string doesn't change if an error is thrown.
References std::basic_string< _CharT, _Traits, _Alloc >::replace().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> void std::basic_string< _CharT, _Traits, _Alloc >::reserve ()
Equivalent to shrink_to_fit().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> void std::basic_string< _CharT, _Traits, _Alloc >::reserve (size_type __res_arg)
Attempt to preallocate enough memory for specified number of characters.
Parameters
__res_arg Number of characters required.
Exceptions
std::length_error If __res_arg exceeds max_size().
This function attempts to reserve enough memory for the string to hold the specified number of
characters. If the number requested is more than max_size(), length_error is thrown.
The advantage of this function is that if optimal code is a necessity and the user can determine the
string length that will be required, the user can reserve the memory in advance, and thus prevent a
possible reallocation of memory and copying of string data.
template<typename _CharT , typename _Traits , typename _Alloc > template<typename _Tp > _If_sv< _Tp,
size_type > std::basic_string< _CharT, _Traits, _Alloc >::rfind (const _Tp & __svt, size_type __pos =
npos) const [inline], [noexcept], [inherited]
Find last position of a string_view.
Parameters
__svt The object convertible to string_view to locate.
__pos Index of character to search back from (default end).
Returns
Index of start of last occurrence.
References std::basic_string< _CharT, _Traits, _Alloc >::rfind().
template<typename _CharT , typename _Traits , typename _Alloc > size_type std::basic_string< _CharT, _Traits,
_Alloc >::rfind (const basic_string< _CharT, _Traits, _Alloc > & __str, size_type __pos = npos) const
[inline], [noexcept], [inherited]
Find last position of a string.
Parameters
__str String to locate.
__pos Index of character to search back from (default end).
Returns
Index of start of last occurrence.
Starting from __pos, searches backward for value of __str within this string. If found, returns the index
where it begins. If not found, returns npos.
References std::basic_string< _CharT, _Traits, _Alloc >::rfind().
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::find_last_of(), std::basic_string< _CharT,
_Traits, _Alloc >::rfind(), std::basic_string< _CharT, _Traits, _Alloc >::rfind(), and std::basic_string<
_CharT, _Traits, _Alloc >::rfind().
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> size_type std::basic_string< _CharT, _Traits, _Alloc >::size () const [inline],
[noexcept]
Returns the number of characters in the string, not including any null-termination.
template<typename _CharT , typename _Traits , typename _Alloc > void std::basic_string< _CharT, _Traits,
_Alloc >::swap (basic_string< _CharT, _Traits, _Alloc > & __s) [noexcept], [inherited]
Swap contents with another string.
Parameters
__s String to swap with.
Exchanges the contents of this string with that of __s in constant time.
Referenced by std::basic_string< _CharT, _Traits, _Alloc >::assign(), and std::basic_string< _CharT,
_Traits, _Alloc >::operator=().
Member Data Documentation
template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator =
std::allocator<_CharT>> const basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string<
_CharT, _Traits, _Alloc >::npos [static]
Value returned by various member functions when they fail.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libst__gnu_debug::basic_stri..., _Traits, _Allocator >(3cxx)