Documentation of memory

( foonathan/memory)

memory

Classes

class  aligned_allocator< RawAllocator >
 A RawAllocator adapter that ensures a minimum alignment. More...
 
class  allocator_storage< StoragePolicy, Mutex >
 A RawAllocator that stores another allocator. More...
 
struct  any_allocator
 Tag type that enables type-erasure in reference_storage. More...
 
class  direct_storage< RawAllocator >
 A StoragePolicy that stores the allocator directly. More...
 
class  allocator_adapter< RawAllocator >
 An alias template for allocator_storage using the direct_storage policy without a mutex. More...
 
class  thread_safe_allocator< RawAllocator, Mutex >
 An alias template for allocator_storage using the direct_storage policy with a mutex. More...
 
struct  is_shared_allocator< RawAllocator >
 Specifies whether or not a RawAllocator has shared semantics. More...
 
class  reference_storage< RawAllocator >
 A StoragePolicy that stores a reference to an allocator. More...
 
class  reference_storage< any_allocator >
 Specialization of the class template reference_storage that is type-erased. More...
 
class  allocator_reference< RawAllocator, Mutex >
 An alias template for allocator_storage using the reference_storage policy with a given Mutex. More...
 
class  any_allocator_reference< Mutex >
 A template alias for allocator_storage using the any_reference_storage with a given Mutex. More...
 
struct  allocator_is_raw_allocator< Allocator >
 Traits class that checks whether or not a standard Allocator can be used as RawAllocator. More...
 
struct  allocator_is_raw_allocator< std::allocator< T > >
 Specialization of allocator_is_raw_allocator that allows std::allocator again. More...
 
class  allocator_traits< Allocator >
 The default specialization of the allocator_traits for a RawAllocator. More...
 
struct  is_raw_allocator< T >
 Traits that check whether a type models concept RawAllocator. More...
 
class  composable_allocator_traits< Allocator >
 The default specialization of the composable_allocator_traits for a ComposableAllocator. More...
 
struct  is_composable_allocator< T >
 Traits that check whether a type models concept ComposableAllocator. More...
 
class  vector< T, RawAllocator, Mutex >
 Alias template for an STL container that uses a certain RawAllocator. More...
 
struct  forward_list_node_size< T >
 Contains the node size of a node based STL container with a specific type. More...
 
class  allocator_deallocator< Type, RawAllocator, Mutex >
 A deleter class that deallocates the memory through a specified RawAllocator. More...
 
class  allocator_deallocator< Type[], RawAllocator, Mutex >
 Specialization of allocator_deallocator for array types. More...
 
class  allocator_deleter< Type, RawAllocator, Mutex >
 Similar to allocator_deallocator but calls the destructors of the objects. More...
 
class  allocator_deleter< Type[], RawAllocator, Mutex >
 Specialization of allocator_deleter for array types. More...
 
struct  allocator_info
 Contains information about an allocator. More...
 
class  out_of_memory
 The exception class thrown when a low level allocator runs out of memory. More...
 
class  out_of_fixed_memory
 A special case of out_of_memory errors thrown when a low-level allocator with a fixed size runs out of memory. More...
 
class  bad_allocation_size
 The exception class thrown when an allocation size is bigger than the supported maximum. More...
 
class  bad_node_size
 The exception class thrown when the node size exceeds the supported maximum, i.e. More...
 
class  bad_array_size
 The exception class thrown when the array size exceeds the supported maximum, i.e. More...
 
class  bad_alignment
 The exception class thrown when the alignment exceeds the supported maximum, i.e. More...
 
class  fallback_allocator< Default, Fallback >
 A RawAllocator with a fallback. More...
 
class  joint
 Tag type that can't be created. More...
 
struct  joint_size
 Tag type to make the joint size more explicit. More...
 
class  joint_type< T >
 CRTP base class for all objects that want to use joint memory. More...
 
class  joint_ptr< T, RawAllocator, Mutex >
 A pointer to an object where all allocations are joint. More...
 
class  joint_allocator
 A RawAllocator that uses the additional joint memory for its allocation. More...
 
struct  is_shared_allocator< joint_allocator >
 Specialization of is_shared_allocator to mark joint_allocator as shared. More...
 
struct  propagation_traits< joint_allocator >
 Specialization of the propagation_traits for the joint_allocator. More...
 
class  joint_array< T >
 A zero overhead dynamic array using joint memory. More...
 
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...
 
struct  node_pool
 Tag type defining a memory pool optimized for nodes. More...
 
struct  array_pool
 Tag type defining a memory pool optimized for arrays. More...
 
struct  small_node_pool
 Tag type defining a memory pool optimized for small nodes. More...
 
class  memory_resource
 The memory_resource abstract base class used in the implementation. More...
 
class  memory_resource_adapter< RawAllocator >
 Wraps a RawAllocator and makes it a memory_resource. More...
 
class  memory_resource_allocator
 Wraps a memory_resource and makes it a RawAllocator. More...
 
struct  is_shared_allocator< memory_resource_allocator >
 Specialization of is_shared_allocator to mark memory_resource_allocator as shared. More...
 
class  memory_stack< BlockOrRawAllocator >
 A stateful RawAllocator that provides stack-like (LIFO) allocations. More...
 
class  memory_stack_raii_unwind< Stack >
 Simple utility that automatically unwinds a Stack to a previously saved location. More...
 
class  allocator_traits< memory_stack< BlockAllocator > >
 Specialization of the allocator_traits for memory_stack classes. More...
 
class  composable_allocator_traits< memory_stack< BlockAllocator > >
 Specialization of the composable_allocator_traits for memory_stack classes. More...
 
class  unique_ptr< T, RawAllocator >
 A std::unique_ptr that deletes using a RawAllocator. More...
 
struct  shared_ptr_node_size< T >
 Contains the node size needed for a std::shared_ptr. More...
 
struct  static_allocator_storage< Size >
 Storage for a static_allocator. More...
 
class  static_allocator
 A stateful RawAllocator that uses a fixed sized storage for the allocations. More...
 
class  static_block_allocator
 A BlockAllocator that allocates the blocks from a fixed size storage. More...
 
struct  propagation_traits< RawAllocator >
 Controls the propagation of a std_allocator for a certain RawAllocator. More...
 
class  std_allocator< T, RawAllocator, Mutex >
 Wraps a RawAllocator and makes it a "normal" Allocator. More...
 
class  any_std_allocator< T, Mutex >
 An alias template for std_allocator using a type-erased RawAllocator. More...
 
class  temporary_stack
 A wrapper around the memory_stack that is used by the temporary_allocator. More...
 
class  temporary_allocator
 A stateful RawAllocator that handles temporary allocations. More...
 
class  allocator_traits< temporary_allocator >
 Specialization of the allocator_traits for temporary_allocator classes. More...
 
struct  no_mutex
 A dummy Mutex class that does not lock anything. More...
 
struct  is_thread_safe_allocator< RawAllocator >
 Specifies whether or not a RawAllocator is thread safe as-is. More...
 
class  tracked_block_allocator< Tracker, BlockOrRawAllocator >
 A BlockAllocator adapter that tracks another allocator using a tracker. More...
 
class  tracked_allocator< Tracker, RawAllocator >
 A RawAllocator adapter that tracks another allocator using a tracker. More...
 
class  deeply_tracked_allocator< Tracker, RawAllocator >
 A tracked_allocator that has rebound any BlockAllocator to the corresponding deeply_tracked_block_allocator. More...
 
class  virtual_memory_allocator
 A stateless RawAllocator that allocates memory using the virtual memory allocation functions. More...
 
class  virtual_block_allocator
 A BlockAllocator that reserves virtual memory and commits it part by part. More...