18 #ifndef ION_BASE_FULLALLOCATIONTRACKER_H_
19 #define ION_BASE_FULLALLOCATIONTRACKER_H_
44 void TrackAllocation(
const Allocator& allocator,
45 size_t requested_size,
const void* memory)
override;
46 void TrackDeallocation(
const Allocator& allocator,
47 const void* memory)
override;
48 size_t GetAllocationCount()
override;
49 size_t GetDeallocationCount()
override;
50 size_t GetAllocatedBytesCount()
override;
51 size_t GetDeallocatedBytesCount()
override;
52 size_t GetActiveAllocationCount()
override;
53 size_t GetActiveAllocationBytesCount()
override;
67 std::unique_ptr<Helper> helper_;
70 std::ostream* tracing_ostream_;
79 #endif // ION_BASE_FULLALLOCATIONTRACKER_H_
AllocationTracker is an abstract base class for objects that track memory.
FullAllocationTracker is a derived AllocationTracker class that keeps track of all active allocations...
void SetTracingStream(std::ostream *s)
Sets an output stream to use for tracing allocations and deallocations.
Allocator is an abstract base class for a memory allocator used for Ion objects derived from Allocata...
SharedPtr< FullAllocationTracker > FullAllocationTrackerPtr
Convenience typedef for shared pointer to a FullAllocationTracker.
A SharedPtr is a smart shared pointer to an instance of some class that implements reference counting...
std::ostream * GetTracingStream() const