GlobalObjects
|
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::shared_ptr. Mehr ...
#include <GloTypes.h>
Öffentliche Methoden | |
void | operator() (T *ptr) |
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::shared_ptr.
Objekte des Typs GenericPersistent oder abgeleitete Klassen von Persistent haben einen Referenzzähler und dürfen nicht mittels des Destruktors aus den Speicher entfernt werden. Objekte mit Referenzzähler dürfen nur einmalig instanziiert werden. Bei Übergabe an eine andere Instanz wird über Persistent::remember() der Referenzzähler inkrementiert. Wenn die jetzt besitzende Instanz das Objekt nicht mehr braucht, wird über Persistent::forget() der Referenzzähler dekrementiert. Wenn der Referenzzähler auf 0 läuft, wird der Destruktor aufgerufen.
Diese fehlerträchtige Methode kann durch Nutzung des std::shared_ptr, wenn beim Instantiieren eines persistenten Objekts der Forgetter mit übergeben wird, vermieden werden.
Beispiel (PersClass ist die persistente Klasse):
|
inline |