2 #ifndef GARBAGECOLLECTOR_H_INCLUDED
3 #define GARBAGECOLLECTOR_H_INCLUDED
31 startTimer (timerInterval);
35 clearSingletonInstance();
40 while (data.size() > 0 && count--) timerCallback();
42 jassert (data.size() == 0);
46 bool isInList (ReferenceCountedObject* o)
48 return (std::find (data.begin(), data.end(), o) != data.end());
51 static void add (ReferenceCountedObject* o)
53 getInstance()->addObject (o);
55 void addObject (ReferenceCountedObject* o)
57 jassert (! isInList (o));
58 o->incReferenceCount();
64 data.remove_if ([] (ReferenceCountedObject * o)
66 if (o->getReferenceCount() == 1)
68 o->decReferenceCount();
75 std::list<ReferenceCountedObject*> data;
140 public ReferenceCountedObject
145 GarbageCollector::add (
this);
150 jassert (MessageManager::getInstance()->isThisTheMessageThread());
154 jassert (MessageManager::getInstance()->isThisTheMessageThread());
161 #endif // SAMPLE_DATABASE_H_INCLUDED
Definition: garbage_collected_object.h:24
Allows objects to be created and destroyed on a non-critical thread but passed over to a critical thr...
Definition: garbage_collected_object.h:139