ReactOS 0.4.16-dev-320-g3bd9ddc
__sum_storage_elem< _CharT, _Traits, _Alloc > Struct Template Reference

#include <_string_sum.h>

Public Types

typedef __sum_storage_elem< _CharT, _Traits, _Alloc_Self
 
typedef basic_string< _CharT, _Traits, _Alloc_BString
 

Public Member Functions

 __sum_storage_elem (_Alloc __alloc)
 
template<class _Left , class _Right , class _StorageDir >
void _M_Init (__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref) const
 
template<class _Left , class _Right , class _StorageDir >
_BString const_M_get_storage (__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref, bool __do_init) const
 
template<class _Left , class _Right , class _StorageDir >
_BString_M_get_storage (__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref)
 
size_t size () const
 
_CharT constoperator[] (size_t __n) const
 

Private Attributes

bool _M_init
 
basic_string< _CharT, _Traits, _Alloc_M_storage
 

Detailed Description

template<class _CharT, class _Traits, class _Alloc>
struct __sum_storage_elem< _CharT, _Traits, _Alloc >

Definition at line 372 of file _string_sum.h.

Member Typedef Documentation

◆ _BString

template<class _CharT , class _Traits , class _Alloc >
typedef basic_string<_CharT, _Traits, _Alloc> __sum_storage_elem< _CharT, _Traits, _Alloc >::_BString

Definition at line 374 of file _string_sum.h.

◆ _Self

template<class _CharT , class _Traits , class _Alloc >
typedef __sum_storage_elem<_CharT, _Traits, _Alloc> __sum_storage_elem< _CharT, _Traits, _Alloc >::_Self

Definition at line 373 of file _string_sum.h.

Constructor & Destructor Documentation

◆ __sum_storage_elem()

template<class _CharT , class _Traits , class _Alloc >
__sum_storage_elem< _CharT, _Traits, _Alloc >::__sum_storage_elem ( _Alloc  __alloc)
inline

Definition at line 376 of file _string_sum.h.

376 : _M_init(false), _M_storage(__alloc)
377 {}
basic_string< _CharT, _Traits, _Alloc > _M_storage
Definition: _string_sum.h:407

Member Function Documentation

◆ _M_get_storage() [1/2]

template<class _CharT , class _Traits , class _Alloc >
template<class _Left , class _Right , class _StorageDir >
_BString & __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_get_storage ( __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __ref)
inline

Definition at line 396 of file _string_sum.h.

396 {
397 _M_Init(__ref);
398 return _M_storage;
399 }
void _M_Init(__bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const &__ref) const
Definition: _string_sum.h:380

◆ _M_get_storage() [2/2]

template<class _CharT , class _Traits , class _Alloc >
template<class _Left , class _Right , class _StorageDir >
_BString const & __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_get_storage ( __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __ref,
bool  __do_init 
) const
inline

Definition at line 388 of file _string_sum.h.

389 {
390 if (__do_init) {
391 _M_Init(__ref);
392 }
393 return _M_storage;
394 }

◆ _M_Init()

template<class _CharT , class _Traits , class _Alloc >
template<class _Left , class _Right , class _StorageDir >
void __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_Init ( __bstr_sum< _CharT, _Traits, _Alloc, _Left, _Right, _StorageDir > const __ref) const
inline

Definition at line 380 of file _string_sum.h.

380 {
381 if (!_M_init) {
383 _STLP_MUTABLE(_Self, _M_init) = true;
384 }
385 }
#define _STLP_MUTABLE(type, x)
Definition: features.h:634
__sum_storage_elem< _CharT, _Traits, _Alloc > _Self
Definition: _string_sum.h:373

Referenced by __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_get_storage().

◆ operator[]()

template<class _CharT , class _Traits , class _Alloc >
_CharT const & __sum_storage_elem< _CharT, _Traits, _Alloc >::operator[] ( size_t  __n) const
inline

Definition at line 402 of file _string_sum.h.

403 { return __STATIC_CAST(_CharT*, 0)[__n]; }
return __n
Definition: _algo.h:75
#define __STATIC_CAST(__x, __y)
Definition: features.h:585

◆ size()

template<class _CharT , class _Traits , class _Alloc >
size_t __sum_storage_elem< _CharT, _Traits, _Alloc >::size ( ) const
inline

Definition at line 401 of file _string_sum.h.

401{ return 0; }

Member Data Documentation

◆ _M_init

template<class _CharT , class _Traits , class _Alloc >
bool __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_init
mutableprivate

◆ _M_storage

template<class _CharT , class _Traits , class _Alloc >
basic_string<_CharT, _Traits, _Alloc> __sum_storage_elem< _CharT, _Traits, _Alloc >::_M_storage
mutableprivate

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