std::__detail::_Hashtable_alloc< _NodeAlloc > Struct Template Reference
Containers » Unordered Associative » Base and Implementation Classes

`#include <hashtable_policy.h>`

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 = __alloc_rebind< __node_alloc_type, __bucket_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 = typename __node_alloc_traits::template rebind_traits< typename __node_type::value_type >

## Public Member Functions

template<typename _Alloc >
| _Hashtable_alloc (_Alloc &&__a)
| _Hashtable_alloc (_Hashtable_alloc &&)=default
| _Hashtable_alloc (const _Hashtable_alloc &)=default
__bucket_type * | _M_allocate_buckets (std::size_t __n)
template<typename... _Args>
__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_node_ptr (__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 2017 of file hashtable_policy.h.

## Member Typedef Documentation

## __bucket_alloc_traits

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__bucket_alloc_traits = std::allocator_traits<__bucket_alloc_type>

Definition at line 2034 of file hashtable_policy.h.

## __bucket_alloc_type

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__bucket_alloc_type = __alloc_rebind<__node_alloc_type, __bucket_type>

Definition at line 2032 of file hashtable_policy.h.

## __bucket_type

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__bucket_type = __node_base*

Definition at line 2031 of file hashtable_policy.h.

## __node_alloc_traits

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>

Definition at line 2025 of file hashtable_policy.h.

## __node_alloc_type

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__node_alloc_type = _NodeAlloc

Definition at line 2023 of file hashtable_policy.h.

## __node_base

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__node_base = __detail::_Hash_node_base

Definition at line 2030 of file hashtable_policy.h.

## __node_type

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__node_type = typename _NodeAlloc::value_type

Definition at line 2022 of file hashtable_policy.h.

## __value_alloc_traits

template<typename _NodeAlloc >

using std::__detail::_Hashtable_alloc< _NodeAlloc >::__value_alloc_traits = typename __node_alloc_traits::template rebind_traits<typename __node_type::value_type>

Definition at line 2027 of file hashtable_policy.h.

## Constructor & Destructor Documentation

## _Hashtable_alloc()

template<typename _NodeAlloc >
template<typename _Alloc >

std::__detail::_Hashtable_alloc< _NodeAlloc >::_Hashtable_alloc | ( | _Alloc && | __a | ) |

inline

Definition at line 2041 of file hashtable_policy.h.

## Member Function Documentation

## _M_node_allocator() [1/2]

template<typename _NodeAlloc >

__node_alloc_type & std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_node_allocator | ( |  | ) |

inline

Definition at line 2046 of file hashtable_policy.h.

## _M_node_allocator() [2/2]

template<typename _NodeAlloc >

const __node_alloc_type & std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_node_allocator | ( |  | ) | const

inline

Definition at line 2050 of file hashtable_policy.h.

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

- hashtable_policy.h