memory
Typedefs | Classes | Functions
tracking.hpp File Reference

Detailed Description

Class foonathan::memory::tracked_allocator and related classes and functions.

Typedefs

template<class Tracker , class BlockOrRawAllocator >
using deeply_tracked_block_allocator = FOONATHAN_IMPL_DEFINED(detail::deeply_tracked_block_allocator< Tracker, make_block_allocator_t< BlockOrRawAllocator > >)
 Similar to tracked_block_allocator, but shares the tracker with the higher level allocator. More...
 
template<class Tracker , class RawAllocator >
using deeply_tracked_block_allocator_for = memory::deeply_tracked_block_allocator< Tracker, typename RawAllocator::allocator_type >
 
template<class Tracker , class RawAllocator >
using rebound_allocator = typename rebind_block_allocator< RawAllocator, deeply_tracked_block_allocator_for< Tracker, RawAllocator > >::type
 

Classes

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

Functions

template<class Tracker , class BlockAllocator >
void set_tracker (deeply_tracked_block_allocator< Tracker, BlockAllocator > &alloc, Tracker *t) noexcept
 
template<class Allocator , class Tracker >
void set_tracker (Allocator &, Tracker *)