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 = _Mydata_t::_BUF_SIZE }
 
enum  { _ALLOC_MASK = _Mydata_t::_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 _String_val< _Val_types_Mydata_t
 
typedef _Mydata_t::_Bxty _Bxty
 
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< _Mydata_titerator
 
typedef _String_const_iterator< _Mydata_tconst_iterator
 

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
 
_Mydata_t_Get_data () _NOEXCEPT
 
const _Mydata_t_Get_data () 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, _Mydata_t_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 _Mydata_t::_Bxty _String_alloc< _Alloc_types >::_Bxty
template<class _Alloc_types>
typedef _String_val<_Val_types> _String_alloc< _Alloc_types >::_Mydata_t
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<_Mydata_t> _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<_Mydata_t> _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 
1674  { // length of internal buffer, [1, 16]
1675  _BUF_SIZE = _Mydata_t::_BUF_SIZE
1676  };
Definition: xstring:1675
template<class _Alloc_types>
anonymous enum
Enumerator
_ALLOC_MASK 
1679  { // roundup mask for allocated buffers, [0, 15]
1680  _ALLOC_MASK = _Mydata_t::_ALLOC_MASK
1681  };
Definition: xstring:1680

Constructor & Destructor Documentation

template<class _Alloc_types>
_String_alloc< _Alloc_types >::_String_alloc ( )
inline
1696  { // default construct allocator
1697  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
Definition: xutility:278
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
1703  _STD forward<_Any_alloc>(_Al))
1704  { // construct allocator from _Al
1705  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
Definition: xutility:282

Member Function Documentation

template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Copy_alloc ( const _Alty _Al)
inline
1708  { // replace old allocator
1709  _Pocca(_Getal(), _Al);
1710  }
_Alty & _Getal() _NOEXCEPT
Definition: xstring:1817
void _Pocca(_Alty &_Left, const _Alty &_Right, true_type) _NOEXCEPT
Definition: xmemory0:1131
template<class _Alloc_types>
_Mydata_t& _String_alloc< _Alloc_types >::_Get_data ( )
inline
1828  { // return reference to _String_val
1829  return (_Mypair._Get_second());
1830  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
template<class _Alloc_types>
const _Mydata_t& _String_alloc< _Alloc_types >::_Get_data ( ) const
inline
1833  { // return const reference to _String_val
1834  return (_Mypair._Get_second());
1835  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
template<class _Alloc_types>
_Alty& _String_alloc< _Alloc_types >::_Getal ( )
inline
1818  { // return reference to allocator
1819  return (_Mypair._Get_first());
1820  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
template<class _Alloc_types>
const _Alty& _String_alloc< _Alloc_types >::_Getal ( ) const
inline
1823  { // return const reference to allocator
1824  return (_Mypair._Get_first());
1825  }
_Compressed_pair< _Alty, _Mydata_t > _Mypair
Definition: xstring:1858
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Move_alloc ( _Alty _Al)
inline
1713  { // replace old allocator
1714  _Pocma(_Getal(), _Al);
1715  }
_Alty & _Getal() _NOEXCEPT
Definition: xstring:1817
void _Pocma(_Alty &_Left, _Alty &_Right, true_type) _NOEXCEPT
Definition: xmemory0:1150
template<class _Alloc_types>
value_type* _String_alloc< _Alloc_types >::_Myptr ( )
inline
1684  { // determine current pointer to buffer for mutable string
1685  return (_Get_data()._Myptr());
1686  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
value_type * _Myptr()
Definition: xstring:1683
template<class _Alloc_types>
const value_type* _String_alloc< _Alloc_types >::_Myptr ( ) const
inline
1689  { // determine current pointer to buffer for immutable string
1690  return (_Get_data()._Myptr());
1691  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
value_type * _Myptr()
Definition: xstring:1683
template<class _Alloc_types>
size_type& _String_alloc< _Alloc_types >::_Myres ( )
inline
1848  { // return reference to _Myres
1849  return (_Get_data()._Myres);
1850  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
size_type & _Myres() _NOEXCEPT
Definition: xstring:1847
template<class _Alloc_types>
const size_type& _String_alloc< _Alloc_types >::_Myres ( ) const
inline
1853  { // return const reference to _Myres
1854  return (_Get_data()._Myres);
1855  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
size_type & _Myres() _NOEXCEPT
Definition: xstring:1847
template<class _Alloc_types>
size_type& _String_alloc< _Alloc_types >::_Mysize ( )
inline
1838  { // return reference to _Mysize
1839  return (_Get_data()._Mysize);
1840  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
size_type & _Mysize() _NOEXCEPT
Definition: xstring:1837
template<class _Alloc_types>
const size_type& _String_alloc< _Alloc_types >::_Mysize ( ) const
inline
1843  { // return const reference to _Mysize
1844  return (_Get_data()._Mysize);
1845  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
size_type & _Mysize() _NOEXCEPT
Definition: xstring:1837
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Orphan_all ( )
inline
1808  { // orphan all iterators
1809  _Get_data()._Orphan_all();
1810  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
void _Orphan_all()
Definition: xutility:62
template<class _Alloc_types>
void _String_alloc< _Alloc_types >::_Swap_all ( _Myt _Right)
inline
1813  { // swap all iterators
1814  _Get_data()._Swap_all(_Right._Get_data());
1815  }
_Mydata_t & _Get_data() _NOEXCEPT
Definition: xstring:1827
void _Swap_all(_Container_base0 &)
Definition: xutility:66
constexpr const _Ty &() _Right
Definition: algorithm:3723

Member Data Documentation

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

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