![]() |
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.