libstdc++
|
Public Types | |
typedef _Poolp | __policy_type |
typedef _Poolp::pool_type | __pool_type |
typedef const _Tp * | const_pointer |
typedef const _Tp & | const_reference |
typedef ptrdiff_t | difference_type |
typedef _Tp * | pointer |
typedef std::true_type | propagate_on_container_move_assignment |
typedef _Tp & | reference |
typedef size_t | size_type |
typedef _Tp | value_type |
Public Member Functions | |
__mt_alloc (const __mt_alloc &) noexcept | |
template<typename _Tp1 , typename _Poolp1 > | |
__mt_alloc (const __mt_alloc< _Tp1, _Poolp1 > &) noexcept | |
const __pool_base::_Tune | _M_get_options () |
void | _M_set_options (__pool_base::_Tune __t) |
pointer | address (reference __x) const noexcept |
const_pointer | address (const_reference __x) const noexcept |
_GLIBCXX_NODISCARD pointer | allocate (size_type __n, const void *=0) |
template<typename _Up , typename... _Args> | |
void | construct (_Up *__p, _Args &&... __args) |
void | deallocate (pointer __p, size_type __n) |
template<typename _Up > | |
void | destroy (_Up *__p) |
size_type | max_size () const noexcept |
This is a fixed size (power of 2) allocator which - when compiled with thread support - will maintain one freelist per size per thread plus a global one. Steps are taken to limit the per thread freelist sizes (by returning excess back to the global list).
Further details: https://gcc.gnu.org/onlinedocs/libstdc++/manual/mt_allocator.html.
Definition at line 639 of file mt_allocator.h.