.TH "__gnu_cxx::__pool_alloc_base" 3cxx "Sat Aug 14 2021" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME __gnu_cxx::__pool_alloc_base \- Base class for __pool_alloc\&. .SH SYNOPSIS .br .PP .PP Inherited by \fB__gnu_cxx::__pool_alloc< _Tp >\fP\fC [private]\fP\&. .SS "Protected Types" .in +1c .ti -1c .RI "enum { \fB_S_align\fP }" .br .ti -1c .RI "enum { \fB_S_max_bytes\fP }" .br .ti -1c .RI "enum { \fB_S_free_list_size\fP }" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "char * \fB_M_allocate_chunk\fP (size_t __n, int &__nobjs)" .br .ti -1c .RI "_Obj *volatile * \fB_M_get_free_list\fP (size_t __bytes) throw ()" .br .ti -1c .RI "__mutex & \fB_M_get_mutex\fP () throw ()" .br .ti -1c .RI "void * \fB_M_refill\fP (size_t __n)" .br .ti -1c .RI "size_t \fB_M_round_up\fP (size_t __bytes)" .br .in -1c .SS "Static Protected Attributes" .in +1c .ti -1c .RI "static char * \fB_S_end_free\fP" .br .ti -1c .RI "static _Obj *volatile \fB_S_free_list\fP [_S_free_list_size]" .br .ti -1c .RI "static size_t \fB_S_heap_size\fP" .br .ti -1c .RI "static char * \fB_S_start_free\fP" .br .in -1c .SH "Detailed Description" .PP 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)\&. .PP 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\&. .PP Definition at line 78 of file pool_allocator\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.