libstdc++: std::allocator_traits< allocator< void > > Struct Reference

libstdc++

std::allocator_traits< allocator< void > > Struct Reference
Utilities » Memory » Allocators

`#include <memory>`

## Public Types
using | allocator_type
using | const_pointer
using | const_void_pointer
using | difference_type
using | is_always_equal
using | pointer
using | propagate_on_container_copy_assignment
using | propagate_on_container_move_assignment
using | propagate_on_container_swap
template<typename _Up>
using | rebind_alloc
template<typename _Up>
using | rebind_traits
using | size_type
using | value_type
using | void_pointer

## Static Public Member Functions
static void * | allocate (allocator_type &, size_type, const void *=nullptr)=delete
static constexpr auto | allocate_at_least (allocator< void > &__a, size_type __n) -> allocation_result< pointer, size_type >
template<typename _Up, typename... _Args>
static constexpr void | construct (allocator_type &, _Up *__p, _Args &&... __args) noexcept(__is_nothrow_new_constructible< _Up, _Args... >)
static void | deallocate (allocator_type &, void *, size_type)=delete
template<typename _Up>
static constexpr void | destroy (allocator_type &, _Up *__p) noexcept(is_nothrow_destructible< _Up >::value)
static size_type | max_size (const allocator_type &)=delete
static constexpr allocator_type | select_on_container_copy_construction (const allocator_type &__rhs)

## Detailed Description

Explicit specialization for std::allocator<void>.

Since
  C++11

See also
  std::allocator_traits

Definition at line 777 of file bits/alloc_traits.h.

## Member Typedef Documentation

## ◆ allocator_type

using std::allocator_traits< allocator< void > >::allocator_type

The allocator type.

Definition at line 780 of file bits/alloc_traits.h.

## ◆ const_pointer

using std::allocator_traits< allocator< void > >::const_pointer

The allocator's const pointer type.

Definition at line 789 of file bits/alloc_traits.h.

## ◆ const_void_pointer

using std::allocator_traits< allocator< void > >::const_void_pointer

The allocator's const void pointer type.

Definition at line 795 of file bits/alloc_traits.h.

## ◆ difference_type

using std::allocator_traits< allocator< void > >::difference_type

The allocator's difference type.

Definition at line 798 of file bits/alloc_traits.h.

## ◆ is_always_equal

using std::allocator_traits< allocator< void > >::is_always_equal

Whether all instances of the allocator type compare equal.

Definition at line 813 of file bits/alloc_traits.h.

## ◆ pointer

using std::allocator_traits< allocator< void > >::pointer

The allocator's pointer type.

Definition at line 786 of file bits/alloc_traits.h.

## ◆ propagate_on_container_copy_assignment

using std::allocator_traits< allocator< void > >::propagate_on_container_copy_assignment

How the allocator is propagated on copy assignment.

Definition at line 804 of file bits/alloc_traits.h.

## ◆ propagate_on_container_move_assignment

using std::allocator_traits< allocator< void > >::propagate_on_container_move_assignment

How the allocator is propagated on move assignment.

Definition at line 807 of file bits/alloc_traits.h.

## ◆ propagate_on_container_swap

using std::allocator_traits< allocator< void > >::propagate_on_container_swap

How the allocator is propagated on swap.

Definition at line 810 of file bits/alloc_traits.h.

## ◆ rebind_alloc

template<typename _Up>

using std::allocator_traits< allocator< void > >::rebind_alloc

Definition at line 816 of file bits/alloc_traits.h.

## ◆ rebind_traits

template<typename _Up>

using std::allocator_traits< allocator< void > >::rebind_traits

Definition at line 819 of file bits/alloc_traits.h.

## ◆ size_type

using std::allocator_traits< allocator< void > >::size_type

The allocator's size type.

Definition at line 801 of file bits/alloc_traits.h.

## ◆ value_type

using std::allocator_traits< allocator< void > >::value_type

The allocated type.

Definition at line 783 of file bits/alloc_traits.h.

## ◆ void_pointer

using std::allocator_traits< allocator< void > >::void_pointer

The allocator's void pointer type.

Definition at line 792 of file bits/alloc_traits.h.

## Member Function Documentation

## ◆ allocate()

void * std::allocator_traits< allocator< void > >::allocate | ( | allocator_type & | ,
|  | size_type | ,
|  | const void * | = nullptr )
| staticdelete

allocate is ill-formed for allocator<void>

## ◆ allocate_at_least()

constexpr auto std::allocator_traits< allocator< void > >::allocate_at_least | ( | allocator< void > & | __a,
|  | size_type | __n )-> allocation_result< pointer, size_type >
| inlinestaticnodiscardconstexpr

Allocate memory, generously.

Parameters

  __a | An allocator.
  __n | The minimum number of objects to allocate space for.

Returns
  Memory of suitable size and alignment for n or more contiguous objects of type value_type.

Returns a.allocate_at_least(n) if that expression is well-formed, else { a.allocate(n), n }. When an allocator is obliged to reserve more space than required for the cited n objects, it may deliver the extra space to the caller.

Definition at line 417 of file bits/alloc_traits.h.

## ◆ construct()

template<typename _Up, typename... _Args>

constexpr void std::allocator_traits< allocator< void > >::construct | ( | allocator_type & | ,
|  | _Up * | __p,
|  | _Args &&... | __args )
| inlinestaticconstexprnoexcept

Construct an object of type _Up.

Parameters

  __a | An allocator.
  __p | Pointer to memory of suitable size and alignment for an object of type _Up.
  __args | Constructor arguments.

Calls __a.construct(__p, std::forward<_Args>(__args)...) in C++11, C++14 and C++17. Changed in C++20 to call std::construct_at(__p, std::forward<_Args>(__args)...) instead.

Definition at line 843 of file bits/alloc_traits.h.

References std::_Construct(), and std::forward().

## ◆ deallocate()

void std::allocator_traits< allocator< void > >::deallocate | ( | allocator_type & | ,
|  | void * | ,
|  | size_type | )
| staticdelete

deallocate is ill-formed for allocator<void>

## ◆ destroy()

template<typename _Up>

constexpr void std::allocator_traits< allocator< void > >::destroy | ( | allocator_type & | ,
|  | _Up * | __p )
| inlinestaticconstexprnoexcept

Destroy an object of type _Up.

Parameters

  __a | An allocator.
  __p | Pointer to the object to destroy

Invokes the destructor for *__p.

Definition at line 857 of file bits/alloc_traits.h.

References std::_Destroy().

## ◆ max_size()

size_type std::allocator_traits< allocator< void > >::max_size | ( | const allocator_type & |  | ) |
| staticdelete

max_size is ill-formed for allocator<void>

## ◆ select_on_container_copy_construction()

constexpr allocator_type std::allocator_traits< allocator< void > >::select_on_container_copy_construction | ( | const allocator_type & | __rhs | ) |
| inlinestaticconstexpr

Obtain an allocator to use when copying a container.

Parameters

  __rhs | An allocator.

Returns
  __rhs

Definition at line 872 of file bits/alloc_traits.h.

The documentation for this struct was generated from the following file:

- bits/alloc_traits.h