libstdc++: Allocators

libstdc++

Allocators
Utilities » Memory
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 >
struct | std::allocator_traits< _Alloc >
struct | std::allocator_traits< allocator< _Tp > >
struct | std::allocator_traits< allocator< void > >
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 >

## Typedefs
template<typename _Tp>
using | std::__allocator_base

## 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 | 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 &, 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<_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.

## Typedef Documentation

## ◆ __allocator_base

template<typename _Tp>

using std::__allocator_base

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

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

Template Parameters

  _Tp | Type 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>

_Tp std::make_obj_using_allocator | ( | const _Alloc & | __a,
|  | _Args &&... | __args )
| constexpr

Definition at line 229 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 251 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 510 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 238 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [1/8]

template<_Std_pair _Tp, typename _Alloc>

auto std::uses_allocator_construction_args | ( | const _Alloc & | __a | ) |
| constexprnoexcept

Definition at line 141 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [2/8]

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 153 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [3/8]

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 213 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [4/8]

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 168 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [5/8]

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 181 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [6/8]

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 200 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [7/8]

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 57 of file uses_allocator_args.h.

## ◆ uses_allocator_construction_args() [8/8]

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 122 of file uses_allocator_args.h.