__gnu_cxx::__mt_alloc(3)

__gnu_cxx::__mt_alloc3

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

Usage

#include <mt_allocator.h>

Inherits __gnu_cxx::__mt_alloc_base< _Tp >.

Public Types

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

Public Member Functions

__mt_alloc (const __mt_alloc &) noexcept
template<typename _Tp1, typename _Poolp1> __mt_alloc (const __mt_alloc< _Tp1, _Poolp1 > &) noexcept
const __pool_base::_Tune _M_get_options ()
void _M_set_options (__pool_base::_Tune __t)
const_pointer address (const_reference __x) const noexcept
pointer address (reference __x) const noexcept
pointer allocate (size_type __n, const void *=0)
template<typename _Up, typename... _Args> void construct (_Up *__p, _Args &&... __args)
void deallocate (pointer __p, size_type __n)
template<typename _Up> void destroy (_Up *__p)
size_type max_size () const noexcept

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: https://gcc.gnu.org/onlinedocs/libstdc++/manual/mt_allocator.html

Releases

4 releases since Debian 3.1 (Sarge); the text changed 3 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. Arch

Author

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

From gcc 16.2.1+r23+gd564253eb6c8-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.