WPILibC++ 2025.3.2
Loading...
Searching...
No Matches
wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > > Class Template Reference

Specialization of the composable_allocator_traits for memory_pool classes. More...

#include <wpi/memory/memory_pool.hpp>

Public Types

using allocator_type = memory_pool<PoolType, BlockOrRawAllocator>
 

Static Public Member Functions

static void * try_allocate_node (allocator_type &state, std::size_t size, std::size_t alignment) noexcept
 
static void * try_allocate_array (allocator_type &state, std::size_t count, std::size_t size, std::size_t alignment) noexcept
 
static bool try_deallocate_node (allocator_type &state, void *node, std::size_t size, std::size_t alignment) noexcept
 
static bool try_deallocate_array (allocator_type &state, void *array, std::size_t count, std::size_t size, std::size_t alignment) noexcept
 

Detailed Description

template<typename PoolType, class BlockOrRawAllocator>
class wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >

Specialization of the composable_allocator_traits for memory_pool classes.

Member Typedef Documentation

◆ allocator_type

template<typename PoolType , class BlockOrRawAllocator >
using wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >::allocator_type = memory_pool<PoolType, BlockOrRawAllocator>

Member Function Documentation

◆ try_allocate_array()

template<typename PoolType , class BlockOrRawAllocator >
static void * wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >::try_allocate_array ( allocator_type & state,
std::size_t count,
std::size_t size,
std::size_t alignment )
inlinestaticnoexcept
Effects:
Forwards to memory_pool::try_allocate_array() with the number of nodes adjusted to be the minimum, if the size is less than the memory_pool::node_size().
Returns:
A array with specified properties or nullptr if it was unable to allocate.

◆ try_allocate_node()

template<typename PoolType , class BlockOrRawAllocator >
static void * wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >::try_allocate_node ( allocator_type & state,
std::size_t size,
std::size_t alignment )
inlinestaticnoexcept
Returns:
The result of memory_pool::try_allocate_node() or nullptr if the allocation size was too big.

◆ try_deallocate_array()

template<typename PoolType , class BlockOrRawAllocator >
static bool wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >::try_deallocate_array ( allocator_type & state,
void * array,
std::size_t count,
std::size_t size,
std::size_t alignment )
inlinestaticnoexcept
Effects:
Forwards to memory_pool::deallocate_array() with the same size adjustment.
Returns:
Whether the deallocation was successful.

◆ try_deallocate_node()

template<typename PoolType , class BlockOrRawAllocator >
static bool wpi::memory::composable_allocator_traits< memory_pool< PoolType, BlockOrRawAllocator > >::try_deallocate_node ( allocator_type & state,
void * node,
std::size_t size,
std::size_t alignment )
inlinestaticnoexcept
Effects:
Just forwards to memory_pool::try_deallocate_node().
Returns:
Whether the deallocation was successful.

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