STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Types | Public Member Functions | List of all members
_Wrap_alloc< _Alloc > Struct Template Reference
Inheritance diagram for _Wrap_alloc< _Alloc >:

Classes

struct  rebind
 

Public Types

typedef _Wrap_alloc< _Alloc > other
 
typedef _Alloc _Mybase
 
typedef allocator_traits< _Alloc > _Mytraits
 
typedef _Mytraits::value_type value_type
 
typedef _Mytraits::pointer pointer
 
typedef _Mytraits::const_pointer const_pointer
 
typedef _Mytraits::void_pointer void_pointer
 
typedef _Mytraits::const_void_pointer const_void_pointer
 
typedef _If< is_void< value_type >::value, int, value_type >::type & reference
 
typedef _If< is_void< const value_type >::value, const int, const value_type >::type & const_reference
 
typedef _Mytraits::size_type size_type
 
typedef _Mytraits::difference_type difference_type
 
typedef _Mytraits::propagate_on_container_copy_assignment propagate_on_container_copy_assignment
 
typedef _Mytraits::propagate_on_container_move_assignment propagate_on_container_move_assignment
 
typedef _Mytraits::propagate_on_container_swap propagate_on_container_swap
 

Public Member Functions

_Wrap_alloc select_on_container_copy_construction () const
 
pointer address (reference _Val) const
 
const_pointer address (const_reference _Val) const
 
 _Wrap_alloc () _THROW0()
 
 _Wrap_alloc (const _Mybase &_Right) _THROW0()
 
 _Wrap_alloc (const _Wrap_alloc &_Right) _THROW0()
 
template<class _Other >
 _Wrap_alloc (const _Other &_Right) _THROW0()
 
template<class _Other >
 _Wrap_alloc (_Other &_Right) _THROW0()
 
_Wrap_allocoperator= (const _Mybase &_Right)
 
_Wrap_allocoperator= (const _Wrap_alloc &_Right)
 
template<class _Other >
_Wrap_allocoperator= (const _Other &_Right)
 
pointer allocate (size_type _Count)
 
pointer allocate (size_type _Count, const_void_pointer _Hint)
 
void deallocate (pointer _Ptr, size_type _Count)
 
void construct (value_type *_Ptr)
 
template<class _Ty , class... _Types>
void construct (_Ty *_Ptr, _Types &&..._Args)
 
template<class _Ty >
void destroy (_Ty *_Ptr)
 
size_type max_size () const _THROW0()
 

Member Typedef Documentation

template<class _Alloc>
typedef _Alloc _Wrap_alloc< _Alloc >::_Mybase
template<class _Alloc>
typedef allocator_traits<_Alloc> _Wrap_alloc< _Alloc >::_Mytraits
template<class _Alloc>
typedef _Mytraits::const_pointer _Wrap_alloc< _Alloc >::const_pointer
template<class _Alloc>
typedef _If<is_void<const value_type>::value, const int, const value_type>::type& _Wrap_alloc< _Alloc >::const_reference
template<class _Alloc>
typedef _Mytraits::const_void_pointer _Wrap_alloc< _Alloc >::const_void_pointer
template<class _Alloc>
typedef _Mytraits::difference_type _Wrap_alloc< _Alloc >::difference_type
template<class _Alloc>
typedef _Wrap_alloc<_Alloc> _Wrap_alloc< _Alloc >::other
template<class _Alloc>
typedef _Mytraits::pointer _Wrap_alloc< _Alloc >::pointer
template<class _Alloc>
typedef _If<is_void<value_type>::value, int, value_type>::type& _Wrap_alloc< _Alloc >::reference
template<class _Alloc>
typedef _Mytraits::size_type _Wrap_alloc< _Alloc >::size_type
template<class _Alloc>
typedef _Mytraits::value_type _Wrap_alloc< _Alloc >::value_type
template<class _Alloc>
typedef _Mytraits::void_pointer _Wrap_alloc< _Alloc >::void_pointer

Constructor & Destructor Documentation

template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( )
inline
800  : _Mybase()
801  { // construct default allocator (do nothing)
802  }
_Alloc _Mybase
Definition: xmemory0:752
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( const _Mybase _Right)
inline
805  : _Mybase(_Right)
806  { // construct by copying base
807  }
_Alloc _Mybase
Definition: xmemory0:752
const _Ty & _Right
Definition: algorithm:4087
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( const _Wrap_alloc< _Alloc > &  _Right)
inline
810  : _Mybase(_Right)
811  { // construct by copying
812  }
_Alloc _Mybase
Definition: xmemory0:752
template<class _Alloc>
template<class _Other >
_Wrap_alloc< _Alloc >::_Wrap_alloc ( const _Other &  _Right)
inline
816  : _Mybase(_Right)
817  { // construct from a related allocator
818  }
_Alloc _Mybase
Definition: xmemory0:752
const _Ty & _Right
Definition: algorithm:4087
template<class _Alloc>
template<class _Other >
_Wrap_alloc< _Alloc >::_Wrap_alloc ( _Other &  _Right)
inline
822  : _Mybase(_Right)
823  { // construct from a related allocator
824  }
_Alloc _Mybase
Definition: xmemory0:752
const _Ty & _Right
Definition: algorithm:4087

Member Function Documentation

template<class _Alloc>
pointer _Wrap_alloc< _Alloc >::address ( reference  _Val) const
inline
790  { // return address of mutable _Val
791  return (_STD addressof(_Val));
792  }
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Alloc>
const_pointer _Wrap_alloc< _Alloc >::address ( const_reference  _Val) const
inline
795  { // return address of nonmutable _Val
796  return (_STD addressof(_Val));
797  }
_Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:91
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Alloc>
pointer _Wrap_alloc< _Alloc >::allocate ( size_type  _Count)
inline
846  { // allocate array of _Count elements
847  return (_Mybase::allocate(_Count));
848  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc>
pointer _Wrap_alloc< _Alloc >::allocate ( size_type  _Count,
const_void_pointer  _Hint 
)
inline
852  { // allocate array of _Count elements, with hint
853  return (_Mytraits::allocate(*this, _Count, _Hint));
854  }
_Diff _Count
Definition: algorithm:1941
static pointer allocate(_Alloc &_Al, size_type _Count)
Definition: xmemory0:446
template<class _Alloc>
void _Wrap_alloc< _Alloc >::construct ( value_type _Ptr)
inline
862  { // default construct object at _Ptr
863  _Mytraits::construct(*this, _Ptr);
864  }
static void construct(_Alloc &_Al, _Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:465
template<class _Alloc>
template<class _Ty , class... _Types>
void _Wrap_alloc< _Alloc >::construct ( _Ty *  _Ptr,
_Types &&...  _Args 
)
inline
870  { // construct _Ty(_Types...) at _Ptr
871  _Mytraits::construct(*this, _Ptr,
872  _STD forward<_Types>(_Args)...);
873  }
static void construct(_Alloc &_Al, _Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:465
template<class _Alloc>
void _Wrap_alloc< _Alloc >::deallocate ( pointer  _Ptr,
size_type  _Count 
)
inline
857  { // deallocate object at _Ptr, ignore size
858  _Mybase::deallocate(_Ptr, _Count);
859  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc>
template<class _Ty >
void _Wrap_alloc< _Alloc >::destroy ( _Ty *  _Ptr)
inline
878  { // destroy object at _Ptr
879  _Mytraits::destroy(*this, _Ptr);
880  }
static void destroy(_Alloc &_Al, _Ty *_Ptr)
Definition: xmemory0:474
template<class _Alloc>
size_type _Wrap_alloc< _Alloc >::max_size ( ) const
inline
883  { // get maximum size
884  return (_Mytraits::max_size(*this));
885  }
static size_type max_size(const _Alloc &_Al)
Definition: xmemory0:479
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( const _Mybase _Right)
inline
827  { // construct by copying base
828  _Mybase::operator=(_Right);
829  return (*this);
830  }
const _Ty & _Right
Definition: algorithm:4087
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( const _Wrap_alloc< _Alloc > &  _Right)
inline
833  { // construct by copying
834  _Mybase::operator=(_Right);
835  return (*this);
836  }
template<class _Alloc>
template<class _Other >
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( const _Other &  _Right)
inline
840  { // assign from a related allocator
841  _Mybase::operator=(_Right);
842  return (*this);
843  }
const _Ty & _Right
Definition: algorithm:4087
template<class _Alloc>
_Wrap_alloc _Wrap_alloc< _Alloc >::select_on_container_copy_construction ( ) const
inline
778  { // get allocator to use
780  }
static _Alloc select_on_container_copy_construction(const _Alloc &_Al)
Definition: xmemory0:484

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