# __gnu_cxx::__mt_alloc< _Tp, _Poolp > Class Template Reference

Inheritance diagram for __gnu_cxx::__mt_alloc< _Tp, _Poolp >:

List of all members.

## Detailed Description

### template<typename _Tp, typename _Poolp = __common_pool_policy<__pool, true >>
class __gnu_cxx::__mt_alloc< _Tp, _Poolp >

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 the "global" list).

Further details: http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html

Definition at line 628 of file mt_allocator.h.

## Public Types

- typedef _Poolp __policy_type
- typedef _Poolp::pool_type __pool_type
- typedef const _Tp * const_pointer
- typedef const _Tp & const_reference
- typedef ptrdiff_t difference_type
- typedef _Tp * pointer
- typedef _Tp & reference
- typedef size_t size_type
- typedef _Tp value_type

## Public Member Functions

- template<typename _Tp1, typename _Poolp1> __mt_alloc (const __mt_alloc< _Tp1, _Poolp1 > &) throw ()
- __mt_alloc (const __mt_alloc &) throw ()
- __mt_alloc () throw ()
- const __pool_base::_Tune _M_get_options ()
- void _M_set_options (__pool_base::_Tune __t)
- const_pointer address (const_reference __x) const
- pointer address (reference __x) const
- pointer allocate (size_type __n, const void *=0)
- void construct (pointer __p, const _Tp &__val)
- void deallocate (pointer __p, size_type __n)
- void destroy (pointer __p)
- size_type max_size () const throw ()
- ~__mt_alloc () throw ()

## Classes

- struct rebind

The documentation for this class was generated from the following file:

- mt_allocator.h