Shaka Player Embedded
|
#include <object_tracker.h>
Public Member Functions | |
ObjectTracker (HeapTracer *tracer) | |
~ObjectTracker () | |
SHAKA_NON_COPYABLE_OR_MOVABLE_TYPE (ObjectTracker) | |
void | RegisterObject (Traceable *object) |
void | ForceAlive (const Traceable *ptr) |
void | AddRef (const Traceable *object) |
void | RemoveRef (const Traceable *object) |
std::unordered_set< const Traceable * > | GetAliveObjects () const |
void | FreeDeadObjects (const std::unordered_set< const Traceable *> &alive) |
void | Dispose () |
![]() | |
PseudoSingleton () | |
~PseudoSingleton () | |
Friends | |
class | ObjectTrackerTest |
Additional Inherited Members | |
![]() | |
static ObjectTracker * | Instance () |
static ObjectTracker * | InstanceOrNull () |
Defines a dynamic object tracker. This is a singleton class. This is used to track the dynamic backing objects that we create so we can free them when they are no longer used. Deriving from BackingObjectBase will automatically use this as the backing store for 'new' usages. Objects allocated using this should not use 'delete'.
Definition at line 51 of file object_tracker.h.
|
explicit |
Definition at line 97 of file object_tracker.cc.
shaka::memory::ObjectTracker::~ObjectTracker | ( | ) |
Definition at line 100 of file object_tracker.cc.
void shaka::memory::ObjectTracker::AddRef | ( | const Traceable * | object | ) |
Increment the reference count of the given object.
Definition at line 40 of file object_tracker.cc.
void shaka::memory::ObjectTracker::Dispose | ( | ) |
Releases all object this owns. This is called as part of shutdown.
Definition at line 121 of file object_tracker.cc.
void shaka::memory::ObjectTracker::ForceAlive | ( | const Traceable * | ptr | ) |
Definition at line 35 of file object_tracker.cc.
void shaka::memory::ObjectTracker::FreeDeadObjects | ( | const std::unordered_set< const Traceable *> & | alive | ) |
Called from the HeapTracer to free objects during a GC run.
alive | A set of all the currently alive objects. |
Definition at line 78 of file object_tracker.cc.
std::unordered_set< const Traceable * > shaka::memory::ObjectTracker::GetAliveObjects | ( | ) | const |
Get all the objects that have a non-zero ref count.
Definition at line 67 of file object_tracker.cc.
void shaka::memory::ObjectTracker::RegisterObject | ( | Traceable * | object | ) |
Registers the given object to be tracked.
Definition at line 25 of file object_tracker.cc.
void shaka::memory::ObjectTracker::RemoveRef | ( | const Traceable * | object | ) |
Decrement the reference count of the given object.
Definition at line 51 of file object_tracker.cc.
shaka::memory::ObjectTracker::SHAKA_NON_COPYABLE_OR_MOVABLE_TYPE | ( | ObjectTracker | ) |
|
friend |
Definition at line 84 of file object_tracker.h.