WPILibC++ 2025.3.2
Loading...
Searching...
No Matches
wpi::memory::allocator_traits< temporary_allocator > Class Reference

Specialization of the allocator_traits for temporary_allocator classes. More...

#include <wpi/memory/temporary_allocator.hpp>

Public Types

using allocator_type = temporary_allocator
 
using is_stateful = std::true_type
 

Static Public Member 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
 

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

Member Typedef Documentation

◆ allocator_type

◆ is_stateful

using wpi::memory::allocator_traits< temporary_allocator >::is_stateful = std::true_type

Member Function Documentation

◆ allocate_array()

static void * wpi::memory::allocator_traits< temporary_allocator >::allocate_array ( allocator_type & state,
std::size_t count,
std::size_t size,
std::size_t alignment )
inlinestatic
Returns:
The result of temporary_allocator::allocate().

◆ allocate_node()

static void * wpi::memory::allocator_traits< temporary_allocator >::allocate_node ( allocator_type & state,
std::size_t size,
std::size_t alignment )
inlinestatic
Returns:
The result of temporary_allocator::allocate().

◆ deallocate_array()

static void wpi::memory::allocator_traits< temporary_allocator >::deallocate_array ( const allocator_type & ,
void * ,
std::size_t ,
std::size_t ,
std::size_t  )
inlinestaticnoexcept

◆ deallocate_node()

static void wpi::memory::allocator_traits< temporary_allocator >::deallocate_node ( const allocator_type & ,
void * ,
std::size_t ,
std::size_t  )
inlinestaticnoexcept
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_alignment()

static std::size_t wpi::memory::allocator_traits< temporary_allocator >::max_alignment ( const allocator_type & )
inlinestaticnoexcept
Returns:
The maximum possible value since there is no alignment restriction (except indirectly through memory_stack::next_capacity()).

◆ max_array_size()

static std::size_t wpi::memory::allocator_traits< temporary_allocator >::max_array_size ( const allocator_type & state)
inlinestaticnoexcept

◆ max_node_size()

static std::size_t wpi::memory::allocator_traits< temporary_allocator >::max_node_size ( const allocator_type & state)
inlinestaticnoexcept
Returns:
The maximum size which is memory_stack::next_capacity() of the internal stack.

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