A RawAllocator with a fallback. More...
#include <wpi/memory/fallback_allocator.hpp>
Public Types | |
using | default_allocator_type = typename allocator_traits<Default>::allocator_type |
using | fallback_allocator_type = typename allocator_traits<Fallback>::allocator_type |
using | is_stateful |
Public Member Functions | |
fallback_allocator () | |
fallback_allocator (default_allocator_type &&default_alloc, fallback_allocator_type &&fallback_alloc={}) | |
void * | allocate_node (std::size_t size, std::size_t alignment) |
void * | allocate_array (std::size_t count, std::size_t size, std::size_t alignment) |
void | deallocate_node (void *ptr, std::size_t size, std::size_t alignment) noexcept |
void | deallocate_array (void *ptr, std::size_t count, std::size_t size, std::size_t alignment) noexcept |
void * | try_allocate_node (std::size_t size, std::size_t alignment) noexcept |
void * | allocate_array (std::size_t count, std::size_t size, std::size_t alignment) noexcept |
bool | try_deallocate_node (void *ptr, std::size_t size, std::size_t alignment) noexcept |
bool | try_deallocate_array (void *ptr, std::size_t count, std::size_t size, std::size_t alignment) noexcept |
std::size_t | max_node_size () const |
std::size_t | max_array_size () const |
std::size_t | max_alignment () const |
default_allocator_type & | get_default_allocator () noexcept |
const default_allocator_type & | get_default_allocator () const noexcept |
fallback_allocator_type & | get_fallback_allocator () noexcept |
const fallback_allocator_type & | get_fallback_allocator () const noexcept |
A RawAllocator with a fallback.
Allocation first tries Default
, if it fails, it uses Fallback
.
Default
must be a composable RawAllocator, Fallback
must be a RawAllocator. using wpi::memory::fallback_allocator< Default, Fallback >::default_allocator_type = typename allocator_traits<Default>::allocator_type |
using wpi::memory::fallback_allocator< Default, Fallback >::fallback_allocator_type = typename allocator_traits<Fallback>::allocator_type |
using wpi::memory::fallback_allocator< Default, Fallback >::is_stateful |
|
inline |
|
inlineexplicit |
|
inline |
|
inlinenoexcept |
|
inline |
default_allocator_type
. If that fails, uses the non-compositioning function of the fallback_allocator_type
.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
const
) reference to the default allocator.
|
inlinenoexcept |
|
inlinenoexcept |
const
) reference to the fallback allocator.
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
default_allocator_type
. If that fails, uses the compositioning function of the fallback_allocator_type
. fallback_allocator_type
msut be composable.
|
inlinenoexcept |
|
inlinenoexcept |