35 #ifndef _Destroyable_H__    36 #define _Destroyable_H__    63                 { 
return this->referenceCount_; }
    73                 { ++this->referenceCount_; }
    77                 --this->referenceCount_;
    78                 if (this->referenceCount_ == 0 && this->requestedDestruction_)
    84                 { this->destructionListeners_.insert(pointer); }
    87                 { this->destructionListeners_.erase(pointer); }
   105                 { 
if (
object) { 
object->registerDestructionListener(
this); } }
   107                 { 
if (
object) { 
object->unregisterDestructionListener(
this); } }
   109             virtual void objectDeleted() = 0;
 std::set< DestructionListener * > destructionListeners_
All destruction listeners (for example weak pointers which point to this object and like to get notif...
Definition: Destroyable.h:91
 
void decrementReferenceCount()
Decrements the reference counter (for strong pointers). 
Definition: Destroyable.h:75
 
virtual void preDestroy()
This virtual function is called if destroy() is called and no StrongPtr points to this object...
Definition: Destroyable.h:68
 
Shared library macros, enums, constants and forward declarations for the core library  ...
 
A strong pointer which wraps a pointer to an object and keeps this object alive as long as the strong...
Definition: CorePrereqs.h:227
 
void unregisterAsDestructionListener(Destroyable *object)
Definition: Destroyable.h:106
 
void registerAsDestructionListener(Destroyable *object)
Definition: Destroyable.h:104
 
void registerDestructionListener(DestructionListener *pointer)
Register a destruction listener (for example a weak pointer which points to this object). 
Definition: Destroyable.h:83
 
void unregisterDestructionListener(DestructionListener *pointer)
Unegister a destruction listener (for example a weak pointer which pointed to this object before)...
Definition: Destroyable.h:86
 
bool requestedDestruction_
Becomes true after someone called delete on this object. 
Definition: Destroyable.h:90
 
The MetaPickup destroys all the PickupCarriers' Pickupables. 
 
unsigned int getReferenceCount() const 
Returns the number of strong pointers that point to this object. 
Definition: Destroyable.h:62
 
void incrementReferenceCount()
Increments the reference counter (for strong pointers). 
Definition: Destroyable.h:72
 
virtual ~DestructionListener()
Definition: Destroyable.h:102
 
int referenceCount_
Counts the references from strong pointers to this object. 
Definition: Destroyable.h:89
 
Die Wagnis Klasse hat die folgenden Aufgaben: 
Definition: ApplicationPaths.cc:66
 
#define _CoreExport
Definition: CorePrereqs.h:61
 
This listener is used to inform weak pointers if an object of type Destroyable gets destroyed...
Definition: Destroyable.h:97
 
Classes must inherit from this class if they should be used with StrongPtr or WeakPtr. 
Definition: Destroyable.h:47