ReactOS  0.4.14-dev-77-gd9e7c48
_string_sum_methods.h File Reference

Go to the source code of this file.

Functions

template<class _Left , class _Right , class _StorageDir >
 basic_string (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s)
 
template<class _Left , class _Right , class _StorageDir >
 basic_string (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n=npos, const allocator_type &__a=allocator_type())
 
_Base & _M_append_fast (_STLP_PRIV __char_wrapper< _CharT > __c, _Base &__str)
 
_Base & _M_append_fast (_CharT const *__s, size_type __s_size, _Base &__str)
 
_Base & _M_append_fast (_STLP_PRIV __cstr_wrapper< _CharT > const &__s, _Base &__str)
 
_Base & _M_append_fast (_STLP_PRIV __bstr_wrapper< _CharT, _Traits, _Alloc > __s, _Base &__str)
 
_Base & _M_append_fast (_Self const &__s, _Base &__str)
 
_Base & _M_append_fast (_STLP_PRIV __sum_storage_elem< _CharT, _Traits, _Alloc > const &, _Base &__str)
 
template<class _Left , class _Right , class _StorageDir >
_Base & _M_append_fast (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, _Base &__str)
 
_Base & _M_append_fast_pos (_STLP_PRIV __char_wrapper< _CharT > __c, _Base &__str, size_type, size_type __n)
 
_Base & _M_append_fast_pos (_CharT const *__s, size_type __s_size, _Base &__str, size_type __pos, size_type __n)
 
_Base & _M_append_fast_pos (_STLP_PRIV __cstr_wrapper< _CharT > const &__s, _Base &__str, size_type __pos, size_type __n)
 
_Base & _M_append_fast_pos (_STLP_PRIV __bstr_wrapper< _CharT, _Traits, _Alloc > __s, _Base &__str, size_type __pos, size_type __n)
 
_Base & _M_append_fast_pos (_Self const &__s, _Base &__str, size_type __pos, size_type __n)
 
_Base & _M_append_fast_pos (_STLP_PRIV __sum_storage_elem< _CharT, _Traits, _Alloc > const &, _Base &__str, size_type, size_type)
 
template<class _Left , class _Right , class _StorageDir >
_Base & _M_append_fast_pos (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, _Base &__str, size_type __pos, size_type __n)
 
template<class _Left , class _Right , class _StorageDir >
_Self & _M_append_sum (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, _Base &__impl)
 
template<class _Left , class _Right , class _StorageDir >
_Self & _M_append_sum_pos (_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n, _Base &__impl)
 

Function Documentation

◆ _M_append_fast() [1/7]

_Base& _M_append_fast ( _STLP_PRIV __char_wrapper< _CharT >  __c,
_Base &  __str 
)
private

Definition at line 43 of file _string_sum_methods.h.

44  { return __str += __c.getValue(); }
#define __c
Definition: schilyio.h:209

◆ _M_append_fast() [2/7]

_Base& _M_append_fast ( _CharT const __s,
size_type  __s_size,
_Base &  __str 
)
private

Definition at line 45 of file _string_sum_methods.h.

46  { return __str.append(__s, __s_size); }

◆ _M_append_fast() [3/7]

_Base& _M_append_fast ( _STLP_PRIV __cstr_wrapper< _CharT > const __s,
_Base &  __str 
)
private

Definition at line 47 of file _string_sum_methods.h.

48  { return _M_append_fast(__s.c_str(), __s.size(), __str); }
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)

◆ _M_append_fast() [4/7]

_Base& _M_append_fast ( _STLP_PRIV __bstr_wrapper< _CharT, _Traits, _Alloc __s,
_Base &  __str 
)
private

Definition at line 49 of file _string_sum_methods.h.

50  { return _M_append_fast(__s.b_str(), __str); }
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)

◆ _M_append_fast() [5/7]

_Base& _M_append_fast ( _Self const __s,
_Base &  __str 
)
private

Definition at line 51 of file _string_sum_methods.h.

52  { return _M_append_fast(__s.data(), __s.size(), __str); }
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)

◆ _M_append_fast() [6/7]

_Base& _M_append_fast ( _STLP_PRIV __sum_storage_elem< _CharT, _Traits, _Alloc > const ,
_Base &  __str 
)
private

Definition at line 53 of file _string_sum_methods.h.

54  { return __str; }

◆ _M_append_fast() [7/7]

template<class _Left , class _Right , class _StorageDir >
_Base& _M_append_fast ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s,
_Base &  __str 
)
private

Definition at line 56 of file _string_sum_methods.h.

57  { return _M_append_fast(__s.getRhs(), _M_append_fast(__s.getLhs(), __str)); }
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)

◆ _M_append_fast_pos() [1/7]

_Base& _M_append_fast_pos ( _STLP_PRIV __char_wrapper< _CharT >  __c,
_Base &  __str,
size_type  ,
size_type  __n 
)
private

Definition at line 59 of file _string_sum_methods.h.

59  {
60  if (__n == 0)
61  return __str;
62  return __str += __c.getValue();
63  }
return __n
Definition: _algo.h:75
#define __c
Definition: schilyio.h:209

◆ _M_append_fast_pos() [2/7]

_Base& _M_append_fast_pos ( _CharT const __s,
size_type  __s_size,
_Base &  __str,
size_type  __pos,
size_type  __n 
)
private

Definition at line 64 of file _string_sum_methods.h.

66  { return __str.append(__s + __pos, __s + __pos + (min)(__n, __s_size - __pos)); }
return __n
Definition: _algo.h:75
#define min(a, b)
Definition: monoChain.cc:55

◆ _M_append_fast_pos() [3/7]

_Base& _M_append_fast_pos ( _STLP_PRIV __cstr_wrapper< _CharT > const __s,
_Base &  __str,
size_type  __pos,
size_type  __n 
)
private

Definition at line 67 of file _string_sum_methods.h.

69  { return _M_append_fast_pos(__s.c_str(), __s.size(), __str, __pos, __n); }
return __n
Definition: _algo.h:75
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)

◆ _M_append_fast_pos() [4/7]

_Base& _M_append_fast_pos ( _STLP_PRIV __bstr_wrapper< _CharT, _Traits, _Alloc __s,
_Base &  __str,
size_type  __pos,
size_type  __n 
)
private

Definition at line 70 of file _string_sum_methods.h.

72  { return _M_append_fast_pos(__s.b_str(), __str, __pos, __n); }
return __n
Definition: _algo.h:75
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)

◆ _M_append_fast_pos() [5/7]

_Base& _M_append_fast_pos ( _Self const __s,
_Base &  __str,
size_type  __pos,
size_type  __n 
)
private

Definition at line 73 of file _string_sum_methods.h.

74  { return _M_append_fast_pos(__s.data(), __s.size(), __str, __pos, __n); }
return __n
Definition: _algo.h:75
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)

◆ _M_append_fast_pos() [6/7]

_Base& _M_append_fast_pos ( _STLP_PRIV __sum_storage_elem< _CharT, _Traits, _Alloc > const ,
_Base &  __str,
size_type  ,
size_type   
)
private

Definition at line 75 of file _string_sum_methods.h.

77  { return __str; }

◆ _M_append_fast_pos() [7/7]

template<class _Left , class _Right , class _StorageDir >
_Base& _M_append_fast_pos ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s,
_Base &  __str,
size_type  __pos,
size_type  __n 
)
private

Definition at line 80 of file _string_sum_methods.h.

81  {
82  if (__n == 0) {
83  return __str;
84  }
85  size_type __lhs_size = __s.getLhs().size();
86  if (__pos < __lhs_size) {
87  if (__n < (__lhs_size - __pos)) {
88  return _M_append_fast_pos(__s.getLhs(), __str, __pos, __n);
89  } else {
90  return _M_append_fast_pos(__s.getRhs(), _M_append_fast_pos(__s.getLhs(), __str, __pos, __n),
91  0, __n - (__lhs_size - __pos));
92  }
93  } else {
94  return _M_append_fast_pos(__s.getRhs(), __str, __pos - __lhs_size, __n);
95  }
96  }
return __n
Definition: _algo.h:75
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)

◆ _M_append_sum()

template<class _Left , class _Right , class _StorageDir >
_Self& _M_append_sum ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s,
_Base &  __impl 
)
private

Definition at line 99 of file _string_sum_methods.h.

100  {
101  _M_append_fast(__s, __impl);
102  return *this;
103  }
_CharT * _M_append_fast(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf)

◆ _M_append_sum_pos()

template<class _Left , class _Right , class _StorageDir >
_Self& _M_append_sum_pos ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s,
size_type  __pos,
size_type  __n,
_Base &  __impl 
)
private

Definition at line 106 of file _string_sum_methods.h.

107  {
108  _M_non_dbg_impl.reserve(_M_non_dbg_impl.size() + (min) (__s.size() - __pos, __n));
109  _M_append_fast_pos(__s, __impl, __pos, __n);
110  return *this;
111  }
return __n
Definition: _algo.h:75
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)
#define min(a, b)
Definition: monoChain.cc:55

◆ basic_string() [1/2]

template<class _Left , class _Right , class _StorageDir >
basic_string ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s)

Definition at line 23 of file _string_sum_methods.h.

24  : _M_non_dbg_impl(_Reserve_t(), __s.size(), __s.get_allocator()),
25  _M_iter_list(&_M_non_dbg_impl)
26  { _M_append_sum(__s, _M_non_dbg_impl); }
_Self & _M_append_sum(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s)

◆ basic_string() [2/2]

template<class _Left , class _Right , class _StorageDir >
basic_string ( _STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __s,
size_type  __pos,
size_type  __n = npos,
const allocator_type &  __a = allocator_type() 
)

Definition at line 29 of file _string_sum_methods.h.

32  : _M_non_dbg_impl(_Reserve_t(), (__pos <= __s.size()) ? ((min) (__n, __s.size() - __pos)) : 0, __a),
33  _M_iter_list(&_M_non_dbg_impl) {
34  size_type __size = __s.size();
35  if (__pos > __size)
36  //This call will generate the necessary out of range exception:
37  _M_non_dbg_impl.at(0);
38  else
39  _M_append_sum_pos(__s, __pos, (min) (__n, __size - __pos), _M_non_dbg_impl);
40  }
return __n
Definition: _algo.h:75
_Self & _M_append_sum_pos(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n)
#define min(a, b)
Definition: monoChain.cc:55