GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::IndexPool::TableObjIdIndexIterator Klassenreferenz

Hat einen Zeiger auf einen TableObjIdIndex und ermöglicht das iterieren durch diesen Index. Wird z.B. für AllSets instanziiert, damit diese unabhängig durch Indexe iterieren können. Mehr ...

#include <GloIndexPool.h>

Öffentliche Methoden

 TableObjIdIndexIterator (const TableObjIdIndexIterator &rT)
 
 TableObjIdIndexIterator (TableObjIdIndex *pTableObjIdIndex)
 
 ~TableObjIdIndexIterator ()
 
unsigned long getClassID () const
 
int getObjIdPosTuple (ObjIdPosTuple *&prRetVal, EnSeekMode eMode)
 
std::size_t getTableObjIdIndexSize () const
 
bool inObjIdIndex (const ObjID &rObjID)
 
IndexPool::TableObjIdIndexIteratoroperator= (const TableObjIdIndexIterator &rT)
 
int setCurrentObject (const ObjID &rObjID)
 
bool setNearestObject (const ObjID &rObjID)
 
int setPosition (std::size_t nPosition)
 
void setWithSubClasses (bool bWithSubClasses)
 
bool withSubClasses () const
 

Geschützte Methoden

 TableObjIdIndexIterator ()
 
bool setNearestObject (std::map< ObjID, ObjIdPosTuple * >::iterator &rIterator, const ObjID &rObjID)
 

Private Attribute

bool m_bWithSubClasses
 
ObjIdPosTuplem_pLastTableObjIdIndexItem
 
TableObjIdIndexm_pTableObjIdIndex
 

Ausführliche Beschreibung

Hat einen Zeiger auf einen TableObjIdIndex und ermöglicht das iterieren durch diesen Index. Wird z.B. für AllSets instanziiert, damit diese unabhängig durch Indexe iterieren können.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ TableObjIdIndexIterator() [1/3]

glo::IndexPool::TableObjIdIndexIterator::TableObjIdIndexIterator ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ TableObjIdIndexIterator() [2/3]

glo::IndexPool::TableObjIdIndexIterator::TableObjIdIndexIterator ( TableObjIdIndex * pTableObjIdIndex)

Konstruktor mit Parameterübergabe.

Parameter
[in]pTableObjIdIndexZeiger auf einen TableObjIdIndex, durch den ein Objekt dieser Klasse unabhängig iterieren kann.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ TableObjIdIndexIterator() [3/3]

glo::IndexPool::TableObjIdIndexIterator::TableObjIdIndexIterator ( const TableObjIdIndexIterator & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ ~TableObjIdIndexIterator()

glo::IndexPool::TableObjIdIndexIterator::~TableObjIdIndexIterator ( )

Destruktor.

Dokumentation der Elementfunktionen

◆ getClassID()

unsigned long glo::IndexPool::TableObjIdIndexIterator::getClassID ( ) const

Liefert die Klassen-ID aus m_pTableObjIdIndex.

Rückgabe
Die Klassen-ID.

◆ getObjIdPosTuple()

int glo::IndexPool::TableObjIdIndexIterator::getObjIdPosTuple ( ObjIdPosTuple *& prRetVal,
EnSeekMode eMode )

Liefert in übergebene Referenz einen Zeiger auf ein kopiertes ObjIdPosTuple aus der Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet, in Bezug auf eMode.

Parameter
[in,out]prRetValDas ggf. gefundene Objekte
[in]eModeDer Suchmodus.

Parameterbeispiele:

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Eine Rückgabe == ERR_RANGE zeigt das Ende der Liste an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt aus dem Speicher entfernen.

◆ getTableObjIdIndexSize()

std::size_t glo::IndexPool::TableObjIdIndexIterator::getTableObjIdIndexSize ( ) const

Liefert die Anzahl der Elemente in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet, aus m_pTableObjIdIndex.

Rückgabe
Die Anzahl.

◆ inObjIdIndex()

bool glo::IndexPool::TableObjIdIndexIterator::inObjIdIndex ( const ObjID & rObjID)

Prüft, ob ein ObjIdPosTuple mit übergebener Objekt-ID in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet, vorhanden ist.

Parameter
[in]rObjIDDie gesuchte Objekt-ID.
Rückgabe
Wenn true, dann vorhanden.

◆ operator=()

IndexPool::TableObjIdIndexIterator & glo::IndexPool::TableObjIdIndexIterator::operator= ( const TableObjIdIndexIterator & rT)

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ setCurrentObject()

int glo::IndexPool::TableObjIdIndexIterator::setCurrentObject ( const ObjID & rObjID)

Setzt den internen Iterator auf die Position der übergebenen Objekt-ID in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen- Position verwaltet.

Parameter
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setNearestObject() [1/2]

bool glo::IndexPool::TableObjIdIndexIterator::setNearestObject ( const ObjID & rObjID)

Setzt den internen Iterator auf die "nächste", im günstigsten Fall auf die inhaltlich genaue Position der übergebenen Objekt-ID in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet.

Parameter
[in]rObjIDDie Objekt-ID.
Rückgabe
Wenn true, dann wurde direkt gefunden, ansonsten das Nächste oder keins.

◆ setNearestObject() [2/2]

bool glo::IndexPool::TableObjIdIndexIterator::setNearestObject ( std::map< ObjID, ObjIdPosTuple * >::iterator & rIterator,
const ObjID & rObjID )
protected

Setzt den internen Iterator auf die "nächste", im günstigsten Fall auf die inhaltlich genaue Position der übergebenen Objekt-ID in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet.

Hilfsmethode für
TableObjIdIndexIterator::getObjIdPosTuple(ObjIdPosTuple *& prRetVal, EnSeekMode eMode)
und
TableObjIdIndexIterator::setNearestObject(const ObjID & rObjID)

Parameter
[in,out]rIteratorDie zu setzende Iterator.
[in]rObjIDDie Objekt-ID.
Rückgabe
Wenn true, dann wurde direkt gefunden, ansonsten das Nächste oder nichts.

◆ setPosition()

int glo::IndexPool::TableObjIdIndexIterator::setPosition ( std::size_t nPosition)

Setzt internen Iterator auf die übergebene Position (Start ist bei 0) in der Map, welche die gespeicherten Objekt-IDs und deren Tabellen- Position verwaltet.

Parameter
[in]nPositionDie Position.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setWithSubClasses()

void glo::IndexPool::TableObjIdIndexIterator::setWithSubClasses ( bool bWithSubClasses)

Setzt m_bWithSubClasses.

Parameter
[in]bWithSubClassesWenn true, werden bei Abfragen auch die ObjIdPosTuple der Unterklassen geliefert, ansonsten nicht.

◆ withSubClasses()

bool glo::IndexPool::TableObjIdIndexIterator::withSubClasses ( ) const

Liefert m_bWithSubClasses.

Rückgabe
Wenn true, werden bei Abfragen auch die ObjIdPosTuple der Unterklassen geliefert, ansonsten nicht.

Dokumentation der Datenelemente

◆ m_bWithSubClasses

bool glo::IndexPool::TableObjIdIndexIterator::m_bWithSubClasses
private

Wenn gesetzt, dann werden auch die ObjIdPosTuple der Unterklassen geliefert, ansonsten nicht. Der referenzierte TableObjIdIndex hat eine Klassen-ID, verwaltet aber auch die Unterklassen.

◆ m_pLastTableObjIdIndexItem

ObjIdPosTuple* glo::IndexPool::TableObjIdIndexIterator::m_pLastTableObjIdIndexItem
private

Das letzte gelieferte Element (Kopie), um beim nächsten Iteratorschritt aufsetzen zu können. Es wird kein eigener Iterator vorgehalten, da zwischen zwei Zugriffen das referenzierte Element aus dem m_pTableObjIdIndex gelöscht worden sein könnte.

◆ m_pTableObjIdIndex

TableObjIdIndex* glo::IndexPool::TableObjIdIndexIterator::m_pTableObjIdIndex
private

Ein Zeiger auf einen TableObjIdIndex, durch den ein Objekt dieser Klasse unabhängig iterieren kann.


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