STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
_String_val< _Val_types > Class Template Reference
Inheritance diagram for _String_val< _Val_types >:
_Container_base0

Classes

union  _Bxty
 

Public Types

enum  
 
enum  
 
typedef _String_val< _Val_types > _Myt
 
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< _Mytiterator
 
typedef _String_const_iterator< _Mytconst_iterator
 

Public Member Functions

 _String_val ()
 
value_type_Myptr ()
 
const value_type_Myptr () const
 
- Public Member Functions inherited from _Container_base0
void _Orphan_all ()
 
void _Swap_all (_Container_base0 &)
 

Public Attributes

union _String_val::_Bxty _Bx
 
size_type _Mysize
 
size_type _Myres
 

Member Typedef Documentation

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

Member Enumeration Documentation

template<class _Val_types >
anonymous enum
502  { // length of internal buffer, [1, 16]
503  _BUF_SIZE = 16 / sizeof (value_type) < 1 ? 1
504  : 16 / sizeof (value_type)};
_Val_types::value_type value_type
Definition: xstring:483
template<class _Val_types >
anonymous enum
506  { // roundup mask for allocated buffers, [0, 15]
507  _ALLOC_MASK = sizeof (value_type) <= 1 ? 15
508  : sizeof (value_type) <= 2 ? 7
509  : sizeof (value_type) <= 4 ? 3
510  : sizeof (value_type) <= 8 ? 1 : 0};
_Val_types::value_type value_type
Definition: xstring:483

Constructor & Destructor Documentation

template<class _Val_types >
_String_val< _Val_types >::_String_val ( )
inline
495  : _Bx(),
496  _Mysize(0),
497  _Myres(0)
498  { // initialize values
499  }
size_type _Mysize
Definition: xstring:541
union _String_val::_Bxty _Bx
size_type _Myres
Definition: xstring:542

Member Function Documentation

template<class _Val_types >
value_type* _String_val< _Val_types >::_Myptr ( )
inline
513  { // determine current pointer to buffer for mutable string
514  return (this->_BUF_SIZE <= _Myres
515  ? _Unfancy(_Bx._Ptr)
516  : _Bx._Buf);
517  }
pointer _Ptr
Definition: xstring:537
union _String_val::_Bxty _Bx
size_type _Myres
Definition: xstring:542
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
value_type _Buf[_BUF_SIZE]
Definition: xstring:536
template<class _Val_types >
const value_type* _String_val< _Val_types >::_Myptr ( ) const
inline
520  { // determine current pointer to buffer for nonmutable string
521  return (this->_BUF_SIZE <= _Myres
522  ? _Unfancy(_Bx._Ptr)
523  : _Bx._Buf);
524  }
pointer _Ptr
Definition: xstring:537
union _String_val::_Bxty _Bx
size_type _Myres
Definition: xstring:542
auto _Unfancy(_Ptrty _Ptr)
Definition: xstddef:732
value_type _Buf[_BUF_SIZE]
Definition: xstring:536

Member Data Documentation

template<class _Val_types >
union _String_val::_Bxty _String_val< _Val_types >::_Bx
template<class _Val_types >
size_type _String_val< _Val_types >::_Myres
template<class _Val_types >
size_type _String_val< _Val_types >::_Mysize

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