Scroll to navigation

__gnu_cxx::__pool_alloc< _Tp >(3cxx) __gnu_cxx::__pool_alloc< _Tp >(3cxx)

NAME

__gnu_cxx::__pool_alloc< _Tp > - Allocator using a memory pool with a single lock.

SYNOPSIS

Inherits __gnu_cxx::__pool_alloc_base.

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
_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

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.

Author

Generated automatically by Doxygen for libstdc++ from the source code.
Mon Oct 28 2019 libstdc++