__gnu_cxx::__pool_alloc_base(3)__gnu_cxx::__pool_alloc_base(3)NAME__gnu_cxx::__pool_alloc_base-
SYNOPSIS
Inherited by __gnu_cxx::__pool_alloc< _Tp > [private].
Protected Types
enum { _S_align }
enum { _S_max_bytes }
enum { _S_free_list_size }
Protected 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 Protected 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
Base class for __pool_alloc.
Uses various allocators to fulfill underlying requests (and makes as
few requests as possible when in default high-speed pool mode).
Important implementation properties: 0. If globally mandated, then
allocate objects from new 1. If the clients request an object of size >
_S_max_bytes, the resulting object will be obtained directly from new
2. In all other cases, we allocate an object of size exactly
_S_round_up(requested_size). Thus the client has enough size
information that we can return the object to the proper free list
without permanently losing part of the object.
Definition at line 78 of file pool_allocator.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ Wed Nov 6 2013 __gnu_cxx::__pool_alloc_base(3)