1#ifndef INC_GLOTONDEMANDSET_H
2#define INC_GLOTONDEMANDSET_H
204 virtual int insert( T * NewObj );
205 virtual int insert( std::shared_ptr<T> NewObj );
242 virtual int remove( T * Object );
243 virtual int remove( std::shared_ptr<T> Object );
301 virtual int get( std::shared_ptr<T> & rRetVal,
EnSeekMode eMode );
400 virtual int get( T *& prRetVal,
const ObjID & rObjID );
426 virtual int get( std::shared_ptr<T> & rRetVal,
const ObjID & rObjID );
445 #define SUPER OndemandSet
473 std::size_t t_nCount( 0 );
475 rsTypeName =
typeid(T).name();
476 rsTypeName.replace( t_nCount, 6,
"");
483 return SUPER::insertPers( pNewObj );
489 return SUPER::insertPers( spNewObj.operator->() );
495 return SUPER::removePers( pObject );
501 return SUPER::removePers( spObject.operator->() );
514 T * t_pPersObject = 0;
515 int t_iErr = this->get( t_pPersObject, eMode );
528 T * t_pPersObject = 0;
529 int t_iErr = this->get( t_pPersObject, eMode );
533 rRetVal.
set( t_pPersObject );
541 return SUPER::getPers( rObjID, (
BasePersistent*&) prRetVal, eMode );
546 std::shared_ptr<T> & rRetVal,
549 T * t_pPersObject =
nullptr;
550 int t_iErr = this->get( rObjID, t_pPersObject, eMode );
564 T * t_pPersObject =
nullptr;
565 int t_iErr = this->get( rObjID, t_pPersObject, eMode );
569 rRetVal.
set( t_pPersObject );
577 return SUPER::getPersistent( (
BasePersistent*&) prRetVal, rObjID );
582 const ObjID & rObjID )
584 T * t_pPersObject = 0;
585 int t_iErr = this->get( t_pPersObject, rObjID );
Header für BasePersistent
#define SUPER
Definition GloTAllSet.h:1204
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:124
std::string m_strDebugInfo
Definition GloCallBack.h:111
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::sha...
Definition GloTypes.h:1234
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Ist die Basisklasse von Template-Ondemand-Set. Objekte können nur einmalig eingefügt werden.
Definition GloOndemandSet.h:71
Referenz (als Attribut) eines persistenten Objekte auf ein anderes persistentes Objekt in der Datenba...
Definition GloTOndemand.h:102
int set(const T *pObj)
Definition GloTOndemand.h:460
Ein typsicherer Set von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut für...
Definition GloTOndemandSet.h:94
virtual ~TOndemandSet()
Definition GloTOndemandSet.h:466
virtual int getTypeAsString(std::string &rsTypeName) override
Definition GloTOndemandSet.h:471
virtual int remove(T *Object)
Entfernt das übergebene persistentes Objekt aus dem Set.
Definition GloTOndemandSet.h:493
virtual int insert(T *NewObj)
Fügt das übergebene persistentes Objekt im Set hinter der aktuellen Position ein.
Definition GloTOndemandSet.h:481
TOndemandSet< T > & operator=(const TOndemandSet &)
TOndemandSet(const TOndemandSet &)
TOndemandSet()
Definition GloTOndemandSet.h:448
virtual int get(T *&prRetVal, EnSeekMode eMode)
Definition GloTOndemandSet.h:505
Definition GloAbstractBaseLot.h:49
EnSeekMode
Definition GloTypes.h:173