16 #ifndef _STLP_STRING_SUM_H 17 #define _STLP_STRING_SUM_H 24 template <
class _CharT>
31 size_t size()
const {
return 1; }
43 template <
class _CharT>
62 template <
class _CharT,
class _Traits,
class _Alloc>
83 template <
class _CharT,
class _Traits,
class _Alloc,
84 class _Left,
class _Right,
85 class _StorageDirection>
145 template <
class _InputIter>
255 {
return _rhs._M_get_storage(*
this, _StorageDirection()); }
257 template <
class _Lhs,
class _Rhs,
class _StorageDir>
260 {
return _lhs._M_get_storage(__ref); }
262 template <
class _Lhs,
class _Rhs,
class _StorageDir>
265 {
return _rhs._M_get_storage(__ref); }
267 template <
class _Lhs,
class _Rhs,
class _StorageDir>
275 template <
class _Lhs,
class _Rhs,
class _StorageDir>
278 {
return _lhs._M_get_storage(__ref, __do_init); }
280 template <
class _Lhs,
class _Rhs,
class _StorageDir>
283 {
return _rhs._M_get_storage(__ref, __do_init); }
285 template <
class _Lhs,
class _Rhs,
class _StorageDir>
287 bool __do_init)
const 298 template <
class _CharT,
class _Traits,
class _Alloc,
299 class _Lh1,
class _Rh1,
class _StoreDir1,
300 class _Lh2,
class _Rh2,
class _StoreDir2>
313 template <
class _CharT,
class _Traits,
class _Alloc,
314 class _Lh1,
class _Rh1,
class _StoreDir1,
315 class _Lh2,
class _Rh2,
class _StoreDir2>
321 template <
class _CharT,
class _Traits,
class _Alloc,
322 class _Lh1,
class _Rh1,
class _StoreDir1,
323 class _Lh2,
class _Rh2,
class _StoreDir2>
329 #ifdef _STLP_USE_SEPARATE_RELOPS_NAMESPACE 331 template <
class _CharT,
class _Traits,
class _Alloc,
332 class _Lh1,
class _Rh1,
class _StoreDir1,
333 class _Lh2,
class _Rh2,
class _StoreDir2>
337 {
return !(__lhs == __rhs); }
339 template <
class _CharT,
class _Traits,
class _Alloc,
340 class _Lh1,
class _Rh1,
class _StoreDir1,
341 class _Lh2,
class _Rh2,
class _StoreDir2>
345 {
return __rhs < __lhs; }
347 template <
class _CharT,
class _Traits,
class _Alloc,
348 class _Lh1,
class _Rh1,
class _StoreDir1,
349 class _Lh2,
class _Rh2,
class _StoreDir2>
353 {
return !(__rhs < __lhs); }
355 template <
class _CharT,
class _Traits,
class _Alloc,
356 class _Lh1,
class _Rh1,
class _StoreDir1,
357 class _Lh2,
class _Rh2,
class _StoreDir2>
361 {
return !(__lhs < __rhs); }
371 template <
class _CharT,
class _Traits,
class _Alloc>
379 template <
class _Left,
class _Right,
class _StorageDir>
387 template <
class _Left,
class _Right,
class _StorageDir>
389 bool __do_init)
const {
395 template <
class _Left,
class _Right,
class _StorageDir>
401 size_t size()
const {
return 0; }
_BString & erase(size_type __pos=0, size_type __n=_BString::npos)
_BString::const_reverse_iterator const_reverse_iterator
basic_string< _CharT, _Traits, _Alloc > _M_storage
int compare(const _BString &__s) const
__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDirection > _Self
size_type find_first_of(const _BString &__s, size_type __pos=0) const
const _CharT * c_str() const
void _M_Init(__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref) const
const _CharT & const_reference
_Right const & getRhs() const
const_reference operator[](size_t __n) const
#define __STATIC_CAST(__x, __y)
bool _STLP_CALL operator==(const __bstr_sum< _CharT, _Traits, _Alloc, _Lh1, _Rh1, _StoreDir1 > &__lhs, const __bstr_sum< _CharT, _Traits, _Alloc, _Lh2, _Rh2, _StoreDir2 > &__rhs)
size_type find_last_not_of(_CharT __c, size_type __pos=_BString::npos) const
__bstr_sum(_Left const &lhs, _Right const &rhs)
size_type find(const _Self &__s, size_type __pos=0) const
size_type capacity() const
_BString & insert(size_type __pos, const _CharT *__s)
_BString & assign(const _BString &__s, size_type __pos, size_type __n)
int compare(size_type __pos1, size_type __n1, const _CharT *__s, size_type __n2) const
__sum_storage_elem(_Alloc __alloc)
__bstr_sum< _CharT, _Traits, _Alloc, _Self, __char_wrapper< _CharT >, __on_left > _CharOnLeft
_BString & replace(size_type __pos, size_type __n1, const _CharT *__s)
size_type find_first_not_of(_CharT __c, size_type __pos=0) const
const _CharT * data() const
_BString & replace(size_type __pos1, size_type __n1, const _BString &__s, size_type __pos2, size_type __n2)
__bstr_sum< _CharT, _Traits, _Alloc, _Self, __bstr_wrapper< _CharT, _Traits, _Alloc >, __on_left > _BStrOnLeft
basic_string< _CharT, _Traits, _Alloc > _BString
int compare(size_type __pos1, size_type __n1, const _Self &__s) const
_BString & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref, __on_right const &)
const_iterator end() const
_BString & replace(size_type __pos, size_type __n, const _BString &__s)
allocator_type get_allocator() const
_BString & _M_get_storage()
const_reference at(size_type __n) const
_BString const & b_str() const
size_type rfind(const _BString &__s, size_type __pos=_BString::npos) const
size_type find(const _CharT *__s, size_type __pos, size_type __n) const
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_BString & append(size_type __n, _CharT __c)
_BString & insert(size_type __pos, const _CharT *__s, size_type __n)
_Self & replace(size_type __pos, size_type __n, const _Self &__s)
_CStrOnLeft append(const _CharT *__s, size_type __n)
const _CharT & const_reference
_BString const & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref, bool __do_init) const
size_type find_last_of(const _CharT *__s, size_type __pos, size_type __n) const
_BString & insert(size_type __pos, const _BString &__s, size_type __beg, size_type __n)
const_iterator begin() const
_BStrOnLeft operator+=(const _BString &__s)
const _CharT * data() const
size_type find_last_of(const _BString &__s, size_type __pos=_BString::npos) const
const_reference operator[](size_t __n) const
_BString & append(const _BString &__s, size_type __pos, size_type __n)
const _CharT * c_str() const
__bstr_sum< _CharT, _Traits, _Alloc, __bstr_sum< _CharT, _Traits, _Alloc, _Lh1, _Rh1, _StoreDir1 >, __bstr_sum< _CharT, _Traits, _Alloc, _Lh2, _Rh2, _StoreDir2 >, __on_right > _STLP_CALL operator+(const __bstr_sum< _CharT, _Traits, _Alloc, _Lh1, _Rh1, _StoreDir1 > &__lhs, const __bstr_sum< _CharT, _Traits, _Alloc, _Lh2, _Rh2, _StoreDir2 > &__rhs)
_STLP_INLINE_LOOP _InputIter __last
#define _STLP_MUTABLE(type, x)
size_type find_last_not_of(const _CharT *__s, size_type __pos=_BString::npos) const
basic_string< _CharT, _Traits, _Alloc > _BString
_Base::size_type size_type
_BString const & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref, bool __do_init, __on_left const &) const
_BString::size_type size_type
_BString & insert(size_type __pos, size_type __n, _CharT __c)
#define _STLP_MOVE_TO_STD_NAMESPACE
size_type find_last_of(_CharT __c, size_type __pos=_BString::npos) const
bool operator !=(const SortClass &lhs, const SortClass &rhs)
int compare(size_type __pos1, size_type __n1, const _CharT *__s) const
size_type find_last_not_of(const _BString &__s, size_type __pos=_BString::npos) const
GLenum GLuint GLenum GLsizei length
_STLP_INLINE_LOOP _InputIter const _Tp & __val
const_reference operator[](size_t __n) const
_BString const & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref, bool __do_init, __on_right const &) const
_Self & assign(const _Self &__s)
int compare(const _CharT *__s) const
bool _STLP_CALL operator<=(const _Bit_iterator_base &__x, const _Bit_iterator_base &__y)
_Self & append(const _CharT *__first, const _CharT *__last)
size_type find_first_not_of(const _Self &__s, size_type __pos=0) const
_BStrOnLeft append(const _BString &__s)
_BString::const_reference const_reference
_BString & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref)
size_type find_last_not_of(const _Self &__s, size_type __pos=npos) const
reverse_iterator rbegin()
_Self substr(size_type __pos=0, size_type __n=npos) const
__cstr_wrapper(const _CharT *__cstr, size_t __size)
size_type rfind(const _Self &__s, size_type __pos=npos) const
_BString::const_iterator const_iterator
const _CharT * c_str() const
int compare(const _Self &__s) const
_BString const & _M_get_storage(bool __do_init=true) const
_BString & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref)
size_type find_last_of(const _CharT *__s, size_type __pos=_BString::npos) const
_BString & assign(size_type __n, _CharT __c)
size_type find_first_not_of(const _CharT *__s, size_type __pos=0) const
size_type find(const _BString &__s, size_type __pos=0) const
_BString substr(size_type __pos=0, size_type __n=_BString::npos) const
size_type find_first_of(const _Self &__s, size_type __pos=0) const
size_type find_first_of(const _CharT *__s, size_type __pos, size_type __n) const
__char_wrapper(_CharT __val)
int compare(size_type __pos1, size_type __n1, const _Self &__s, size_type __pos2, size_type __n2) const
size_type find_first_of(_CharT __c, size_type __pos=0) const
_BString const & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref, bool __do_init) const
_BString & assign(const _CharT *__s)
_BString & assign(const _CharT *__s, size_type __n)
size_type find(_CharT __c, size_type __pos=0) const
size_type rfind(const _CharT *__s, size_type __pos=_BString::npos) const
size_type find_first_of(const _CharT *__s, size_type __pos=0) const
__sum_storage_elem< _CharT, _Traits, _Alloc > _Self
size_type find_first_not_of(const _BString &__s, size_type __pos=0) const
size_type rfind(_CharT __c, size_type __pos=_BString::npos) const
_BString & append(_InputIter __first, _InputIter __last)
#define _STLP_END_NAMESPACE
size_type find(const _CharT *__s, size_type __pos=0) const
_BString & _M_get_storage(__bstr_sum< _CharT, _Traits, _Alloc, _Lhs, _Rhs, _StorageDir > const &__ref, __on_left const &)
basic_string< _CharT, _Traits, _Alloc > _BString
_BString & assign(const _BString &__s)
_BString & replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
_Base::allocator_type allocator_type
size_type copy(_CharT *__s, size_type __n, size_type __pos=0) const
const_reference at(size_type __n) const
_CharT const & operator[](size_t __n) const
_BString & replace(size_type __pos, size_type __n1, const _CharT *__s, size_type __n2)
const_reverse_iterator rbegin() const
#define _STLP_BEGIN_NAMESPACE
_BString & insert(size_type __pos, const _BString &__s)
size_type copy(_CharT *__s, size_type __n, size_type __pos=0) const
size_type find_last_of(const _Self &__s, size_type __pos=npos) const
_Self & insert(size_type __pos, const _Self &__s)
__bstr_sum< _CharT, _Traits, _Alloc, _Self, __cstr_wrapper< _CharT >, __on_left > _CStrOnLeft
const_reverse_iterator rend() const
_Self & erase(size_type __pos=0, size_type __n=npos)
size_type rfind(const _CharT *__s, size_type __pos, size_type __n) const
_Left const & getLhs() const
size_type max_size() const
const _CharT & const_reference
bool _STLP_CALL operator<(const __bstr_sum< _CharT, _Traits, _Alloc, _Lh1, _Rh1, _StoreDir1 > &__lhs, const __bstr_sum< _CharT, _Traits, _Alloc, _Lh2, _Rh2, _StoreDir2 > &__rhs)
_BString::allocator_type allocator_type
allocator_type get_allocator() const
const_reference operator[](size_t __n) const
size_type find_last_not_of(const _CharT *__s, size_type __pos, size_type __n) const
__bstr_wrapper(_BString const &__s)
size_type find_first_not_of(const _CharT *__s, size_type __pos, size_type __n) const
const value_type * const_iterator
const value_type & const_reference
_CStrOnLeft append(const _CharT *__s)