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
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 638 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 641 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 650 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 656 of file bits/alloc_traits.h.

## difference_type

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

The allocator's difference type.

Definition at line 659 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 674 of file bits/alloc_traits.h.

## pointer

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

The allocator's pointer type.

Definition at line 647 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 665 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 668 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 671 of file bits/alloc_traits.h.

## rebind_alloc

template<typename _Up>

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

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

## rebind_traits

template<typename _Up>

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

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

## size_type

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

The allocator's size type.

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

## value_type

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

The allocated type.

Definition at line 644 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 653 of file bits/alloc_traits.h.

## Member Function Documentation

## allocate()

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

static delete

allocate is ill-formed for allocator<void>

## construct()

template<typename _Up, typename... _Args>

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

inline static constexpr noexcept

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 704 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 | )

static delete

deallocate is ill-formed for allocator<void>

## destroy()

template<typename _Up>

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

inline static constexpr noexcept

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 718 of file bits/alloc_traits.h.

References std::_Destroy().

## max_size()

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

static delete

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

inline static constexpr

Obtain an allocator to use when copying a container.

Parameters

  __rhs | An allocator.

Returns
  __rhs

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

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

- bits/alloc_traits.h