__gnu_debug::basic_string< _CharT, _Traits, _Allocator > Class Template Reference

`#include <string>`

Inheritance diagram for __gnu_debug::basic_string< _CharT, _Traits, _Allocator >:
[legend]

## 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)
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)
template<typename _Tp >
_If_sv< _Tp, basic_string & > | append (const _Tp &__svt, size_type __pos, size_type __n=npos)
basic_string & | append (const basic_string &__str)
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)
basic_string & | append (initializer_list< _CharT > __l)
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)
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)
template<typename _Tp >
_If_sv< _Tp, basic_string & > | assign (const _Tp &__svt, size_type __pos, size_type __n=npos)
basic_string & | assign (const basic_string &__str)
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)
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)
const_reference | at (size_type __n) const
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 noexcept
constexpr int | compare (const _CharT *__s) const noexcept
template<typename _Tp >
_If_sv< _Tp, int > | compare (const _Tp &__svt) const noexcept(is_same< _Tp, __sv_type >::value)
int | compare (const basic_string &__str) const
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)
int | compare (size_type __pos, size_type __n, const basic_string &__str) const
int | compare (size_type __pos, size_type __n, const basic_string &__str) const
int | compare (size_type __pos, size_type __n1, const _CharT *__s) const
int | compare (size_type __pos, size_type __n1, const _CharT *__s, size_type __n2) const
constexpr int | compare (size_type __pos1, size_type __n1, const _CharT *__s) const
constexpr 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)
int | compare (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2, size_type __n2=npos) const
int | compare (size_type __pos1, size_type __n1, const basic_string &__str, size_type __pos2, size_type __n2=npos) const
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
bool | empty () const noexcept
iterator | end ()
const_iterator | end () const noexcept
bool | ends_with (_CharT __x) const noexcept
bool | ends_with (basic_string_view< _CharT, _Traits > __x) const noexcept
bool | ends_with (const _CharT *__x) const noexcept
iterator | erase (__const_iterator __first, __const_iterator __last)
iterator | erase (__const_iterator __position)
iterator | erase (iterator __first, iterator __last)
iterator | erase (iterator __position)
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 noexcept
constexpr size_type | find (const _CharT *__s, size_type __pos, size_type __n) const noexcept
size_type | find (const _CharT *__s, size_type __pos=0) const noexcept
constexpr size_type | find (const _CharT *__s, size_type __pos=0) const noexcept
template<typename _Tp >
_If_sv< _Tp, size_type > | find (const _Tp &__svt, size_type __pos=0) const noexcept(is_same< _Tp, __sv_type >::value)
size_type | find (const basic_string &__str, size_type __pos=0) const noexcept
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 noexcept
constexpr size_type | find_first_not_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
size_type | find_first_not_of (const _CharT *__s, size_type __pos=0) const noexcept
constexpr size_type | find_first_not_of (const _CharT *__s, size_type __pos=0) const noexcept
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)
size_type | find_first_not_of (const basic_string &__str, size_type __pos=0) const noexcept
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 noexcept
constexpr size_type | find_first_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
size_type | find_first_of (const _CharT *__s, size_type __pos=0) const noexcept
constexpr size_type | find_first_of (const _CharT *__s, size_type __pos=0) const noexcept
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)
size_type | find_first_of (const basic_string &__str, size_type __pos=0) const noexcept
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=npos) const noexcept
size_type | find_last_not_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
constexpr size_type | find_last_not_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
constexpr size_type | find_last_not_of (const _CharT *__s, size_type __pos=_Base::npos) const noexcept
size_type | find_last_not_of (const _CharT *__s, size_type __pos=npos) const noexcept
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)
size_type | find_last_not_of (const basic_string &__str, size_type __pos=npos) const noexcept
size_type | find_last_not_of (const basic_string &__str, size_type __pos=npos) const noexcept
size_type | find_last_of (_CharT __c, size_type __pos=npos) const noexcept
size_type | find_last_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
constexpr size_type | find_last_of (const _CharT *__s, size_type __pos, size_type __n) const noexcept
constexpr size_type | find_last_of (const _CharT *__s, size_type __pos=_Base::npos) const noexcept
size_type | find_last_of (const _CharT *__s, size_type __pos=npos) const noexcept
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)
size_type | find_last_of (const basic_string &__str, size_type __pos=npos) const noexcept
size_type | find_last_of (const basic_string &__str, size_type __pos=npos) const noexcept
reference | front ()
const_reference | front () const noexcept
allocator_type | get_allocator () const noexcept
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)
template<class _InputIterator >
void | insert (iterator __p, _InputIterator __beg, _InputIterator __end)
void | insert (iterator __p, initializer_list< _CharT > __l)
void | insert (iterator __p, size_type __n, _CharT __c)
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)
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)
basic_string & | insert (size_type __pos1, const basic_string &__str)
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)
size_type | length () const noexcept
size_type | max_size () const noexcept
| operator __sv_type () const noexcept
basic_string & | operator+= (_CharT __c)
basic_string & | operator+= (const _CharT *__s)
template<typename _Tp >
_If_sv< _Tp, basic_string & > | operator+= (const _Tp &__svt)
basic_string & | operator+= (const basic_string &__str)
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)
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)
basic_string & | replace (iterator __i1, iterator __i2, const _CharT *__k1, const _CharT *__k2)
basic_string & | replace (iterator __i1, iterator __i2, const _CharT *__s)
basic_string & | replace (iterator __i1, iterator __i2, const _CharT *__s, size_type __n)
basic_string & | replace (iterator __i1, iterator __i2, const basic_string &__str)
basic_string & | replace (iterator __i1, iterator __i2, const_iterator __k1, const_iterator __k2)
basic_string & | replace (iterator __i1, iterator __i2, initializer_list< _CharT > __l)
basic_string & | replace (iterator __i1, iterator __i2, iterator __k1, iterator __k2)
basic_string & | replace (iterator __i1, iterator __i2, size_type __n, _CharT __c)
template<typename _Tp >
_If_sv< _Tp, basic_string & > | replace (size_type __pos, size_type __n, const _Tp &__svt)
basic_string & | replace (size_type __pos, size_type __n, const basic_string &__str)
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)
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)
void | reserve ()
void | reserve (size_type __res_arg)
void | resize (size_type __n)
void | resize (size_type __n, _CharT __c)
size_type | rfind (_CharT __c, size_type __pos=npos) const noexcept
constexpr size_type | rfind (const _CharT *__s, size_type __pos, size_type __n) const
size_type | rfind (const _CharT *__s, size_type __pos, size_type __n) const noexcept
constexpr size_type | rfind (const _CharT *__s, size_type __pos=_Base::npos) const
size_type | rfind (const _CharT *__s, size_type __pos=npos) const noexcept
template<typename _Tp >
_If_sv< _Tp, size_type > | rfind (const _Tp &__svt, size_type __pos=npos) const noexcept(is_same< _Tp, __sv_type >::value)
size_type | rfind (const basic_string &__str, size_type __pos=npos) const noexcept
size_type | rfind (const basic_string &__str, size_type __pos=npos) const noexcept
void | shrink_to_fit () noexcept
size_type | size () const noexcept
bool | starts_with (_CharT __x) const noexcept
bool | starts_with (basic_string_view< _CharT, _Traits > __x) const noexcept
bool | starts_with (const _CharT *__x) const noexcept
basic_string | substr (size_type __pos=0, size_type __n=_Base::npos) const
void | swap (basic_string &__s) noexcept(/*conditional */)
void | swap (basic_string &__x) noexcept(/*conditional */)

## Static Public Attributes

static const size_type | npos

## Protected Member Functions

void | _M_swap (_Safe_container &__x) 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.

Definition at line 129 of file debug/string.

## Member Typedef Documentation

## allocator_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Allocator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::allocator_type

Definition at line 151 of file debug/string.

## const_iterator

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef __gnu_debug::_Safe_iterator< typename _Base::const_iterator, basic_string> __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::const_iterator

Definition at line 162 of file debug/string.

## const_pointer

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::const_pointer __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::const_pointer

Definition at line 157 of file debug/string.

## const_reference

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::const_reference __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::const_reference

Definition at line 155 of file debug/string.

## const_reverse_iterator

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef std::reverse_iterator<const_iterator> __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::const_reverse_iterator

Definition at line 165 of file debug/string.

## difference_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::difference_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::difference_type

Definition at line 153 of file debug/string.

## iterator

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef __gnu_debug::_Safe_iterator< typename _Base::iterator, basic_string> __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::iterator

Definition at line 160 of file debug/string.

## pointer

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::pointer __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::pointer

Definition at line 156 of file debug/string.

## reference

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::reference __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::reference

Definition at line 154 of file debug/string.

## reverse_iterator

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef std::reverse_iterator<iterator> __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::reverse_iterator

Definition at line 164 of file debug/string.

## size_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Base::size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::size_type

Definition at line 152 of file debug/string.

## traits_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Traits __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::traits_type

Definition at line 149 of file debug/string.

## value_type

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

typedef _Traits::char_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::value_type

Definition at line 150 of file debug/string.

## Constructor & Destructor Documentation

## basic_string() [1/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const _Allocator & | __a | ) |

inline explicit noexcept

Definition at line 172 of file debug/string.

## basic_string() [2/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | std::initializer_list< _CharT > | __l,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 187 of file debug/string.

## basic_string() [3/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const basic_string< _CharT, _Traits, _Allocator > & | __s,
|  | const _Allocator & | __a
| ) |  |

inline

Definition at line 192 of file debug/string.

## basic_string() [4/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | basic_string< _CharT, _Traits, _Allocator > && | __s,
|  | const _Allocator & | __a
| ) |  |

inline noexcept

Definition at line 195 of file debug/string.

## basic_string() [5/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | _Base && | __base | ) |

inline noexcept

Definition at line 205 of file debug/string.

## basic_string() [6/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const _Base & | __base | ) |

inline

Definition at line 210 of file debug/string.

## basic_string() [7/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos,
|  | size_type | __n = `_Base::npos`,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 215 of file debug/string.

## basic_string() [8/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const _CharT * | __s,
|  | size_type | __n,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 220 of file debug/string.

## basic_string() [9/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | const _CharT * | __s,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 224 of file debug/string.

## basic_string() [10/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | size_type | __n,
|  | _CharT | __c,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 228 of file debug/string.

## basic_string() [11/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _InputIterator >

__gnu_debug::basic_string< _CharT, _Traits, _Allocator >::basic_string | ( | _InputIterator | __begin,
|  | _InputIterator | __end,
|  | const _Allocator & | __a = `_Allocator()`
| ) |  |

inline

Definition at line 233 of file debug/string.

## Member Function Documentation

## _M_base() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const _Base & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::_M_base | ( |  | ) | const

inline noexcept

Definition at line 1061 of file debug/string.

## _M_base() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

_Base & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::_M_base | ( |  | ) |

inline noexcept

Definition at line 1058 of file debug/string.

## _M_replace_dispatch()

template<typename _CharT , typename _Traits , typename _Alloc >
template<typename _InputIterator >

basic_string< _CharT, _Traits, _Alloc > & std::basic_string< _CharT, _Traits, _Alloc >::_M_replace_dispatch | ( | iterator | __i1,
|  | iterator | __i2,
|  | _InputIterator | __k1,
|  | _InputIterator | __k2,
|  | __false_type |
| ) |  |

inherited

Definition at line 3649 of file cow_string.h.

## _M_swap()

template<typename _SafeContainer , typename _Alloc , template< typename > class _SafeBase, bool _IsCxx11AllocatorAware = true>

void __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >::_M_swap | ( | _Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware > & | __x | ) |

inline protected noexcept inherited

Definition at line 117 of file safe_container.h.

## _S_construct()

template<typename _CharT , typename _Traits , typename _Alloc >
template<typename _InIterator >

_CharT * std::basic_string< _CharT, _Traits, _Alloc >::_S_construct | ( | _InIterator | __beg,
|  | _InIterator | __end,
|  | const _Alloc & | __a,
|  | forward_iterator_tag |
| ) |  |

inherited

Definition at line 3146 of file cow_string.h.

## append() [1/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _InputIterator >

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | _InputIterator | __first,
|  | _InputIterator | __last
| ) |  |

inline

Definition at line 485 of file debug/string.

## append() [2/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | const _CharT * | __s | ) |

inline

Definition at line 467 of file debug/string.

## append() [3/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | const _CharT * | __s,
|  | size_type | __n
| ) |  |

inline

Definition at line 458 of file debug/string.

## append() [4/11]

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.

Definition at line 1310 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::append().

## append() [5/11]

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.

Definition at line 1326 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::append().

## append() [6/11]

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.

Definition at line 3306 of file cow_string.h.

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+=().

## append() [7/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str | ) |

inline

Definition at line 442 of file debug/string.

## append() [8/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos,
|  | size_type | __n
| ) |  |

inline

Definition at line 450 of file debug/string.

## append() [9/11]

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.

Definition at line 3323 of file cow_string.h.

References std::size().

## append() [10/11]

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.

Definition at line 1285 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::append().

## append() [11/11]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::append | ( | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 476 of file debug/string.

## assign() [1/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _InputIterator >

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | _InputIterator | __first,
|  | _InputIterator | __last
| ) |  |

inline

Definition at line 564 of file debug/string.

## assign() [2/13]

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.

Definition at line 1367 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::swap().

## assign() [3/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | basic_string< _CharT, _Traits, _Allocator > && | __x | ) |

inline noexcept

Definition at line 519 of file debug/string.

## assign() [4/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | const _CharT * | __s | ) |

inline

Definition at line 546 of file debug/string.

## assign() [5/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | const _CharT * | __s,
|  | size_type | __n
| ) |  |

inline

Definition at line 537 of file debug/string.

## assign() [6/13]

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.

Definition at line 1468 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::assign().

## assign() [7/13]

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.

Definition at line 1483 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::assign().

## assign() [8/13]

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.

Definition at line 3224 of file cow_string.h.

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=().

## assign() [9/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos,
|  | size_type | __n
| ) |  |

inline

Definition at line 529 of file debug/string.

## assign() [10/13]

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.

Definition at line 1389 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::assign().

## assign() [11/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | const basic_string< _CharT, _Traits, _Allocator > & | __x | ) |

inline

Definition at line 510 of file debug/string.

## assign() [12/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 555 of file debug/string.

## assign() [13/13]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::assign | ( | std::initializer_list< _CharT > | __l | ) |

inline

Definition at line 581 of file debug/string.

## at() [1/2]

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.

Definition at line 1111 of file cow_string.h.

## at() [2/2]

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.

Definition at line 1089 of file cow_string.h.

## back() [1/2]

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.

Definition at line 1150 of file cow_string.h.

## back() [2/2]

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.

Definition at line 1161 of file cow_string.h.

## begin() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::begin | ( |  | ) |

inline

Definition at line 276 of file debug/string.

## begin() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::begin | ( |  | ) | const

inline noexcept

Definition at line 280 of file debug/string.

## c_str()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const _CharT * __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::c_str | ( |  | ) | const

inline noexcept

Definition at line 889 of file debug/string.

## capacity()

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.

Definition at line 978 of file cow_string.h.

## cbegin()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::cbegin | ( |  | ) | const

inline noexcept

Definition at line 309 of file debug/string.

## cend()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::cend | ( |  | ) | const

inline noexcept

Definition at line 313 of file debug/string.

## clear()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::clear | ( |  | ) |

inline

Definition at line 362 of file debug/string.

## compare() [1/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | const _CharT * | __s | ) | const

inline noexcept

Compare to a C string.

Parameters

  __s | C string to compare against.

Returns
  Integer < 0, 0, or > 0.

Returns an integer < 0 if this string is ordered before __s, 0 if their values are equivalent, or > 0 if this string is ordered after __s. Determines the effective length rlen of the strings to compare as the smallest of size() and the length of a string constructed from __s. The function then compares the two strings by calling traits::compare(data(),s,rlen). If the result of the comparison is nonzero returns it, otherwise the shorter one is ordered first.

Definition at line 2930 of file cow_string.h.

## compare() [2/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr int __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::compare | ( | const _CharT * | __s | ) | const

inline constexpr noexcept

Definition at line 1030 of file debug/string.

## compare() [3/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _Tp >

_If_sv< _Tp, int > std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | const _Tp & | __svt | ) | const

inline noexcept

Compare to a string_view.

Parameters

  __svt | An object convertible to string_view to compare against.

Returns
  Integer < 0, 0, or > 0.

Definition at line 2791 of file cow_string.h.

## compare() [4/15]

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.

Definition at line 2771 of file cow_string.h.

References std::min(), and std::basic_string< _CharT, _Traits, _Alloc >::size().

## compare() [5/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str | ) | const

inline

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.

Definition at line 2771 of file cow_string.h.

## compare() [6/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2815 of file cow_string.h.

## compare() [7/15]

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

inline 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.

Definition at line 2864 of file cow_string.h.

References std::min().

## compare() [8/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | size_type | __pos,
|  | size_type | __n,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str
| ) |  | const

inline

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.

Definition at line 2864 of file cow_string.h.

## compare() [9/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | size_type | __pos,
|  | size_type | __n1,
|  | const _CharT * | __s
| ) |  | const

inline

Compare substring to a C string.

Parameters

  __pos | Index of first character of substring.
  __n1 | Number of characters in substring.
  __s | C string to compare against.

Returns
  Integer < 0, 0, or > 0.

Form the substring of this string from the __n1 characters starting at pos. Returns an integer < 0 if the substring is ordered before __s, 0 if their values are equivalent, or > 0 if the substring is ordered after __s. Determines the effective length rlen of the strings to compare as the smallest of the length of the substring and the length of a string constructed from __s. The function then compares the two string by calling traits::compare(substring.data(),__s,rlen). If the result of the comparison is nonzero returns it, otherwise the shorter one is ordered first.

Definition at line 2964 of file cow_string.h.

## compare() [10/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | size_type | __pos,
|  | size_type | __n1,
|  | const _CharT * | __s,
|  | size_type | __n2
| ) |  | const

inline

Compare substring against a character array.

Parameters

  __pos | Index of first character of substring.
  __n1 | Number of characters in substring.
  __s | character array to compare against.
  __n2 | Number of characters of s.

Returns
  Integer < 0, 0, or > 0.

Form the substring of this string from the __n1 characters starting at __pos. Form a string from the first __n2 characters of __s. Returns an integer < 0 if this substring is ordered before the string from __s, 0 if their values are equivalent, or > 0 if this substring is ordered after the string from __s. Determines the effective length rlen of the strings to compare as the smallest of the length of the substring and __n2. The function then compares the two strings by calling traits::compare(substring.data(),s,rlen). If the result of the comparison is nonzero returns it, otherwise the shorter one is ordered first.

NB: s must have at least n2 characters, '\0' has no special meaning.

Definition at line 3002 of file cow_string.h.

## compare() [11/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr int __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::compare | ( | size_type | __pos1,
|  | size_type | __n1,
|  | const _CharT * | __s
| ) |  | const

inline constexpr

Definition at line 1040 of file debug/string.

## compare() [12/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr int __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::compare | ( | size_type | __pos1,
|  | size_type | __n1,
|  | const _CharT * | __s,
|  | size_type | __n2
| ) |  | const

inline constexpr

Definition at line 1050 of file debug/string.

## compare() [13/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2834 of file cow_string.h.

## compare() [14/15]

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

inline 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.

Definition at line 2900 of file cow_string.h.

References std::min().

## compare() [15/15]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

int std::basic_string< _CharT, _Traits, _Alloc >::compare | ( | size_type | __pos1,
|  | size_type | __n1,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos2,
|  | size_type | __n2 = `npos`
| ) |  | const

inline

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.

Definition at line 2900 of file cow_string.h.

## copy()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::copy | ( | _CharT * | __s,
|  | size_type | __n,
|  | size_type | __pos = `0`
| ) |  | const

inline

Definition at line 873 of file debug/string.

## crbegin()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::crbegin | ( |  | ) | const

inline noexcept

Definition at line 317 of file debug/string.

## crend()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::crend | ( |  | ) | const

inline noexcept

Definition at line 321 of file debug/string.

## data() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const _CharT * __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::data | ( |  | ) | const

inline noexcept

Definition at line 897 of file debug/string.

## data() [2/2]

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.

Definition at line 2238 of file cow_string.h.

## empty()

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 == ""`.

Definition at line 1035 of file cow_string.h.

## end() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::end | ( |  | ) |

inline

Definition at line 284 of file debug/string.

## end() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::end | ( |  | ) | const

inline noexcept

Definition at line 288 of file debug/string.

## ends_with() [1/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::ends_with | ( | _CharT | __x | ) | const

inline noexcept inherited

Definition at line 3034 of file cow_string.h.

## ends_with() [2/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::ends_with | ( | basic_string_view< _CharT, _Traits > | __x | ) | const

inline noexcept inherited

Definition at line 3030 of file cow_string.h.

## ends_with() [3/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::ends_with | ( | const _CharT * | __x | ) | const

inline noexcept inherited

Definition at line 3039 of file cow_string.h.

## erase() [1/5]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::erase | ( | __const_iterator | __first,
|  | __const_iterator | __last
| ) |  |

inline

Definition at line 732 of file debug/string.

## erase() [2/5]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::erase | ( | __const_iterator | __position | ) |

inline

Definition at line 723 of file debug/string.

## erase() [3/5]

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.

Definition at line 3372 of file cow_string.h.

## erase() [4/5]

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.

Definition at line 1734 of file cow_string.h.

## erase() [5/5]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::erase | ( | size_type | __pos = `0`,
|  | size_type | __n = `_Base::npos`
| ) |  |

inline

Definition at line 715 of file debug/string.

## find() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find | ( | _CharT | __c,
|  | size_type | __pos = `0`
| ) |  | const

noexcept

Find position of a character.

Parameters

  __c | Character to locate.
  __pos | Index of character to search from (default 0).

Returns
  Index of first occurrence.

Starting from __pos, searches forward for __c within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2311 of file basic_string.tcc.

## find() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find position of a C substring.

Parameters

  __s | C string to locate.
  __pos | Index of character to search from.
  __n | Number of characters from s to search for.

Returns
  Index of start of first occurrence.

Starting from __pos, searches forward for the first __n characters in __s within this string. If found, returns the index where it begins. If not found, returns npos.

Definition at line 2265 of file basic_string.tcc.

## find() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr noexcept

Definition at line 910 of file debug/string.

## find() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

Find position of a C string.

Parameters

  __s | C 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 the value of __s within this string. If found, returns the index where it begins. If not found, returns npos.

Definition at line 2294 of file cow_string.h.

## find() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline constexpr noexcept

Definition at line 919 of file debug/string.

## find() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2322 of file cow_string.h.

## find() [7/8]

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.

Definition at line 2279 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and std::basic_string< _CharT, _Traits, _Alloc >::find().

## find() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

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.

Definition at line 2279 of file cow_string.h.

## find_first_not_of() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of | ( | _CharT | __c,
|  | size_type | __pos = `0`
| ) |  | const

noexcept

Find position of a different character.

Parameters

  __c | Character to avoid.
  __pos | Index of character to search from (default 0).

Returns
  Index of first occurrence.

Starting from __pos, searches forward for a character other than __c within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2636 of file basic_string.tcc.

## find_first_not_of() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find position of a character not in C substring.

Parameters

  __s | C string containing characters to avoid.
  __pos | Index of character to search from.
  __n | Number of characters from __s to consider.

Returns
  Index of first occurrence.

Starting from __pos, searches forward for a character not contained in the first __n characters of __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2604 of file basic_string.tcc.

## find_first_not_of() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_first_not_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr noexcept

Definition at line 986 of file debug/string.

## find_first_not_of() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

Find position of a character not in C string.

Parameters

  __s | C 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 __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2618 of file cow_string.h.

## find_first_not_of() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_first_not_of | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline constexpr noexcept

Definition at line 995 of file debug/string.

## find_first_not_of() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2649 of file cow_string.h.

## find_first_not_of() [7/8]

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.

Definition at line 2587 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and 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().

## find_first_not_of() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_not_of | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

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.

Definition at line 2587 of file cow_string.h.

## find_first_of() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_of | ( | _CharT | __c,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

Find position of a character.

Parameters

  __c | Character to locate.
  __pos | Index of character to search from (default 0).

Returns
  Index of first occurrence.

Starting from __pos, searches forward for the character __c within this string. If found, returns the index where it was found. If not found, returns npos.

Note: equivalent to find(__c, __pos).

Definition at line 2471 of file cow_string.h.

## find_first_of() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find position of a character of C substring.

Parameters

  __s | String containing characters to locate.
  __pos | Index of character to search from.
  __n | Number of characters from s to search for.

Returns
  Index of first occurrence.

Starting from __pos, searches forward for one of the first __n characters of __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2437 of file basic_string.tcc.

## find_first_of() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_first_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr noexcept

Definition at line 947 of file debug/string.

## find_first_of() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_of | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

Find position of a character of C string.

Parameters

  __s | 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 __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2451 of file cow_string.h.

## find_first_of() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_first_of | ( | const _CharT * | __s,
|  | size_type | __pos = `0`
| ) |  | const

inline constexpr noexcept

Definition at line 956 of file debug/string.

## find_first_of() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2484 of file cow_string.h.

## find_first_of() [7/8]

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.

Definition at line 2420 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and 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().

## find_first_of() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_first_of | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `0`
| ) |  | const

inline noexcept

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.

Definition at line 2420 of file cow_string.h.

## find_last_not_of() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of | ( | _CharT | __c,
|  | size_type | __pos = `npos`
| ) |  | const

noexcept

Find last position of a different character.

Parameters

  __c | Character 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 other than __c within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2718 of file basic_string.tcc.

## find_last_not_of() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find last position of a character not in C substring.

Parameters

  __s | C string containing characters to avoid.
  __pos | Index of character to search back from.
  __n | Number of characters from s to consider.

Returns
  Index of last occurrence.

Starting from __pos, searches backward for a character not contained in the first __n characters of __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2686 of file basic_string.tcc.

## find_last_not_of() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_last_not_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr noexcept

Definition at line 1006 of file debug/string.

## find_last_not_of() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_last_not_of | ( | const _CharT * | __s,
|  | size_type | __pos = `_Base::npos`
| ) |  | const

inline constexpr noexcept

Definition at line 1015 of file debug/string.

## find_last_not_of() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of | ( | const _CharT * | __s,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

Find last position of a character not in C string.

Parameters

  __s | C 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 __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2700 of file cow_string.h.

## find_last_not_of() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2731 of file cow_string.h.

## find_last_not_of() [7/8]

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.

Definition at line 2669 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and 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().

## find_last_not_of() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_not_of | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

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.

Definition at line 2669 of file cow_string.h.

## find_last_of() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_of | ( | _CharT | __c,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

Find last position of a character.

Parameters

  __c | Character to locate.
  __pos | Index of character to search back from (default end).

Returns
  Index of last occurrence.

Starting from __pos, searches backward for __c within this string. If found, returns the index where it was found. If not found, returns npos.

Note: equivalent to rfind(__c, __pos).

Definition at line 2555 of file cow_string.h.

## find_last_of() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find last position of a character of C substring.

Parameters

  __s | C string containing characters to locate.
  __pos | Index of character to search back from.
  __n | Number of characters from s to search for.

Returns
  Index of last occurrence.

Starting from __pos, searches backward for one of the first __n characters of __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2521 of file basic_string.tcc.

## find_last_of() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_last_of | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr noexcept

Definition at line 966 of file debug/string.

## find_last_of() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::find_last_of | ( | const _CharT * | __s,
|  | size_type | __pos = `_Base::npos`
| ) |  | const

inline constexpr noexcept

Definition at line 975 of file debug/string.

## find_last_of() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_of | ( | const _CharT * | __s,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

Find last position of a character of C string.

Parameters

  __s | C 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 __s within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2535 of file cow_string.h.

## find_last_of() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2568 of file cow_string.h.

## find_last_of() [7/8]

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.

Definition at line 2504 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and 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().

## find_last_of() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::find_last_of | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

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.

Definition at line 2504 of file cow_string.h.

## front() [1/2]

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.

Definition at line 1128 of file cow_string.h.

## front() [2/2]

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.

Definition at line 1139 of file cow_string.h.

## get_allocator()

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.

Definition at line 2249 of file cow_string.h.

## insert() [1/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | __const_iterator | __p,
|  | _CharT | __c
| ) |  |

inline

Definition at line 633 of file debug/string.

## insert() [2/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _InputIterator >

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | __const_iterator | __p,
|  | _InputIterator | __first,
|  | _InputIterator | __last
| ) |  |

inline

Definition at line 668 of file debug/string.

## insert() [3/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | const_iterator | __p,
|  | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 643 of file debug/string.

## insert() [4/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | const_iterator | __p,
|  | std::initializer_list< _CharT > | __l
| ) |  |

inline

Definition at line 699 of file debug/string.

## insert() [5/17]

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.

Definition at line 1658 of file cow_string.h.

## insert() [6/17]

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.

Definition at line 1523 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## insert() [7/17]

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()`.

Definition at line 1534 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::insert().

## insert() [8/17]

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.

Definition at line 1506 of file cow_string.h.

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().

## insert() [9/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | size_type | __pos,
|  | const _CharT * | __s
| ) |  |

inline

Definition at line 616 of file debug/string.

## insert() [10/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | size_type | __pos,
|  | const _CharT * | __s,
|  | size_type | __n
| ) |  |

inline

Definition at line 607 of file debug/string.

## insert() [11/17]

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.

Definition at line 1676 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::insert().

## insert() [12/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | size_type | __pos,
|  | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 625 of file debug/string.

## insert() [13/17]

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.

Definition at line 1692 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## insert() [14/17]

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.

Definition at line 1554 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::insert().

## insert() [15/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | size_type | __pos1,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str
| ) |  |

inline

Definition at line 590 of file debug/string.

## insert() [16/17]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert | ( | size_type | __pos1,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos2,
|  | size_type | __n
| ) |  |

inline

Definition at line 598 of file debug/string.

## insert() [17/17]

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.

Definition at line 1576 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::insert().

## length()

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.

Definition at line 928 of file cow_string.h.

## max_size()

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.

Definition at line 933 of file cow_string.h.

## operator __sv_type()

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.

Definition at line 795 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and std::basic_string< _CharT, _Traits, _Alloc >::size().

## operator+=() [1/6]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator+= | ( | _CharT | __c | ) |

inline

Definition at line 424 of file debug/string.

## operator+=() [2/6]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator+= | ( | const _CharT * | __s | ) |

inline

Definition at line 415 of file debug/string.

## operator+=() [3/6]

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.

Definition at line 1218 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::append().

## operator+=() [4/6]

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.

Definition at line 1175 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::append().

## operator+=() [5/6]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator+= | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str | ) |

inline

Definition at line 407 of file debug/string.

## operator+=() [6/6]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator+= | ( | std::initializer_list< _CharT > | __l | ) |

inline

Definition at line 433 of file debug/string.

## operator=() [1/3]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator= | ( | _CharT | __c | ) |

inline

Definition at line 257 of file debug/string.

## operator=() [2/3]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator= | ( | const _CharT * | __s | ) |

inline

Definition at line 248 of file debug/string.

## operator=() [3/3]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator= | ( | std::initializer_list< _CharT > | __l | ) |

inline

Definition at line 266 of file debug/string.

## operator[]() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

reference __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator[] | ( | size_type | __pos | ) |

inline

Definition at line 383 of file debug/string.

## operator[]() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_reference __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator[] | ( | size_type | __pos | ) | const

inline noexcept

Definition at line 372 of file debug/string.

## pop_back()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::pop_back | ( |  | ) |

inline

Definition at line 745 of file debug/string.

## push_back()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::push_back | ( | _CharT | __c | ) |

inline

Definition at line 503 of file debug/string.

## rbegin() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rbegin | ( |  | ) |

inline

Definition at line 292 of file debug/string.

## rbegin() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rbegin | ( |  | ) | const

inline noexcept

Definition at line 296 of file debug/string.

## rend() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rend | ( |  | ) |

inline

Definition at line 300 of file debug/string.

## rend() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

const_reverse_iterator __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rend | ( |  | ) | const

inline noexcept

Definition at line 304 of file debug/string.

## replace() [1/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _InputIterator >

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | _InputIterator | __j1,
|  | _InputIterator | __j2
| ) |  |

inline

Definition at line 841 of file debug/string.

## replace() [2/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | const _CharT * | __s
| ) |  |

inline

Definition at line 819 of file debug/string.

## replace() [3/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | const _CharT * | __s,
|  | size_type | __n
| ) |  |

inline

Definition at line 808 of file debug/string.

## replace() [4/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str
| ) |  |

inline

Definition at line 798 of file debug/string.

## replace() [5/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 830 of file debug/string.

## replace() [6/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | __const_iterator | __i1,
|  | __const_iterator | __i2,
|  | std::initializer_list< _CharT > | __l
| ) |  |

inline

Definition at line 862 of file debug/string.

## replace() [7/26]

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.

Definition at line 2104 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::begin(), and std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [8/26]

template<typename _CharT , typename _Traits , typename _Alloc >

basic_string & std::basic_string< _CharT, _Traits, _Alloc >::replace | ( | iterator | __i1,
|  | iterator | __i2,
|  | _CharT * | __k1,
|  | _CharT * | __k2
| ) |  |

inline inherited

Definition at line 1995 of file cow_string.h.

## replace() [9/26]

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.

Definition at line 1982 of file cow_string.h.

## replace() [10/26]

template<typename _CharT , typename _Traits , typename _Alloc >

basic_string & std::basic_string< _CharT, _Traits, _Alloc >::replace | ( | iterator | __i1,
|  | iterator | __i2,
|  | const _CharT * | __k1,
|  | const _CharT * | __k2
| ) |  |

inline inherited

Definition at line 2005 of file cow_string.h.

## replace() [11/26]

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.

Definition at line 1937 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [12/26]

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.

Definition at line 1916 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [13/26]

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.

Definition at line 1897 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [14/26]

template<typename _CharT , typename _Traits , typename _Alloc >

basic_string & std::basic_string< _CharT, _Traits, _Alloc >::replace | ( | iterator | __i1,
|  | iterator | __i2,
|  | const_iterator | __k1,
|  | const_iterator | __k2
| ) |  |

inline inherited

Definition at line 2026 of file cow_string.h.

## replace() [15/26]

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.

Definition at line 2051 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [16/26]

template<typename _CharT , typename _Traits , typename _Alloc >

basic_string & std::basic_string< _CharT, _Traits, _Alloc >::replace | ( | iterator | __i1,
|  | iterator | __i2,
|  | iterator | __k1,
|  | iterator | __k2
| ) |  |

inline inherited

Definition at line 2016 of file cow_string.h.

## replace() [17/26]

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.

Definition at line 1958 of file cow_string.h.

## replace() [18/26]

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.

Definition at line 2066 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [19/26]

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.

Definition at line 1788 of file cow_string.h.

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().

## replace() [20/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | size_type | __pos,
|  | size_type | __n1,
|  | const _CharT * | __s
| ) |  |

inline

Definition at line 781 of file debug/string.

## replace() [21/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | size_type | __pos,
|  | size_type | __n1,
|  | const _CharT * | __s,
|  | size_type | __n2
| ) |  |

inline

Definition at line 771 of file debug/string.

## replace() [22/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | size_type | __pos,
|  | size_type | __n1,
|  | size_type | __n2,
|  | _CharT | __c
| ) |  |

inline

Definition at line 790 of file debug/string.

## replace() [23/26]

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.

Definition at line 2083 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## replace() [24/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | size_type | __pos1,
|  | size_type | __n1,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str
| ) |  |

inline

Definition at line 754 of file debug/string.

## replace() [25/26]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string & __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::replace | ( | size_type | __pos1,
|  | size_type | __n1,
|  | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos2,
|  | size_type | __n2
| ) |  |

inline

Definition at line 762 of file debug/string.

## replace() [26/26]

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.

Definition at line 1810 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::replace().

## reserve() [1/2]

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().

Definition at line 1006 of file cow_string.h.

## reserve() [2/2]

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.

Definition at line 999 of file cow_string.h.

## resize() [1/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::resize | ( | size_type | __n | ) |

inline

Definition at line 338 of file debug/string.

## resize() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::resize | ( | size_type | __n,
|  | _CharT | __c
| ) |  |

inline

Definition at line 331 of file debug/string.

## rfind() [1/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::rfind | ( | _CharT | __c,
|  | size_type | __pos = `npos`
| ) |  | const

noexcept

Find last position of a character.

Parameters

  __c | Character to locate.
  __pos | Index of character to search back from (default end).

Returns
  Index of last occurrence.

Starting from __pos, searches backward for __c within this string. If found, returns the index where it was found. If not found, returns npos.

Definition at line 2389 of file basic_string.tcc.

## rfind() [2/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rfind | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

inline constexpr

Definition at line 929 of file debug/string.

## rfind() [3/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string< _CharT, _Traits, _Alloc >::size_type std::basic_string< _CharT, _Traits, _Alloc >::rfind | ( | const _CharT * | __s,
|  | size_type | __pos,
|  | size_type | __n
| ) |  | const

noexcept

Find last position of a C substring.

Parameters

  __s | C string to locate.
  __pos | Index of character to search back from.
  __n | Number of characters from s to search for.

Returns
  Index of start of last occurrence.

Starting from __pos, searches backward for the first __n characters in __s within this string. If found, returns the index where it begins. If not found, returns npos.

Definition at line 2358 of file basic_string.tcc.

## rfind() [4/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

constexpr size_type __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::rfind | ( | const _CharT * | __s,
|  | size_type | __pos = `_Base::npos`
| ) |  | const

inline constexpr

Definition at line 937 of file debug/string.

## rfind() [5/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::rfind | ( | const _CharT * | __s,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

Find last position of a C string.

Parameters

  __s | C string to locate.
  __pos | Index of character to start search at (default end).

Returns
  Index of start of last occurrence.

Starting from __pos, searches backward for the value of __s within this string. If found, returns the index where it begins. If not found, returns npos.

Definition at line 2372 of file cow_string.h.

## rfind() [6/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
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

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.

Definition at line 2400 of file cow_string.h.

## rfind() [7/8]

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.

Definition at line 2341 of file cow_string.h.

References std::basic_string< _CharT, _Traits, _Alloc >::data(), and 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().

## rfind() [8/8]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

size_type std::basic_string< _CharT, _Traits, _Alloc >::rfind | ( | const basic_string< _CharT, _Traits, _Allocator > & | __str,
|  | size_type | __pos = `npos`
| ) |  | const

inline noexcept

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.

Definition at line 2341 of file cow_string.h.

## shrink_to_fit()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::shrink_to_fit | ( |  | ) |

inline noexcept

Definition at line 343 of file debug/string.

## size()

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.

Definition at line 916 of file cow_string.h.

## starts_with() [1/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::starts_with | ( | _CharT | __x | ) | const

inline noexcept inherited

Definition at line 3021 of file cow_string.h.

## starts_with() [2/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::starts_with | ( | basic_string_view< _CharT, _Traits > | __x | ) | const

inline noexcept inherited

Definition at line 3017 of file cow_string.h.

## starts_with() [3/3]

template<typename _CharT , typename _Traits , typename _Alloc >

bool std::basic_string< _CharT, _Traits, _Alloc >::starts_with | ( | const _CharT * | __x | ) | const

inline noexcept inherited

Definition at line 3026 of file cow_string.h.

## substr()

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

basic_string __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::substr | ( | size_type | __pos = `0`,
|  | size_type | __n = `_Base::npos`
| ) |  | const

inline

Definition at line 1023 of file debug/string.

## swap() [1/2]

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.

Definition at line 3512 of file cow_string.h.

Referenced by std::basic_string< _CharT, _Traits, _Alloc >::assign(), and std::basic_string< _CharT, _Traits, _Alloc >::operator=().

## swap() [2/2]

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>

void __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::swap | ( | basic_string< _CharT, _Traits, _Allocator > & | __x | ) |

inline noexcept

Definition at line 880 of file debug/string.

## Friends And Related Symbol Documentation

## ::__gnu_debug::_Safe_iterator

template<typename _CharT , typename _Traits = std::char_traits<_CharT>, typename _Allocator = std::allocator<_CharT>>
template<typename _ItT , typename _SeqT , typename _CatT >

friend class ::__gnu_debug::_Safe_iterator

friend

Definition at line 141 of file debug/string.

## Member Data Documentation

## npos

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.

Definition at line 330 of file cow_string.h.

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

- debug/string