__gnu_cxx::__pool_alloc< _Tp > Class Template Reference
Utilities » Memory » Allocators
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:

- pool_allocator.h