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 = implementation_defined
 Similar to tracked_block_allocator, but shares the tracker with the higher level allocator.
 
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 Allocator , class Tracker >
auto set_tracker (int, Allocator &allocator, Tracker *tracker) noexcept -> decltype(allocator.get_allocator().set_tracker(tracker))
 
template<class Allocator , class Tracker >
void set_tracker (short, Allocator &, Tracker *) noexcept