memory
Typedefs | Static Functions
composable_allocator_traits< memory_pool_collection< Pool, BucketDist, RawAllocator > > Class Template Reference

Detailed Description

template<class Pool, class BucketDist, class RawAllocator>
class foonathan::memory::composable_allocator_traits< memory_pool_collection< Pool, BucketDist, RawAllocator > >

Specialization of the composable_allocator_traits for memory_pool_collection classes.

Typedefs

using allocator_type = memory_pool_collection< Pool, BucketDist, RawAllocator >
 

Static 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
 

Member Functions

◆ try_allocate_node()

static void* try_allocate_node ( allocator_type state,
std::size_t  size,
std::size_t  alignment 
)
staticnoexcept
Returns:
The result of memory_pool_collection::try_allocate_node() or nullptr if the allocation size was too big.

◆ try_allocate_array()

static void* try_allocate_array ( allocator_type state,
std::size_t  count,
std::size_t  size,
std::size_t  alignment 
)
staticnoexcept
Returns:
The result of memory_pool_collection::try_allocate_array() or nullptr if the allocation size was too big.

◆ try_deallocate_node()

static bool try_deallocate_node ( allocator_type state,
void *  node,
std::size_t  size,
std::size_t  alignment 
)
staticnoexcept
Effects:
Just forwards to memory_pool_collection::try_deallocate_node().
Returns:
Whether the deallocation was successful.

◆ try_deallocate_array()

static bool try_deallocate_array ( allocator_type state,
void *  array,
std::size_t  count,
std::size_t  size,
std::size_t  alignment 
)
staticnoexcept
Effects:
Forwards to memory_pool_collection::deallocate_array().
Returns:
Whether the deallocation was successful.