libstdc++
|
#include <mt_allocator.h>
Public Types | |
typedef _Poolp | __policy_type |
typedef _Poolp::pool_type | __pool_type |
typedef const _Tp * | const_pointer |
typedef const _Tp & | const_reference |
typedef std::ptrdiff_t | difference_type |
typedef _Tp * | pointer |
typedef std::true_type | propagate_on_container_move_assignment |
typedef _Tp & | reference |
typedef std::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) |
const_pointer | address (const_reference __x) const noexcept |
pointer | address (reference __x) const noexcept |
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.
typedef _Poolp __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__policy_type |
Definition at line 649 of file mt_allocator.h.
typedef _Poolp::pool_type __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__pool_type |
Definition at line 650 of file mt_allocator.h.
typedef const _Tp* __gnu_cxx::__mt_alloc< _Tp, _Poolp >::const_pointer |
Definition at line 645 of file mt_allocator.h.
typedef const _Tp& __gnu_cxx::__mt_alloc< _Tp, _Poolp >::const_reference |
Definition at line 647 of file mt_allocator.h.
typedef std::ptrdiff_t __gnu_cxx::__mt_alloc< _Tp, _Poolp >::difference_type |
Definition at line 643 of file mt_allocator.h.
typedef _Tp* __gnu_cxx::__mt_alloc< _Tp, _Poolp >::pointer |
Definition at line 644 of file mt_allocator.h.
|
inherited |
Definition at line 584 of file mt_allocator.h.
typedef _Tp& __gnu_cxx::__mt_alloc< _Tp, _Poolp >::reference |
Definition at line 646 of file mt_allocator.h.
typedef std::size_t __gnu_cxx::__mt_alloc< _Tp, _Poolp >::size_type |
Definition at line 642 of file mt_allocator.h.
typedef _Tp __gnu_cxx::__mt_alloc< _Tp, _Poolp >::value_type |
Definition at line 648 of file mt_allocator.h.
|
inlinenoexcept |
Definition at line 659 of file mt_allocator.h.
|
inlinenoexcept |
Definition at line 661 of file mt_allocator.h.
|
inlinenoexcept |
Definition at line 664 of file mt_allocator.h.
|
inlinenoexcept |
Definition at line 666 of file mt_allocator.h.
|
inline |
Definition at line 675 of file mt_allocator.h.
|
inline |
Definition at line 682 of file mt_allocator.h.
|
inlinenoexceptinherited |
Definition at line 592 of file mt_allocator.h.
|
inlinenoexceptinherited |
Definition at line 588 of file mt_allocator.h.
__mt_alloc< _Tp, _Poolp >::pointer __gnu_cxx::__mt_alloc< _Tp, _Poolp >::allocate | ( | size_type | __n, |
const void * | = 0 |
||
) |
Definition at line 688 of file mt_allocator.h.
|
inlineinherited |
Definition at line 602 of file mt_allocator.h.
void __gnu_cxx::__mt_alloc< _Tp, _Poolp >::deallocate | ( | pointer | __p, |
size_type | __n | ||
) |
Definition at line 744 of file mt_allocator.h.
|
inlineinherited |
Definition at line 607 of file mt_allocator.h.
|
inlinenoexceptinherited |
Definition at line 596 of file mt_allocator.h.