libstdc++
Allocators
Collaboration diagram for Allocators:

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

typedef ptrdiff_t std::allocator< _Tp >::difference_type
typedef ptrdiff_t std::allocator< void >::difference_type
using std::allocator< _Tp >::is_always_equal
using std::allocator< void >::is_always_equal
using std::allocator< _Tp >::propagate_on_container_move_assignment
using std::allocator< void >::propagate_on_container_move_assignment
typedef size_t std::allocator< _Tp >::size_type
typedef size_t std::allocator< void >::size_type
typedef _Tp std::allocator< _Tp >::value_type
typedef void std::allocator< void >::value_type

Functions

constexpr std::allocator< _Tp >::allocator (const allocator &__a) noexcept
template<typename _Tp1>
constexpr std::allocator< _Tp >::allocator (const allocator< _Tp1 > &) noexcept
template<typename _Up>
constexpr std::allocator< void >::allocator (const allocator< _Up > &) noexcept
constexpr _Tp * std::allocator< _Tp >::allocate (size_t __n)
constexpr void std::allocator< _Tp >::deallocate (_Tp *__p, size_t __n)
template<typename _Tp, typename _Alloc, typename... _Args>
constexpr _Tp std::make_obj_using_allocator (const _Alloc &__a, _Args &&... __args)
allocator & std::allocator< _Tp >::operator= (const allocator &)=default
template<typename _T1, typename _T2>
constexpr bool 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

Friends

constexpr bool std::allocator< _Tp >::operator== (const allocator &, const allocator &) 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

◆ difference_type [1/2]

template<typename _Tp>
typedef ptrdiff_t std::allocator< _Tp >::difference_type

Definition at line 134 of file allocator.h.

◆ difference_type [2/2]

typedef ptrdiff_t std::allocator< void >::difference_type

Definition at line 80 of file allocator.h.

◆ is_always_equal [1/2]

template<typename _Tp>
using std::allocator< _Tp >::is_always_equal

Definition at line 153 of file allocator.h.

◆ is_always_equal [2/2]

using std::allocator< void >::is_always_equal

Definition at line 97 of file allocator.h.

◆ propagate_on_container_move_assignment [1/2]

template<typename _Tp>
using std::allocator< _Tp >::propagate_on_container_move_assignment

Definition at line 151 of file allocator.h.

◆ propagate_on_container_move_assignment [2/2]

using std::allocator< void >::propagate_on_container_move_assignment

Definition at line 95 of file allocator.h.

◆ size_type [1/2]

template<typename _Tp>
typedef size_t std::allocator< _Tp >::size_type

Definition at line 133 of file allocator.h.

◆ size_type [2/2]

typedef size_t std::allocator< void >::size_type

Definition at line 79 of file allocator.h.

◆ value_type [1/2]

template<typename _Tp>
typedef _Tp std::allocator< _Tp >::value_type

Definition at line 132 of file allocator.h.

◆ value_type [2/2]

typedef void std::allocator< void >::value_type

Definition at line 78 of file allocator.h.

Function Documentation

◆ allocator() [1/4]

template<typename _Tp>
std::allocator< _Tp >::allocator ( )
inlineconstexprnoexcept

Definition at line 159 of file allocator.h.

◆ allocator() [2/4]

template<typename _Tp>
std::allocator< _Tp >::allocator ( const allocator< _Tp > & __a)
inlineconstexprnoexcept

Definition at line 162 of file allocator.h.

◆ allocator() [3/4]

template<typename _Tp>
template<typename _Tp1>
std::allocator< _Tp >::allocator ( const allocator< _Tp1 > & )
inlineconstexprnoexcept

Definition at line 172 of file allocator.h.

◆ allocator() [4/4]

template<typename _Up>
std::allocator< void >::allocator ( const allocator< _Up > & )
inlineconstexprnoexcept

Definition at line 107 of file allocator.h.

◆ ~allocator()

template<typename _Tp>
std::allocator< _Tp >::~allocator ( )
inlineconstexprnoexcept

Definition at line 177 of file allocator.h.

◆ allocate()

template<typename _Tp>
_Tp * std::allocator< _Tp >::allocate ( size_t __n)
inlinenodiscardconstexpr

Definition at line 182 of file allocator.h.

◆ deallocate()

template<typename _Tp>
void std::allocator< _Tp >::deallocate ( _Tp * __p,
size_t __n )
inlineconstexpr

Definition at line 196 of file allocator.h.

◆ make_obj_using_allocator()

template<typename _Tp, typename _Alloc, typename... _Args>
_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>
bool operator== ( const allocator< _T1 > & ,
const allocator< _T2 > &  )
related

Equality comparison for std::allocator objects

Returns
true, for all std::allocator objects.

Definition at line 229 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 505 of file scoped_allocator.

◆ uninitialized_construct_using_allocator()

template<typename _Tp, typename _Alloc, typename... _Args>
_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>
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>
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>
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>
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>)
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>
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.

Friends

◆ operator==

template<typename _Tp>
bool operator== ( const allocator< _Tp > & ,
const allocator< _Tp > &  )
friend

Definition at line 208 of file allocator.h.