libstdc++
__gnu_cxx::__pool_alloc< _Tp > Class Template Reference
Inheritance diagram for __gnu_cxx::__pool_alloc< _Tp >:
[legend]

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
 

Detailed Description

template<typename _Tp>
class __gnu_cxx::__pool_alloc< _Tp >

Allocator using a memory pool with a single lock.

Definition at line 126 of file pool_allocator.h.


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