memory
tracking.hpp File Reference

Detailed Description

Class tracked_allocator and related classes and functions.

Typedefs

template<class Tracker, class BlockOrRawAllocator>
using deeply_tracked_block_allocator
 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
 
template<class Tracker, class RawAllocator>
using rebound_allocator
 

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