libstdc++
std::__detail::_Hashtable_alloc< _NodeAlloc > Struct Template Reference
Inheritance diagram for std::__detail::_Hashtable_alloc< _NodeAlloc >:
[legend]

Public Types

using __bucket_alloc_traits = std::allocator_traits< __bucket_alloc_type >
 
using __bucket_alloc_type = typename __alloctr_rebind< __node_alloc_type, __bucket_type >::__type
 
using __bucket_type = __node_base *
 
using __node_alloc_traits = __gnu_cxx::__alloc_traits< __node_alloc_type >
 
using __node_alloc_type = _NodeAlloc
 
using __node_base = __detail::_Hash_node_base
 
using __node_type = typename _NodeAlloc::value_type
 
using __value_alloc_traits = std::allocator_traits< __value_alloc_type >
 
using __value_alloc_type = typename __alloctr_rebind< __node_alloc_type, __value_type >::__type
 
using __value_type = typename __node_type::value_type
 

Public Member Functions

 _Hashtable_alloc (const _Hashtable_alloc &)=default
 
 _Hashtable_alloc (_Hashtable_alloc &&)=default
 
template<typename _Alloc >
 _Hashtable_alloc (_Alloc &&__a)
 
__bucket_type_M_allocate_buckets (std::size_t __n)
 
template<typename... _Args>
__node_type * _M_allocate_node (_Args &&...__args)
 
template<typename... _Args>
_Hashtable_alloc< _NodeAlloc >
::__node_type * 
_M_allocate_node (_Args &&...__args)
 
void _M_deallocate_buckets (__bucket_type *, std::size_t __n)
 
void _M_deallocate_node (__node_type *__n)
 
void _M_deallocate_nodes (__node_type *__n)
 
__node_alloc_type & _M_node_allocator ()
 
const __node_alloc_type & _M_node_allocator () const
 

Detailed Description

template<typename _NodeAlloc>
struct std::__detail::_Hashtable_alloc< _NodeAlloc >

This type deals with all allocation and keeps an allocator instance through inheritance to benefit from EBO when possible.

Definition at line 106 of file hashtable_policy.h.


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