23 template <
class _Left,
class _Right,
class _StorageDir>
25 : _STLP_STRING_SUM_BASE(_Reserve_t(), __s.
size(), __s.get_allocator())
28 template <
class _Left,
class _Right,
class _StorageDir>
30 size_type __pos, size_type
__n =
npos,
31 const allocator_type& __a = allocator_type())
32 : _STLP_STRING_SUM_BASE(_Reserve_t(), (__pos <= __s.
size()) ? ((
min) (
__n, __s.
size() - __pos)) : 0, __a) {
33 size_type __size = __s.size();
35 this->_M_throw_out_of_range();
42 _STLP_STD::_Copy_Construct(__buf,
__c.getValue());
55 template <
class _Left,
class _Right,
class _StorageDir>
62 _STLP_STD::_Copy_Construct(__buf,
__c.getValue());
66 size_type __pos, size_type
__n)
69 size_type __pos, size_type
__n)
72 size_type __pos, size_type
__n)
75 size_type __pos, size_type
__n)
81 template <
class _Left,
class _Right,
class _StorageDir>
83 _CharT *__buf, size_type __pos, size_type
__n) {
87 size_type __lhs_size = __s.getLhs().size();
88 if (__pos < __lhs_size) {
89 if (
__n < (__lhs_size - __pos)) {
93 0,
__n - (__lhs_size - __pos));
100 template <
class _Left,
class _Right,
class _StorageDir>
102 size_type __s_size = __s.size();
105 const size_type __old_size = this->
size();
106 if (__s_size > this->
max_size() || __old_size > (this->
max_size() - __s_size))
107 this->_M_throw_length_error();
108 if (__old_size + __s_size > this->capacity()) {
109 const size_type __len = __old_size + (
max)(__old_size, __s_size) + 1;
110 pointer __new_start = this->_M_start_of_storage.allocate(__len);
113 this->_M_construct_null(__new_finish);
114 this->_M_deallocate_block();
115 this->_M_reset(__new_start, __new_finish, __new_start + __len);
123 template <
class _Left,
class _Right,
class _StorageDir>
125 size_type __pos, size_type
__n) {
126 size_type __s_size = (
min)(__s.size() - __pos,
__n);
129 const size_type __old_size = this->
size();
130 if (__s_size > this->
max_size() || __old_size > (this->
max_size() - __s_size))
131 this->_M_throw_length_error();
132 if (__old_size + __s_size > this->capacity()) {
133 const size_type __len = __old_size + (
max)(__old_size, __s_size) + 1;
134 pointer __new_start = this->_M_start_of_storage.allocate(__len);
137 this->_M_construct_null(__new_finish);
138 this->_M_deallocate_block();
139 this->_M_reset(__new_start, __new_finish, __new_start + __len);
147 template <
class _Left,
class _Right,
class _StorageDir>
149 size_type __pos, size_type
__n) {
150 pointer __finish = this->_M_Finish();
152 this->_M_construct_null(__finish +
__n);
153 _Traits::assign(*this->_M_finish, __s[__pos]);
154 this->_M_finish +=
__n;
_Self & _M_append_sum(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s)
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)
_Self & _M_append_sum_pos(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n)
void _M_append_sum_no_overflow(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n)
_STLP_MOVE_TO_STD_NAMESPACE _ForwardIter uninitialized_copy(_InputIter __first, _InputIter __last, _ForwardIter __result)
GLsizei const GLvoid * pointer