__gnu_cxx::__mt_alloc< Type > Class Template Reference

#include <mt_allocator.h>

Collaboration diagram for __gnu_cxx::__mt_alloc< Type >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef size_t size_type
typedef ptrdiff_t difference_type
typedef Type * pointer
typedef const Type * const_pointer
typedef Type & reference
typedef const Type & const_reference
typedef Type value_type

Public Member Functions

 __mt_alloc () throw ()
 __mt_alloc (const __mt_alloc &) throw ()
template<typename Type1>
 __mt_alloc (const __mt_alloc< Type1 > &obj) throw ()
 ~__mt_alloc () throw ()
pointer address (reference x) const
const_pointer address (const_reference x) const
size_type max_size () const throw ()
void construct (pointer __p, const Type &__val)
void destroy (pointer __p)
pointer allocate (size_type n, const void *=0)
void deallocate (pointer __p, size_type n)

Private Types

typedef unsigned short int Binmap_type

Static Private Member Functions

static void S_initialize ()
static const Tune S_get_options ()
static void S_set_options (Tune __t)
static size_t S_get_thread_id ()

Static Private Attributes

static bool S_init
static Tune S_options
static Binmap_typeS_binmap
static Bin_record *volatile S_bin
static size_t S_bin_size

Classes

struct  Bin_record
union  Block_record
struct  rebind
struct  Tune

Detailed Description

template<typename Type>
class __gnu_cxx::__mt_alloc< Type >

This is a fixed size (power of 2) allocator which - when compiled with thread support - will maintain one freelist per size per thread plus a "global" one. Steps are taken to limit the per thread freelist sizes (by returning excess back to "global").

Further details: http://gcc.gnu.org/onlinedocs/libstdc++/ext/mt_allocator.html

Definition at line 57 of file mt_allocator.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 2 16:59:25 2007 for libstdc++-v3 Source by  doxygen 1.5.1