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 (size_type _Count)
 
_DECLSPEC_ALLOCATOR pointer allocate (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
935  : _Mybase()
936  { // construct default allocator (do nothing)
937  }
_Alloc _Mybase
Definition: xmemory0:884
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( const _Wrap_alloc< _Alloc > &  _Right)
inline
940  : _Mybase(_Right)
941  { // construct by copying
942  }
_Alloc _Mybase
Definition: xmemory0:884
template<class _Alloc>
_Wrap_alloc< _Alloc >::_Wrap_alloc ( _Wrap_alloc< _Alloc > &&  _Right)
inline
945  : _Mybase(_STD move(_Right))
946  { // construct by moving
947  }
_Alloc _Mybase
Definition: xmemory0:884
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Alloc>
template<class _Other >
_Wrap_alloc< _Alloc >::_Wrap_alloc ( _Other &&  _Right)
inline
951  : _Mybase(_STD forward<_Other>(_Right))
952  { // construct from a related allocator
953  }
_Alloc _Mybase
Definition: xmemory0:884
constexpr const _Ty &() _Right
Definition: algorithm:3591

Member Function Documentation

template<class _Alloc>
pointer _Wrap_alloc< _Alloc >::address ( reference  _Val) const
inline
925  { // return address of mutable _Val
927  }
_In_ int _Val
Definition: vcruntime_string.h:62
Definition: xmemory0:244
template<class _Alloc>
const_pointer _Wrap_alloc< _Alloc >::address ( const_reference  _Val) const
inline
930  { // return address of nonmutable _Val
932  }
_In_ int _Val
Definition: vcruntime_string.h:62
Definition: xmemory0:244
template<class _Alloc>
_DECLSPEC_ALLOCATOR pointer _Wrap_alloc< _Alloc >::allocate ( size_type  _Count)
inline
975  { // allocate array of _Count elements
976  return (_Mybase::allocate(_Count));
977  }
unsigned int _Count
Definition: xcomplex:668
template<class _Alloc>
_DECLSPEC_ALLOCATOR pointer _Wrap_alloc< _Alloc >::allocate ( size_type  _Count,
const_void_pointer  _Hint,
_Nil  = _Nil() 
)
inline
981  { // allocate array of _Count elements, with hint
982  return (_Mytraits::allocate(*this, _Count, _Hint));
983  }
unsigned int _Count
Definition: xcomplex:668
static _DECLSPEC_ALLOCATOR pointer allocate(_Alloc &_Al, size_type _Count)
Definition: xmemory0:585
template<class _Alloc>
template<class _Ty , class... _Types>
void _Wrap_alloc< _Alloc >::construct ( _Ty *  _Ptr,
_Types &&...  _Args 
)
inline
994  { // construct _Ty(_Types...) at _Ptr
995  _Mytraits::construct(*this, _Ptr,
996  _STD forward<_Types>(_Args)...);
997  }
static void construct(_Alloc &_Al, _Ty *_Ptr, _Types &&..._Args)
Definition: xmemory0:621
template<class _Alloc>
void _Wrap_alloc< _Alloc >::deallocate ( pointer  _Ptr,
size_type  _Count 
)
inline
986  { // deallocate object at _Ptr, ignore size
987  _Mybase::deallocate(_Ptr, _Count);
988  }
unsigned int _Count
Definition: xcomplex:668
template<class _Alloc>
template<class _Ty >
void _Wrap_alloc< _Alloc >::destroy ( _Ty *  _Ptr)
inline
1002  { // destroy object at _Ptr
1003  _Mytraits::destroy(*this, _Ptr);
1004  }
static void destroy(_Alloc &_Al, _Ty *_Ptr)
Definition: xmemory0:641
template<class _Alloc>
size_type _Wrap_alloc< _Alloc >::max_size ( _Nil  = _Nil()) const
inline
1007  { // get maximum size
1008  return (_Mytraits::max_size(*this));
1009  }
static size_type max_size(const _Alloc &_Al) _NOEXCEPT
Definition: xmemory0:646
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( const _Wrap_alloc< _Alloc > &  _Right)
inline
956  { // assign by copying
957  _Mybase::operator=(_Right);
958  return (*this);
959  }
template<class _Alloc>
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( _Wrap_alloc< _Alloc > &&  _Right)
inline
962  { // assign by moving
963  _Mybase::operator=(_STD move(_Right));
964  return (*this);
965  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Alloc>
template<class _Other >
_Wrap_alloc& _Wrap_alloc< _Alloc >::operator= ( _Other &&  _Right)
inline
969  { // assign from a related allocator
970  _Mybase::operator=(_STD forward<_Other>(_Right));
971  return (*this);
972  }
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Alloc>
_Wrap_alloc _Wrap_alloc< _Alloc >::select_on_container_copy_construction ( _Nil  = _Nil()) const
inline
912  { // get allocator to use
914  }
static _Alloc select_on_container_copy_construction(const _Alloc &_Al)
Definition: xmemory0:651

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