memory
|
Class foonathan::memory::memory_arena and related functionality regarding BlockAllocators.
Typedefs | |
template<class BlockOrRawAllocator , template< typename... > class BlockAllocator = detail::default_block_wrapper> | |
using | make_block_allocator_t = implementation_defined |
Takes either a BlockAllocator or a RawAllocator. | |
Classes | |
struct | memory_block |
A memory block. More... | |
struct | is_block_allocator< T > |
Traits that check whether a type models concept BlockAllocator. More... | |
class | memory_arena< BlockAllocator, Cached > |
A memory arena that manages huge memory blocks for a higher-level allocator. More... | |
class | growing_block_allocator< RawAllocator, Num, Den > |
A BlockAllocator that uses a given RawAllocator for allocating the blocks. More... | |
class | fixed_block_allocator< RawAllocator > |
A BlockAllocator that allows only one block allocation. More... | |
Variables | |
constexpr bool | cached_arena |
constexpr bool | uncached_arena |
Functions | |
template<class BlockAllocator > | |
std::true_type | is_block_allocator_impl (int,,,) |
template<typename T > | |
std::false_type | is_block_allocator_impl (short) |
template<class BlockOrRawAllocator , typename... Args> | |
make_block_allocator_t< BlockOrRawAllocator > | 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 > | make_block_allocator (std::size_t block_size, Args &&... args) |