libstdc++
Allocators
Collaboration diagram for Allocators:

Files

file  scoped_allocator
 

Classes

struct  __gnu_cxx::__alloc_traits< _Alloc, typename >
 
class  __gnu_cxx::__mt_alloc< _Tp, _Poolp >
 
class  std::__new_allocator< _Tp >
 
class  __gnu_cxx::__pool_alloc< _Tp >
 
class  __gnu_cxx::_ExtPtr_allocator< _Tp >
 
class  std::allocator< _Tp >
 
class  std::allocator< void >
 
struct  std::allocator_traits< _Alloc >
 
class  __gnu_cxx::bitmap_allocator< _Tp >
 
class  __gnu_cxx::debug_allocator< _Alloc >
 
class  __gnu_cxx::malloc_allocator< _Tp >
 
class  __gnu_cxx::new_allocator< _Tp >
 
class  std::scoped_allocator_adaptor< _OuterAlloc, _InnerAllocs >
 
class  __gnu_cxx::throw_allocator_base< _Tp, _Cond >
 
struct  std::uses_allocator< typename, typename >
 

Macros

#define __cpp_lib_make_obj_using_allocator
 

Typedefs

template<typename _Tp >
using std::__allocator_base = __new_allocator< _Tp >
 

Functions

template<typename _Tp , typename _Alloc , typename... _Args>
constexpr _Tp std::make_obj_using_allocator (const _Alloc &__a, _Args &&... __args)
 
template<typename _T1 , typename _T2 >
constexpr bool std::operator== (const allocator< _T1 > &, const allocator< _T2 > &) noexcept
 
template<typename _OutA1 , typename _OutA2 , typename... _InA>
bool operator== (const scoped_allocator_adaptor< _OutA1, _InA... > &__a, const scoped_allocator_adaptor< _OutA2, _InA... > &__b) noexcept
 
template<typename _Tp , typename _Alloc , typename... _Args>
constexpr _Tp * std::uninitialized_construct_using_allocator (_Tp *__p, const _Alloc &__a, _Args &&... __args)
 
template<_Std_pair _Tp, typename _Alloc >
constexpr auto std::uses_allocator_construction_args (const _Alloc &) noexcept
 
template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args (const _Alloc &, _Up &&, _Vp &&) noexcept
 
template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args (const _Alloc &, const pair< _Up, _Vp > &) noexcept
 
template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args (const _Alloc &, pair< _Up, _Vp > &&) noexcept
 
template<typename _Tp , typename _Alloc , typename... _Args>
requires (! _Std_pair<_Tp>)
constexpr auto std::uses_allocator_construction_args (const _Alloc &__a, _Args &&... __args) noexcept
 
template<_Std_pair _Tp, typename _Alloc , typename _Tuple1 , typename _Tuple2 >
constexpr auto std::uses_allocator_construction_args (const _Alloc &__a, piecewise_construct_t, _Tuple1 &&__x, _Tuple2 &&__y) noexcept
 

Detailed Description

Classes encapsulating memory operations.

Macro Definition Documentation

◆ __cpp_lib_make_obj_using_allocator

#define __cpp_lib_make_obj_using_allocator

Definition at line 54 of file uses_allocator_args.h.

Typedef Documentation

◆ __allocator_base

template<typename _Tp >
using std::__allocator_base = typedef __new_allocator<_Tp>

An alias to the base class for std::allocator.

Used to set the std::allocator base class to std::__new_allocator.

Template Parameters
_TpType of allocated object.

Definition at line 47 of file c++allocator.h.

Function Documentation

◆ make_obj_using_allocator()

template<typename _Tp , typename _Alloc , typename... _Args>
constexpr _Tp std::make_obj_using_allocator ( const _Alloc &  __a,
_Args &&...  __args 
)
constexpr

Definition at line 189 of file uses_allocator_args.h.

◆ operator==() [1/2]

template<typename _T1 , typename _T2 >
constexpr bool std::operator== ( const allocator< _T1 > &  ,
const allocator< _T2 > &   
)
inlineconstexprnoexcept

Definition at line 219 of file allocator.h.

◆ operator==() [2/2]

template<typename _OutA1 , typename _OutA2 , typename... _InA>
bool operator== ( const scoped_allocator_adaptor< _OutA1, _InA... > &  __a,
const scoped_allocator_adaptor< _OutA2, _InA... > &  __b 
)
related

Definition at line 499 of file scoped_allocator.

◆ uninitialized_construct_using_allocator()

template<typename _Tp , typename _Alloc , typename... _Args>
constexpr _Tp * std::uninitialized_construct_using_allocator ( _Tp *  __p,
const _Alloc &  __a,
_Args &&...  __args 
)
constexpr

Definition at line 198 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [1/6]

template<_Std_pair _Tp, typename _Alloc >
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a)
constexprnoexcept

Definition at line 131 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [2/6]

template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a,
_Up &&  __u,
_Vp &&  __v 
)
constexprnoexcept

Definition at line 143 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [3/6]

template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a,
const pair< _Up, _Vp > &  __pr 
)
constexprnoexcept

Definition at line 158 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [4/6]

template<_Std_pair _Tp, typename _Alloc , typename _Up , typename _Vp >
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a,
pair< _Up, _Vp > &&  __pr 
)
constexprnoexcept

Definition at line 171 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [5/6]

template<typename _Tp , typename _Alloc , typename... _Args>
requires (! _Std_pair<_Tp>)
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a,
_Args &&...  __args 
)
constexprnoexcept

Definition at line 58 of file uses_allocator_args.h.

◆ uses_allocator_construction_args() [6/6]

template<_Std_pair _Tp, typename _Alloc , typename _Tuple1 , typename _Tuple2 >
constexpr auto std::uses_allocator_construction_args ( const _Alloc &  __a,
piecewise_construct_t  ,
_Tuple1 &&  __x,
_Tuple2 &&  __y 
)
constexprnoexcept

Definition at line 112 of file uses_allocator_args.h.