Provided by: libstdc++-11-doc_11.4.0-9ubuntu1_all bug

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.

                                   __gnu_debug::basic_string< _CharT, _Traits, _Allocator >(3cxx)