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.

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