|  | WPILibC++ 2025.3.2
    | 
Class wpi::memory::memory_arena and related functionality regarding BlockAllocators. More...
#include <type_traits>#include "detail/debug_helpers.hpp"#include "detail/assert.hpp"#include "detail/utility.hpp"#include "allocator_traits.hpp"#include "config.hpp"#include "default_allocator.hpp"#include "error.hpp"Go to the source code of this file.
| Classes | |
| struct | wpi::memory::memory_block | 
| A memory block.  More... | |
| struct | wpi::memory::is_block_allocator< T > | 
| Traits that check whether a type models concept BlockAllocator.  More... | |
| class | wpi::memory::detail::memory_block_stack | 
| class | wpi::memory::detail::memory_arena_cache< cached_arena > | 
| class | wpi::memory::detail::memory_arena_cache< uncached_arena > | 
| class | wpi::memory::memory_arena< BlockAllocator, Cached > | 
| A memory arena that manages huge memory blocks for a higher-level allocator.  More... | |
| class | wpi::memory::growing_block_allocator< RawAllocator, Num, Den > | 
| A BlockAllocator that uses a given RawAllocator for allocating the blocks.  More... | |
| class | wpi::memory::fixed_block_allocator< RawAllocator > | 
| A BlockAllocator that allows only one block allocation.  More... | |
| Namespaces | |
| namespace | wpi | 
| Foonathan namespace. | |
| namespace | wpi::memory | 
| Memory namespace. | |
| namespace | wpi::memory::detail | 
| namespace | wpi::memory::literals | 
| Literals namespace. | |
| Typedefs | |
| template<class RawAlloc > | |
| using | wpi::memory::detail::default_block_wrapper = growing_block_allocator<RawAlloc> | 
| template<class BlockOrRawAllocator , template< typename... > class BlockAllocator = detail::default_block_wrapper> | |
| using | wpi::memory::make_block_allocator_t | 
| Takes either a BlockAllocator or a RawAllocator. | |
| Functions | |
| template<class BlockAllocator > | |
| std::true_type | wpi::memory::detail::is_block_allocator_impl (int,,,) | 
| template<typename T > | |
| std::false_type | wpi::memory::detail::is_block_allocator_impl (short) | 
| template<template< class... > class Wrapper, class BlockAllocator , typename... Args> | |
| BlockAllocator | wpi::memory::detail::make_block_allocator (std::true_type, std::size_t block_size, Args &&... args) | 
| template<template< class... > class Wrapper, class RawAlloc > | |
| auto | wpi::memory::detail::make_block_allocator (std::false_type, std::size_t block_size, RawAlloc alloc=RawAlloc()) -> Wrapper< RawAlloc > | 
| template<class BlockOrRawAllocator , typename... Args> | |
| make_block_allocator_t< BlockOrRawAllocator > | wpi::memory::make_block_allocator (std::size_t block_size, Args &&... args) | 
| template<template< class... > class BlockAllocator, class BlockOrRawAllocator , typename... Args> | |
| make_block_allocator_t< BlockOrRawAllocator, BlockAllocator > | wpi::memory::make_block_allocator (std::size_t block_size, Args &&... args) | 
| constexpr std::size_t | wpi::memory::literals::operator""_KiB (unsigned long long value) noexcept | 
| Syntax sugar to express sizes with unit prefixes. | |
| constexpr std::size_t | wpi::memory::literals::operator""_KB (unsigned long long value) noexcept | 
| constexpr std::size_t | wpi::memory::literals::operator""_MiB (unsigned long long value) noexcept | 
| constexpr std::size_t | wpi::memory::literals::operator""_MB (unsigned long long value) noexcept | 
| constexpr std::size_t | wpi::memory::literals::operator""_GiB (unsigned long long value) noexcept | 
| constexpr std::size_t | wpi::memory::literals::operator""_GB (unsigned long long value) noexcept | 
| Variables | |
| constexpr bool | wpi::memory::cached_arena = true | 
| constexpr bool | wpi::memory::uncached_arena = false | 
Class wpi::memory::memory_arena and related functionality regarding BlockAllocators.