logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

__gnu_cxx::__pool_alloc_base.3cxx

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libstdc++                 __gnu_cxx::__pool_alloc_base(3cxx)

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.

Name

       __gnu_cxx::__pool_alloc_base - Base class for __pool_alloc.

Synopsis

       #include <pool_allocator.h>

       Inherited by __gnu_cxx::__pool_alloc<_Tp> [private].

   ProtectedTypes
       enum { _S_align }
       enum { _S_max_bytes }
       enum { _S_free_list_size }

   ProtectedMemberFunctions
       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)

   StaticProtectedAttributes
       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

See Also