Documentation of memory

( foonathan/memory)

memory_arena.hpp File Reference

Detailed Description

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. More...
 

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 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)