ReactOS 0.4.15-dev-8102-g108db8f
_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 ( _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() [2/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() [3/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)); }

◆ _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); }

◆ _M_append_fast() [5/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() [6/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); }

◆ _M_append_fast() [7/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_pos() [1/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() [2/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); }
_CharT * _M_append_fast_pos(_STLP_PRIV __char_wrapper< _CharT > __c, _CharT *__buf, size_type, size_type __n)

◆ _M_append_fast_pos() [3/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 }

◆ _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); }

◆ _M_append_fast_pos() [5/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 }

◆ _M_append_fast_pos() [6/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); }

◆ _M_append_fast_pos() [7/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_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 }

◆ _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 }

◆ 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 }
_Self & _M_append_sum_pos(_STLP_PRIV __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__s, size_type __pos, size_type __n)