__gnu_cxx::__pool_alloc_base(3)
NAME
__gnu_cxx::__pool_alloc_base
SYNOPSIS
Inherited by __gnu_cxx::__pool_alloc< _Tp > [private].
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 79 of file pool_allocator.h.
- 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)
__mutex & _M_get_mutex ()
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
Author
- Generated automatically by Doxygen for libstdc++ from the source code.