__GNU_CXX::__MT_ALLOC(3cxx)

💅 __gnu_cxx::__mt_alloc< _Tp, _Poolp > — the 3cxx manual page, bestie 💅

💖 NAME 💖

__gnu_cxx::__mt_alloc< _Tp, _Poolp > — okay so 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).

✨ SYNOPSIS ✨

#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 time, bestie — here’s the exact declaration, quote mark and all:

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

And yes, that " after > is literally chillin’ in the supplied declaration line — not fixing it, because facts stay facts. 🫶

Further details: https://gcc.gnu.org/onlinedocs/libstdc++/manual/mt_allocator.html

💌 Author 💌

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

Doxygen said it, so it’s canon. 💅


Okay that’s the whole page, bestie. Big sparkle sign-off from the libstdc++ source/version crew and the 3cxx manual-page footer — the footer’s date spot isn’t separately visible in the supplied footer, so no invented dates, periodt. 🫶✨🎀