|
libstdc++
|
Public Types | |
| 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 | |
| __pool_alloc (const __pool_alloc &) noexcept | |
| template<typename _Tp1 > | |
| __pool_alloc (const __pool_alloc< _Tp1 > &) noexcept | |
| pointer | address (reference __x) const noexcept |
| const_pointer | address (const_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 |
Private Types | |
| enum | { _S_align } |
| enum | { _S_max_bytes } |
| enum | { _S_free_list_size } |
Private Member Functions | |
| char * | _M_allocate_chunk (size_t __n, int &__nobjs) |
| _Obj *volatile * | _M_get_free_list (size_t __bytes) throw () |
| __mutex & | _M_get_mutex () throw () |
| void * | _M_refill (size_t __n) |
| size_t | _M_round_up (size_t __bytes) |
Static Private Attributes | |
| static char * | _S_end_free |
| static _Obj *volatile | _S_free_list [_S_free_list_size] |
| static size_t | _S_heap_size |
| static char * | _S_start_free |
Allocator using a memory pool with a single lock.
Definition at line 126 of file pool_allocator.h.