Scroll to navigation

std::__detail::_Hashtable_alloc< _NodeAlloc >(3cxx) std::__detail::_Hashtable_alloc< _NodeAlloc >(3cxx)

NAME

std::__detail::_Hashtable_alloc< _NodeAlloc >

SYNOPSIS

#include <hashtable_policy.h>

Inherits std::__detail::_Hashtable_ebo_helper< 0, _NodeAlloc >.

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 __bkt_count)
template<typename... _Args> __node_type * _M_allocate_node (_Args &&... __args)
template<typename... _Args> auto _M_allocate_node (_Args &&... __args) -> __node_type *
void _M_deallocate_buckets (__bucket_type *, std::size_t __bkt_count)
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 1964 of file hashtable_policy.h.

Member Typedef Documentation

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

Definition at line 1981 of file hashtable_policy.h.

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

Definition at line 1979 of file hashtable_policy.h.

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

Definition at line 1978 of file hashtable_policy.h.

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

Definition at line 1972 of file hashtable_policy.h.

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

Definition at line 1970 of file hashtable_policy.h.

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

Definition at line 1977 of file hashtable_policy.h.

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

Definition at line 1969 of file hashtable_policy.h.

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 1974 of file hashtable_policy.h.

Constructor & Destructor Documentation

template<typename _NodeAlloc > template<typename _Alloc > std::__detail::_Hashtable_alloc< _NodeAlloc >::_Hashtable_alloc (_Alloc && __a) [inline]

Definition at line 1988 of file hashtable_policy.h.

Member Function Documentation

template<typename _NodeAlloc > __node_alloc_type & std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_node_allocator () [inline]

Definition at line 1993 of file hashtable_policy.h.

template<typename _NodeAlloc > const __node_alloc_type & std::__detail::_Hashtable_alloc< _NodeAlloc >::_M_node_allocator () const [inline]

Definition at line 1997 of file hashtable_policy.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Mon Sep 5 2022 libstdc++