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 _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
 
typedef _Mytraits::is_always_equal is_always_equal
 

Public Member Functions

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

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 _Mytraits::is_always_equal _Wrap_alloc< _Alloc >::is_always_equal
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
1036  : _Mybase()
1037  { // construct default allocator (do nothing)
1038  }
_Alloc _Mybase
Definition: xmemory0:985
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( const _Wrap_alloc< _Alloc > &  _Right)
inline
1041  : _Mybase(_Right)
1042  { // construct by copying
1043  }
_Alloc _Mybase
Definition: xmemory0:985
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( _Wrap_alloc< _Alloc > &&  _Right)
inline
1046  : _Mybase(_STD move(_Right))
1047  { // construct by moving
1048  }
_Alloc _Mybase
Definition: xmemory0:985
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
template<class _Alloc>
template<class _Other >
_Wrap_alloc< _Alloc >::_Wrap_alloc ( _Other &&  _Right)
inline
1052  : _Mybase(_STD forward<_Other>(_Right))
1053  { // construct from a related allocator
1054  }
_Alloc _Mybase
Definition: xmemory0:985
constexpr const _Ty &() _Right
Definition: algorithm:3723

Member Function Documentation

template<class _Alloc>
pointer _Wrap_alloc< _Alloc >::address ( reference  _Val) const
inline
1026  { // return address of mutable _Val
1028  }
Definition: xmemory0:254
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Alloc>
const_pointer _Wrap_alloc< _Alloc >::address ( const_reference  _Val) const
inline
1031  { // return address of nonmutable _Val
1033  }
Definition: xmemory0:254
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Alloc>
_DECLSPEC_ALLOCATOR pointer _Wrap_alloc< _Alloc >::allocate ( _CRT_GUARDOVERFLOW size_type  _Count)
inline
1076  { // allocate array of _Count elements
1077  return (_Mybase::allocate(_Count));
1078  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc>
_DECLSPEC_ALLOCATOR pointer _Wrap_alloc< _Alloc >::allocate ( _CRT_GUARDOVERFLOW size_type  _Count,
const_void_pointer  _Hint,
_Nil  = _Nil() 
)
inline
1082  { // allocate array of _Count elements, with hint
1083  return (_Mytraits::allocate(*this, _Count, _Hint));
1084  }
static _DECLSPEC_ALLOCATOR pointer allocate(_Alloc &_Al, _CRT_GUARDOVERFLOW size_type _Count)
Definition: xmemory0:688
_Diff _Count
Definition: algorithm:1941
template<class _Alloc>
template<class _Ty , class... _Types>
void _Wrap_alloc< _Alloc >::construct ( _Ty *  _Ptr,
_Types &&...  _Args 
)
inline
1095  { // construct _Ty(_Types...) at _Ptr
1096  _Mytraits::construct(*this, _Ptr,
1097  _STD forward<_Types>(_Args)...);
1098  }
static void construct(_Alloc &_Al, _Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:724
template<class _Alloc>
void _Wrap_alloc< _Alloc >::deallocate ( pointer  _Ptr,
size_type  _Count 
)
inline
1087  { // deallocate object at _Ptr, ignore size
1088  _Mybase::deallocate(_Ptr, _Count);
1089  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc>
template<class _Ty >
void _Wrap_alloc< _Alloc >::destroy ( _Ty *  _Ptr)
inline
1102  { // destroy object at _Ptr
1103  _Mytraits::destroy(*this, _Ptr);
1104  }
static void destroy(_Alloc &_Al, _Ty *_Ptr)
Definition: xmemory0:744
template<class _Alloc>
size_type _Wrap_alloc< _Alloc >::max_size ( _Nil  = _Nil()) const
inline
1107  { // get maximum size
1108  return (_Mytraits::max_size(*this));
1109  }
static size_type max_size(const _Alloc &_Al) _NOEXCEPT
Definition: xmemory0:749
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( const _Wrap_alloc< _Alloc > &  _Right)
inline
1057  { // assign by copying
1058  _Mybase::operator=(_Right);
1059  return (*this);
1060  }
_Variant_copymove_layer_ & operator=(_Variant_copymove_layer_ &&_That) _NOEXCEPT_OP((conjunction< is_nothrow_move_constructible< _Types >...
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( _Wrap_alloc< _Alloc > &&  _Right)
inline
1063  { // assign by moving
1064  _Mybase::operator=(_STD move(_Right));
1065  return (*this);
1066  }
_Variant_copymove_layer_ & operator=(_Variant_copymove_layer_ &&_That) _NOEXCEPT_OP((conjunction< is_nothrow_move_constructible< _Types >...
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
template<class _Alloc>
template<class _Other >
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( _Other &&  _Right)
inline
1070  { // assign from a related allocator
1071  _Mybase::operator=(_STD forward<_Other>(_Right));
1072  return (*this);
1073  }
_Variant_copymove_layer_ & operator=(_Variant_copymove_layer_ &&_That) _NOEXCEPT_OP((conjunction< is_nothrow_move_constructible< _Types >...
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Alloc>
_Wrap_alloc _Wrap_alloc< _Alloc >::select_on_container_copy_construction ( _Nil  = _Nil()) const
inline
1013  { // get allocator to use
1015  }
static _Alloc select_on_container_copy_construction(const _Alloc &_Al)
Definition: xmemory0:754

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