allocator_traits< temporary_allocator > Class Reference
Allocator implementations

## Detailed Description

Specialization of the allocator_traits for temporary_allocator classes.

Note
  It is not allowed to mix calls through the specialization and through the member functions, i.e. temporary_allocator::allocate() and this `allocate_node()`.

## Typedefs

using | allocator_type = temporary_allocator
using | is_stateful = std::true_type

## Static Functions

static void * | allocate_node (allocator_type &state, std::size_t size, std::size_t alignment)
static void * | allocate_array (allocator_type &state, std::size_t count, std::size_t size, std::size_t alignment)
static std::size_t | max_alignment (const allocator_type &) noexcept
static void | deallocate_node (const allocator_type &, void *, std::size_t, std::size_t) noexcept
static void | deallocate_array (const allocator_type &, void *, std::size_t, std::size_t, std::size_t) noexcept
static std::size_t | max_node_size (const allocator_type &state) noexcept
static std::size_t | max_array_size (const allocator_type &state) noexcept

## Member Functions

## allocate_node()

static void * allocate_node | ( | allocator_type & | state,
|  | std::size_t | size,
|  | std::size_t | alignment
| ) |  |

static

Returns:
  The result of temporary_allocator::allocate().

## allocate_array()

static void * allocate_array | ( | allocator_type & | state,
|  | std::size_t | count,
|  | std::size_t | size,
|  | std::size_t | alignment
| ) |  |

static

Returns:
  The result of temporary_allocator::allocate().

## deallocate_node()

static void deallocate_node | ( | const allocator_type & | ,
|  | void * | ,
|  | std::size_t | ,
|  | std::size_t |
| ) |  |

static noexcept

Effects:
  Does nothing besides bookmarking for leak checking, if that is enabled. Actual deallocation will be done automatically if the allocator object goes out of scope.

## deallocate_array()

static void deallocate_array | ( | const allocator_type & | ,
|  | void * | ,
|  | std::size_t | ,
|  | std::size_t | ,
|  | std::size_t |
| ) |  |

static noexcept

Effects:
  Does nothing besides bookmarking for leak checking, if that is enabled. Actual deallocation will be done automatically if the allocator object goes out of scope.

## max_node_size()

static std::size_t max_node_size | ( | const allocator_type & | state | ) |

static noexcept

Returns:
  The maximum size which is memory_stack::next_capacity() of the internal stack.

## max_array_size()

static std::size_t max_array_size | ( | const allocator_type & | state | ) |

static noexcept

Returns:
  The maximum size which is memory_stack::next_capacity() of the internal stack.

## max_alignment()

static std::size_t max_alignment | ( | const allocator_type & |  | ) |

static noexcept

Returns:
  The maximum possible value since there is no alignment restriction (except indirectly through memory_stack::next_capacity()).