STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Static Public Member Functions | List of all members
allocator_traits< _Alloc > Struct Template Reference

Public Types

typedef allocator_traits< _Alloc > other
 
typedef _Alloc allocator_type
 
typedef _Alloc::value_type value_type
 
typedef _Get_pointer_type< _Alloc >::type pointer
 
typedef _Get_const_pointer_type< _Alloc >::type const_pointer
 
typedef _Get_void_pointer_type< _Alloc >::type void_pointer
 
typedef _Get_const_void_pointer_type< _Alloc >::type const_void_pointer
 
typedef _Get_size_type< _Alloc >::type size_type
 
typedef _Get_difference_type< _Alloc >::type difference_type
 
typedef _Get_propagate_on_container_copy< _Alloc >::type propagate_on_container_copy_assignment
 
typedef _Get_propagate_on_container_move< _Alloc >::type propagate_on_container_move_assignment
 
typedef _Get_propagate_on_container_swap< _Alloc >::type propagate_on_container_swap
 
template<class _Other >
using rebind_alloc = typename _Get_rebind_type< _Alloc, _Other >::type
 
template<class _Other >
using rebind_traits = allocator_traits< rebind_alloc< _Other > >
 

Static Public Member Functions

static pointer allocate (_Alloc &_Al, size_type _Count)
 
static pointer allocate (_Alloc &_Al, size_type _Count, const_void_pointer _Hint)
 
static void deallocate (_Alloc &_Al, pointer _Ptr, size_type _Count)
 
template<class _Ty , class... _Types>
static void construct (_Alloc &_Al, _Ty *_Ptr, _Types &&..._Args)
 
template<class _Ty >
static void destroy (_Alloc &_Al, _Ty *_Ptr)
 
static size_type max_size (const _Alloc &_Al)
 
static _Alloc select_on_container_copy_construction (const _Alloc &_Al)
 

Member Typedef Documentation

template<class _Alloc >
typedef _Alloc allocator_traits< _Alloc >::allocator_type
template<class _Alloc >
typedef _Get_const_pointer_type<_Alloc>::type allocator_traits< _Alloc >::const_pointer
template<class _Alloc >
typedef _Get_const_void_pointer_type<_Alloc>::type allocator_traits< _Alloc >::const_void_pointer
template<class _Alloc >
typedef _Get_difference_type<_Alloc>::type allocator_traits< _Alloc >::difference_type
template<class _Alloc >
typedef allocator_traits<_Alloc> allocator_traits< _Alloc >::other
template<class _Alloc >
typedef _Get_pointer_type<_Alloc>::type allocator_traits< _Alloc >::pointer
template<class _Alloc >
typedef _Get_propagate_on_container_copy<_Alloc>::type allocator_traits< _Alloc >::propagate_on_container_copy_assignment
template<class _Alloc >
typedef _Get_propagate_on_container_move<_Alloc>::type allocator_traits< _Alloc >::propagate_on_container_move_assignment
template<class _Alloc >
typedef _Get_propagate_on_container_swap<_Alloc>::type allocator_traits< _Alloc >::propagate_on_container_swap
template<class _Alloc >
template<class _Other >
using allocator_traits< _Alloc >::rebind_alloc = typename _Get_rebind_type<_Alloc, _Other>::type
template<class _Alloc >
template<class _Other >
using allocator_traits< _Alloc >::rebind_traits = allocator_traits<rebind_alloc<_Other> >
template<class _Alloc >
typedef _Get_size_type<_Alloc>::type allocator_traits< _Alloc >::size_type
template<class _Alloc >
typedef _Alloc::value_type allocator_traits< _Alloc >::value_type
template<class _Alloc >
typedef _Get_void_pointer_type<_Alloc>::type allocator_traits< _Alloc >::void_pointer

Member Function Documentation

template<class _Alloc >
static pointer allocator_traits< _Alloc >::allocate ( _Alloc &  _Al,
size_type  _Count 
)
inlinestatic
447  { // allocate array of _Count elements
448  return (_Al.allocate(_Count));
449  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc >
static pointer allocator_traits< _Alloc >::allocate ( _Alloc &  _Al,
size_type  _Count,
const_void_pointer  _Hint 
)
inlinestatic
453  { // allocate array of _Count elements, with hint
454  return (_Alloc_allocate::_Fn(0, _Al, _Count, _Hint));
455  }
static auto _Fn(int, _Alloc &_Al, _Size_type _Count, _Const_void_pointer _Hint) -> decltype(_Al.allocate(_Count, _Hint))
Definition: xmemory0:305
_Diff _Count
Definition: algorithm:1941
template<class _Alloc >
template<class _Ty , class... _Types>
static void allocator_traits< _Alloc >::construct ( _Alloc &  _Al,
_Ty *  _Ptr,
_Types &&...  _Args 
)
inlinestatic
467  { // construct _Ty(_Types...) at _Ptr
468  _Alloc_construct::_Fn(0, _Al, _Ptr,
469  _STD forward<_Types>(_Args)...);
470  }
static auto _Fn(int, _Ty &_Al, _Objty *_Ptr, _Types &&..._Args) -> decltype(_Al.construct(_Ptr, _STD forward< _Types >(_Args)...))
Definition: xmemory0:333
template<class _Alloc >
static void allocator_traits< _Alloc >::deallocate ( _Alloc &  _Al,
pointer  _Ptr,
size_type  _Count 
)
inlinestatic
459  { // deallocate _Count elements at _Ptr
460  _Al.deallocate(_Ptr, _Count);
461  }
_Diff _Count
Definition: algorithm:1941
template<class _Alloc >
template<class _Ty >
static void allocator_traits< _Alloc >::destroy ( _Alloc &  _Al,
_Ty *  _Ptr 
)
inlinestatic
475  { // destroy object at _Ptr
476  _Alloc_destroy::_Fn(0, _Al, _Ptr);
477  }
static auto _Fn(int, _Ty &_Al, _Objty *_Ptr) -> decltype(_Al.destroy(_Ptr))
Definition: xmemory0:359
template<class _Alloc >
static size_type allocator_traits< _Alloc >::max_size ( const _Alloc &  _Al)
inlinestatic
480  { // get maximum size
481  return (_Alloc_max_size::_Fn(0, _Al));
482  }
static auto _Fn(int, const _Ty &_Al) -> decltype(_Al.max_size())
Definition: xmemory0:378
template<class _Alloc >
static _Alloc allocator_traits< _Alloc >::select_on_container_copy_construction ( const _Alloc &  _Al)
inlinestatic
486  { // get allocator to use
487  return (_Alloc_select::_Fn(0, _Al));
488  }
static auto _Fn(int, const _Ty &_Al) -> decltype((_Ty) _Al.select_on_container_copy_construction())
Definition: xmemory0:398

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