GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::Forgetter< T > Template-Klassenreferenz

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)
 

Ausführliche Beschreibung

template<typename T>
class glo::Forgetter< T >

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):

std::shared_ptr<PersClass> t_NewPersObject( new PersClass(), glo::Forgetter<PersClass>() );
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::sha...
Definition GloTypes.h:1234
Siehe auch
glo::Persistent::remember(), glo::Persistent::forget().

Dokumentation der Elementfunktionen

◆ operator()()

template<typename T >
void glo::Forgetter< T >::operator() ( T * ptr)
inline

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: