GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloPointerSet.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOPOINTERSET_H
2#define INC_GLOPOINTERSET_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include <set>
38#include "GloTypes.h"
39#include "GloPointerLot.h"
40//-----------------------------------------------------------------------------
41namespace glo
42{
43 //---------------------------------------------------------------------------
44 #ifdef _MSC_VER
45 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
46 #pragma warning( disable : 4251 )
47 #endif
48 //---------------------------------------------------------------------------
66 {
67 private:
68 //============== Attribute
69 //-----------------------------------------------------------------------
79 std::set<BasePersistent *> m_poObjSet;
80 //-----------------------------------------------------------------------
92 std::set< BasePersistent * >::iterator m_poObjSetIterator;
93 //-----------------------------------------------------------------------
94
95 public:
96 //============== Konstruktoren
97 //-----------------------------------------------------------------------
108 //-----------------------------------------------------------------------
121 PointerSet( Base & rBase );
122 //-----------------------------------------------------------------------
137 virtual ~PointerSet();
138 //-----------------------------------------------------------------------
139
140 private:
141 //============== Konstruktoren
142 //-----------------------------------------------------------------------
153 //-----------------------------------------------------------------------
154
155 private:
156 //============== Methoden
157 //-----------------------------------------------------------------------
159
168 virtual int appendPers( BasePersistent * ){ return ERR_METHOD_FORBIDDEN; };
169 virtual int appendPers( std::shared_ptr< BasePersistent > ){ return ERR_METHOD_FORBIDDEN; };
170 virtual int insertPersBefore( BasePersistent *, const BasePersistent * ){ return ERR_METHOD_FORBIDDEN; };
171 virtual int insertPersBefore( std::shared_ptr< BasePersistent > , const std::shared_ptr< BasePersistent > ){ return ERR_METHOD_FORBIDDEN; };
173 //-----------------------------------------------------------------------
174
175 public:
176 //============== Methoden
177 //-----------------------------------------------------------------------
209 virtual int insertPers( BasePersistent * pNewObj );
210 //-----------------------------------------------------------------------
246 virtual int removePers( BasePersistent * pObject );
247 //-----------------------------------------------------------------------
285 virtual int getPers( BasePersistent *& prRetVal, EnSeekMode eMode );
286 //-----------------------------------------------------------------------
288
297 virtual void getAllClassIDs( std::list< ObjID > & rAllClassIDs ) const;
298 virtual bool inLot( const ObjID & object ) const;
299 virtual bool inLot( const BasePersistent & object ) const;
300 virtual bool inLot( const std::shared_ptr<BasePersistent> object ) const;
302 //-----------------------------------------------------------------------
323 virtual int getPersistent( BasePersistent *& prRetVal, const ObjID & rObjID );
324 //-----------------------------------------------------------------------
340 virtual int setCurrentObject( const ObjID & rObjID );
341 //-----------------------------------------------------------------------
355 virtual int setPosition( std::size_t nPosition );
356 //-----------------------------------------------------------------------
368 virtual std::size_t size() const;
369 //-----------------------------------------------------------------------
381 virtual void clear();
382 //-----------------------------------------------------------------------
398 std::set< BasePersistent * > & Set();
399 //-----------------------------------------------------------------------
400
401
402 private:
403 //============== Operatoren
404 //-----------------------------------------------------------------------
414 inline PointerSet & operator= ( const PointerSet & );
415 //-----------------------------------------------------------------------
416 };
417 //---------------------------------------------------------------------------
418 #ifdef _MSC_VER
419 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
420 #pragma warning( default : 4251 )
421 #endif
422 //---------------------------------------------------------------------------
423} // namespace glo
424#endif
Header für PointerLot
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Diese Klasse ist die Schnittstelle zu den persistenten Objekten. Hier können "Objekte" angemeldet,...
Definition GloBase.h:250
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:102
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:77
Ist die abstrakte Basisklasse von Zeiger-Sets und -Listen.
Definition GloPointerLot.h:62
Ist die Basisklasse von einer Template-Set. Die persistenten Objekte werden in einer std::set verwalt...
Definition GloPointerSet.h:66
PointerSet(const PointerSet &)
std::set< BasePersistent * > & Set()
virtual bool inLot(const ObjID &object) const
Siehe Beschreibung in Oberklasse.
std::set< BasePersistent * > m_poObjSet
Definition GloPointerSet.h:79
virtual int appendPers(std::shared_ptr< BasePersistent >)
Steht für einen Set nicht zur Verfügung
Definition GloPointerSet.h:169
virtual int insertPersBefore(BasePersistent *, const BasePersistent *)
Steht für einen Set nicht zur Verfügung
Definition GloPointerSet.h:170
virtual int setCurrentObject(const ObjID &rObjID)
virtual int insertPers(BasePersistent *pNewObj)
virtual int insertPersBefore(std::shared_ptr< BasePersistent >, const std::shared_ptr< BasePersistent >)
Steht für einen Set nicht zur Verfügung
Definition GloPointerSet.h:171
virtual int getPersistent(BasePersistent *&prRetVal, const ObjID &rObjID)
virtual void clear()
PointerSet(Base &rBase)
std::set< BasePersistent * >::iterator m_poObjSetIterator
Definition GloPointerSet.h:92
virtual std::size_t size() const
virtual bool inLot(const std::shared_ptr< BasePersistent > object) const
Siehe Beschreibung in Oberklasse.
virtual int setPosition(std::size_t nPosition)
virtual int appendPers(BasePersistent *)
Steht für einen Set nicht zur Verfügung
Definition GloPointerSet.h:168
virtual int removePers(BasePersistent *pObject)
virtual bool inLot(const BasePersistent &object) const
Siehe Beschreibung in Oberklasse.
virtual int getPers(BasePersistent *&prRetVal, EnSeekMode eMode)
virtual void getAllClassIDs(std::list< ObjID > &rAllClassIDs) const
Siehe Beschreibung in Oberklasse.
virtual ~PointerSet()
Definition GloAbstractBaseLot.h:42
EnSeekMode
Definition GloTypes.h:166