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
499  { // length of internal buffer, [1, 16]
500  _BUF_SIZE = 16 / sizeof (value_type) < 1 ? 1
501  : 16 / sizeof (value_type)};
_Val_types::value_type value_type
Definition: xstring:481
template<class _Val_types>
anonymous enum
503  { // roundup mask for allocated buffers, [0, 15]
504  _ALLOC_MASK = sizeof (value_type) <= 1 ? 15
505  : sizeof (value_type) <= 2 ? 7
506  : sizeof (value_type) <= 4 ? 3
507  : sizeof (value_type) <= 8 ? 1 : 0};
_Val_types::value_type value_type
Definition: xstring:481

Constructor & Destructor Documentation

template<class _Val_types>
_String_val< _Val_types >::_String_val ( )
inline
493  { // initialize values
494  _Mysize = 0;
495  _Myres = 0;
496  }
size_type _Mysize
Definition: xstring:530
size_type _Myres
Definition: xstring:531

Member Function Documentation

template<class _Val_types>
value_type* _String_val< _Val_types >::_Myptr ( )
inline
510  { // determine current pointer to buffer for mutable string
511  return (this->_BUF_SIZE <= this->_Myres
512  ? _STD addressof(*this->_Bx._Ptr)
513  : this->_Bx._Buf);
514  }
pointer _Ptr
Definition: xstring:526
union _String_val::_Bxty _Bx
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
size_type _Myres
Definition: xstring:531
template<class _Val_types>
const value_type* _String_val< _Val_types >::_Myptr ( ) const
inline
517  { // determine current pointer to buffer for nonmutable string
518  return (this->_BUF_SIZE <= this->_Myres
519  ? _STD addressof(*this->_Bx._Ptr)
520  : this->_Bx._Buf);
521  }
pointer _Ptr
Definition: xstring:526
union _String_val::_Bxty _Bx
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
size_type _Myres
Definition: xstring:531

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: