Scroll to navigation

__gnu_cxx::__mt_alloc< _Tp, _Poolp >(3cxx) __gnu_cxx::__mt_alloc< _Tp, _Poolp >(3cxx)

NAME

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

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 ptrdiff_t difference_type
typedef _Tp * pointer
typedef std::true_type propagate_on_container_move_assignment
typedef _Tp & reference
typedef 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
_GLIBCXX_NODISCARD 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

Definition at line 639 of file mt_allocator.h.

Member Typedef Documentation

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef _Poolp __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__policy_type

Definition at line 649 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef _Poolp::pool_type __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__pool_type

Definition at line 650 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef const _Tp* __gnu_cxx::__mt_alloc< _Tp, _Poolp >::const_pointer

Definition at line 645 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef const _Tp& __gnu_cxx::__mt_alloc< _Tp, _Poolp >::const_reference

Definition at line 647 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef ptrdiff_t __gnu_cxx::__mt_alloc< _Tp, _Poolp >::difference_type

Definition at line 643 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef _Tp* __gnu_cxx::__mt_alloc< _Tp, _Poolp >::pointer

Definition at line 644 of file mt_allocator.h.

template<typename _Tp > typedef std::true_type __gnu_cxx::__mt_alloc_base< _Tp >::propagate_on_container_move_assignment [inherited]

Definition at line 584 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef _Tp& __gnu_cxx::__mt_alloc< _Tp, _Poolp >::reference

Definition at line 646 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef size_t __gnu_cxx::__mt_alloc< _Tp, _Poolp >::size_type

Definition at line 642 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> typedef _Tp __gnu_cxx::__mt_alloc< _Tp, _Poolp >::value_type

Definition at line 648 of file mt_allocator.h.

Constructor & Destructor Documentation

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__mt_alloc () [inline], [noexcept]

Definition at line 659 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__mt_alloc (const __mt_alloc< _Tp, _Poolp > &) [inline], [noexcept]

Definition at line 661 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> template<typename _Tp1 , typename _Poolp1 > __gnu_cxx::__mt_alloc< _Tp, _Poolp >::__mt_alloc (const __mt_alloc< _Tp1, _Poolp1 > &) [inline], [noexcept]

Definition at line 664 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> __gnu_cxx::__mt_alloc< _Tp, _Poolp >::~__mt_alloc () [inline], [noexcept]

Definition at line 666 of file mt_allocator.h.

Member Function Documentation

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> const __pool_base::_Tune __gnu_cxx::__mt_alloc< _Tp, _Poolp >::_M_get_options () [inline]

Definition at line 675 of file mt_allocator.h.

template<typename _Tp , typename _Poolp = __common_pool_policy<__pool, true >> void __gnu_cxx::__mt_alloc< _Tp, _Poolp >::_M_set_options (__pool_base::_Tune __t) [inline]

Definition at line 682 of file mt_allocator.h.

template<typename _Tp > const_pointer __gnu_cxx::__mt_alloc_base< _Tp >::address (const_reference __x) const [inline], [noexcept], [inherited]

Definition at line 592 of file mt_allocator.h.

template<typename _Tp > pointer __gnu_cxx::__mt_alloc_base< _Tp >::address (reference __x) const [inline], [noexcept], [inherited]

Definition at line 588 of file mt_allocator.h.

template<typename _Tp , typename _Poolp > _GLIBCXX_NODISCARD __mt_alloc< _Tp, _Poolp >::pointer __gnu_cxx::__mt_alloc< _Tp, _Poolp >::allocate (size_type __n, const void * = 0)

Definition at line 688 of file mt_allocator.h.

template<typename _Tp > template<typename _Up , typename... _Args> void __gnu_cxx::__mt_alloc_base< _Tp >::construct (_Up * __p, _Args &&... __args) [inline], [inherited]

Definition at line 602 of file mt_allocator.h.

template<typename _Tp , typename _Poolp > void __gnu_cxx::__mt_alloc< _Tp, _Poolp >::deallocate (pointer __p, size_type __n)

Definition at line 744 of file mt_allocator.h.

template<typename _Tp > template<typename _Up > void __gnu_cxx::__mt_alloc_base< _Tp >::destroy (_Up * __p) [inline], [inherited]

Definition at line 607 of file mt_allocator.h.

template<typename _Tp > size_type __gnu_cxx::__mt_alloc_base< _Tp >::max_size () const [inline], [noexcept], [inherited]

Definition at line 596 of file mt_allocator.h.

Author

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

libstdc++