STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Attributes | List of all members
_String_alloc< _Alloc_types > Class Template Reference

Public Types

enum  { _BUF_SIZE = _String_val<_Val_types>::_BUF_SIZE }
 
enum  { _ALLOC_MASK = _String_val<_Val_types>::_ALLOC_MASK }
 
typedef _String_alloc< _Alloc_types > _Myt
 
typedef _Alloc_types::_Alloc _Alloc
 
typedef _Alloc_types::_Alty _Alty
 
typedef _Alloc_types::_Val_types _Val_types
 
typedef _Val_types::value_type value_type
 
typedef _Val_types::size_type size_type
 
typedef _Val_types::difference_type difference_type
 
typedef _Val_types::pointer pointer
 
typedef _Val_types::const_pointer const_pointer
 
typedef _Val_types::reference reference
 
typedef _Val_types::const_reference const_reference
 
typedef _String_iterator< _String_val< _Val_types > > iterator
 
typedef _String_const_iterator< _String_val< _Val_types > > const_iterator
 
typedef _String_val< _Val_types >::_Bxty _Bxty
 

Public Member Functions

value_type_Myptr ()
 
const value_type_Myptr () const
 
 _String_alloc ()
 
template<class _Any_alloc , class = enable_if_t<!is_same<decay_t<_Any_alloc>, _Myt>::value>>
 _String_alloc (_Any_alloc &&_Al)
 
void _Copy_alloc (const _Alty &_Al)
 
void _Move_alloc (_Alty &_Al)
 
void _Orphan_all ()
 
void _Swap_all (_Myt &_Right)
 
_Alty_Getal () _NOEXCEPT
 
const _Alty_Getal () const _NOEXCEPT
 
_String_val< _Val_types > & _Get_data () _NOEXCEPT
 
const _String_val< _Val_types > & _Get_data () const _NOEXCEPT
 
_Bxty_Bx () _NOEXCEPT
 
const _Bxty_Bx () const _NOEXCEPT
 
size_type_Mysize () _NOEXCEPT
 
const size_type_Mysize () const _NOEXCEPT
 
size_type_Myres () _NOEXCEPT
 
const size_type_Myres () const _NOEXCEPT
 

Private Attributes

_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
 

Member Typedef Documentation

template<class _Alloc_types>
typedef _Alloc_types::_Alloc _String_alloc< _Alloc_types >::_Alloc
template<class _Alloc_types>
typedef _Alloc_types::_Alty _String_alloc< _Alloc_types >::_Alty
template<class _Alloc_types>
typedef _String_val<_Val_types>::_Bxty _String_alloc< _Alloc_types >::_Bxty
template<class _Alloc_types>
typedef _String_alloc<_Alloc_types> _String_alloc< _Alloc_types >::_Myt
template<class _Alloc_types>
typedef _Alloc_types::_Val_types _String_alloc< _Alloc_types >::_Val_types
template<class _Alloc_types>
typedef _String_const_iterator<_String_val<_Val_types> > _String_alloc< _Alloc_types >::const_iterator
template<class _Alloc_types>
typedef _Val_types::const_pointer _String_alloc< _Alloc_types >::const_pointer
template<class _Alloc_types>
typedef _Val_types::const_reference _String_alloc< _Alloc_types >::const_reference
template<class _Alloc_types>
typedef _Val_types::difference_type _String_alloc< _Alloc_types >::difference_type
template<class _Alloc_types>
typedef _String_iterator<_String_val<_Val_types> > _String_alloc< _Alloc_types >::iterator
template<class _Alloc_types>
typedef _Val_types::pointer _String_alloc< _Alloc_types >::pointer
template<class _Alloc_types>
typedef _Val_types::reference _String_alloc< _Alloc_types >::reference
template<class _Alloc_types>
typedef _Val_types::size_type _String_alloc< _Alloc_types >::size_type
template<class _Alloc_types>
typedef _Val_types::value_type _String_alloc< _Alloc_types >::value_type

Member Enumeration Documentation

template<class _Alloc_types>
anonymous enum
Enumerator
_BUF_SIZE 
567  { // length of internal buffer, [1, 16]
569  };
Definition: xstring:477
Definition: xstring:568
template<class _Alloc_types>
anonymous enum
Enumerator
_ALLOC_MASK 
572  { // roundup mask for allocated buffers, [0, 15]
574  };
Definition: xstring:573
Definition: xstring:477

Constructor & Destructor Documentation

template<class _Alloc_types>
_String_alloc< _Alloc_types >::_String_alloc ( )
inline
589  { // default construct allocator
590  }
Definition: xutility:255
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
template<class _Alloc_types>
template<class _Any_alloc , class = enable_if_t<!is_same<decay_t<_Any_alloc>, _Myt>::value>>
_String_alloc< _Alloc_types >::_String_alloc ( _Any_alloc &&  _Al)
inline
596  _STD forward<_Any_alloc>(_Al))
597  { // construct allocator from _Al
598  }
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
Definition: xutility:259

Member Function Documentation

template<class _Alloc_types>
_Bxty& _String_alloc< _Alloc_types >::_Bx ( )
inline
713  { // return reference to _Bx
714  return (_Get_data()._Bx);
715  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
_Bxty & _Bx() _NOEXCEPT
Definition: xstring:712
template<class _Alloc_types>
const _Bxty& _String_alloc< _Alloc_types >::_Bx ( ) const
inline
718  { // return const reference to _Bx
719  return (_Get_data()._Bx);
720  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
_Bxty & _Bx() _NOEXCEPT
Definition: xstring:712
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Copy_alloc ( const _Alty _Al)
inline
601  { // replace old allocator
602  _Pocca(_Getal(), _Al);
603  }
_Alty & _Getal() _NOEXCEPT
Definition: xstring:690
void _Pocca(_Alty &_Left, const _Alty &_Right, true_type) _NOEXCEPT
Definition: xmemory0:1031
template<class _Alloc_types>
_String_val<_Val_types>& _String_alloc< _Alloc_types >::_Get_data ( )
inline
701  { // return reference to _String_val
702  return (_Mypair._Get_second());
703  }
_Ty2 & _Get_second() _NOEXCEPT
Definition: xutility:313
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
template<class _Alloc_types>
const _String_val<_Val_types>& _String_alloc< _Alloc_types >::_Get_data ( ) const
inline
706  { // return const reference to _String_val
707  return (_Mypair._Get_second());
708  }
_Ty2 & _Get_second() _NOEXCEPT
Definition: xutility:313
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
template<class _Alloc_types>
_Alty& _String_alloc< _Alloc_types >::_Getal ( )
inline
691  { // return reference to allocator
692  return (_Mypair._Get_first());
693  }
_Ty1 & _Get_first() _NOEXCEPT
Definition: xutility:293
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
template<class _Alloc_types>
const _Alty& _String_alloc< _Alloc_types >::_Getal ( ) const
inline
696  { // return const reference to allocator
697  return (_Mypair._Get_first());
698  }
_Ty1 & _Get_first() _NOEXCEPT
Definition: xutility:293
_Compressed_pair< _Alty, _String_val< _Val_types > > _Mypair
Definition: xstring:743
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Move_alloc ( _Alty _Al)
inline
606  { // replace old allocator
607  _Pocma(_Getal(), _Al);
608  }
_Alty & _Getal() _NOEXCEPT
Definition: xstring:690
void _Pocma(_Alty &_Left, _Alty &_Right, true_type) _NOEXCEPT
Definition: xmemory0:1050
template<class _Alloc_types>
value_type* _String_alloc< _Alloc_types >::_Myptr ( )
inline
577  { // determine current pointer to buffer for mutable string
578  return (_Get_data()._Myptr());
579  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
value_type * _Myptr()
Definition: xstring:576
template<class _Alloc_types>
const value_type* _String_alloc< _Alloc_types >::_Myptr ( ) const
inline
582  { // determine current pointer to buffer for nonmutable string
583  return (_Get_data()._Myptr());
584  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
value_type * _Myptr()
Definition: xstring:576
template<class _Alloc_types>
size_type& _String_alloc< _Alloc_types >::_Myres ( )
inline
733  { // return reference to _Myres
734  return (_Get_data()._Myres);
735  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
size_type & _Myres() _NOEXCEPT
Definition: xstring:732
template<class _Alloc_types>
const size_type& _String_alloc< _Alloc_types >::_Myres ( ) const
inline
738  { // return const reference to _Myres
739  return (_Get_data()._Myres);
740  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
size_type & _Myres() _NOEXCEPT
Definition: xstring:732
template<class _Alloc_types>
size_type& _String_alloc< _Alloc_types >::_Mysize ( )
inline
723  { // return reference to _Mysize
724  return (_Get_data()._Mysize);
725  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
size_type & _Mysize() _NOEXCEPT
Definition: xstring:722
template<class _Alloc_types>
const size_type& _String_alloc< _Alloc_types >::_Mysize ( ) const
inline
728  { // return const reference to _Mysize
729  return (_Get_data()._Mysize);
730  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
size_type & _Mysize() _NOEXCEPT
Definition: xstring:722
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Orphan_all ( )
inline
681  { // orphan all iterators
682  _Get_data()._Orphan_all();
683  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Swap_all ( _Myt _Right)
inline
686  { // swap all iterators
687  _Get_data()._Swap_all(_Right._Get_data());
688  }
_String_val< _Val_types > & _Get_data() _NOEXCEPT
Definition: xstring:700
constexpr const _Ty &() _Right
Definition: algorithm:3591

Member Data Documentation

template<class _Alloc_types>
_Compressed_pair<_Alty, _String_val<_Val_types> > _String_alloc< _Alloc_types >::_Mypair
private

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