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

`#include <alloc_traits.h>`

## Public Types

using | allocator_type = allocator< void >
using | const_pointer = const void *
using | const_void_pointer = const void *
using | difference_type = std::ptrdiff_t
using | is_always_equal = true_type
using | pointer = void *
using | propagate_on_container_copy_assignment = false_type
using | propagate_on_container_move_assignment = true_type
using | propagate_on_container_swap = false_type
template<typename _Up >
using | rebind_alloc = allocator< _Up >
template<typename _Up >
using | rebind_traits = allocator_traits< allocator< _Up > >
using | size_type = std::size_t
using | value_type = void
using | void_pointer = void *

## 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(std::is_nothrow_constructible< _Up, _Args... >::value)
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>.

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

## Member Typedef Documentation

## allocator_type

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

The allocator type.

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

## const_pointer

using std::allocator_traits< allocator< void > >::const_pointer = const void*

The allocator's const pointer type.

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

## const_void_pointer

using std::allocator_traits< allocator< void > >::const_void_pointer = const void*

The allocator's const void pointer type.

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

## difference_type

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

The allocator's difference type.

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

## is_always_equal

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

Whether all instances of the allocator type compare equal.

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

## pointer

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

The allocator's pointer type.

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

## propagate_on_container_copy_assignment

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

How the allocator is propagated on copy assignment.

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

## propagate_on_container_move_assignment

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

How the allocator is propagated on move assignment.

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

## propagate_on_container_swap

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

How the allocator is propagated on swap.

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

## rebind_alloc

template<typename _Up >

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

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

## rebind_traits

template<typename _Up >

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

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

## size_type

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

The allocator's size type.

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

## value_type

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

The allocated type.

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

## void_pointer

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

The allocator's void pointer type.

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

## Member Function Documentation

## allocate()

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

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

References std::_Construct().

## deallocate()

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

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

References std::_Destroy().

## max_size()

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

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

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

- bits/alloc_traits.h