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

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

#include <GloIndexPool.h>

Öffentliche Methoden

 ObjectStrIndexIterator (const ObjectStrIndexIterator &rT)
 
 ObjectStrIndexIterator (ObjectStrIndex *pObjectStrIndex)
 
 ~ObjectStrIndexIterator ()
 
unsigned long getClassID () const
 
std::size_t getObjectStrIndexSize () const
 
int getObjStrIdTuple (ObjStrIdTuple &rRetVal, EnSeekMode eMode)
 
int getObjStrIdTupleList (std::list< ObjStrIdTuple > &rRetVal, const std::string &rsIndex, EnComparisionOp eComparisionOp) const
 
int getObjStrIdTupleList (std::list< ObjStrIdTuple > &rRetVal, const std::string &rsIndex, EnQueryType eQuerryType) const
 
int getObjStrIdTupleList (std::list< ObjStrIdTuple > &rRetVal, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex) const
 
bool inObjectStrIndex (const ObjID &rObjID)
 
bool inObjectStrIndex (const std::string &rsIndex)
 
IndexPool::ObjectStrIndexIteratoroperator= (const ObjectStrIndexIterator &rT)
 
void removeFilter ()
 
int setCurrentObject (const ObjID &rObjID)
 
void setFilter (const std::string &rsIndexFilterValue)
 
void setFilter (const std::string &rsIndexFilterValue, EnComparisionOp eComparisionOp)
 
void setFilter (const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex)
 
void setFilter (IndexFilter *pIndexFilter)
 
bool setNearestObject (const std::string &rsIndex)
 
int setPosition (std::size_t nPosition)
 

Geschützte Methoden

 ObjectStrIndexIterator ()
 
int getSearchModeAndSearchIndex (std::string &rsSearchIndex, const std::string rsSourceIndex) const
 
bool setNearestObjectInMap (std::map< std::string, ObjStrIdTuple * >::const_iterator &rIterator, const std::string &rsIndex)
 
bool setNearestObjectInMultiMap (std::multimap< std::string, ObjStrIdTuple * >::const_iterator &rIterator, const std::string &rsIndex)
 
bool valueMatchesComparisonFilter (const std::string &rsSearchIndex, IndexComparisionFilter &rIndexComparisionFilter) const
 
bool valueMatchesIndexFilter (const std::string &rsSearchIndex, IndexFilter &rIndexFilter) const
 
bool valueMatchesRangeFilter (const std::string &rsSearchIndex, IndexRangeFilter &rIndexRangeFilter) const
 

Private Attribute

IndexFilterm_pIndexFilter
 
ObjStrIdTuplem_pLastObjectStrIndexItem
 
ObjectStrIndexm_pObjectStrIndex
 

Ausführliche Beschreibung

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

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ObjectStrIndexIterator() [1/3]

glo::IndexPool::ObjectStrIndexIterator::ObjectStrIndexIterator ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ ObjectStrIndexIterator() [2/3]

glo::IndexPool::ObjectStrIndexIterator::ObjectStrIndexIterator ( ObjectStrIndex * pObjectStrIndex)

Konstruktor mit Parameterübergabe.

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

◆ ObjectStrIndexIterator() [3/3]

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

Copy-Konstruktor.

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

◆ ~ObjectStrIndexIterator()

glo::IndexPool::ObjectStrIndexIterator::~ObjectStrIndexIterator ( )

Destruktor.

Dokumentation der Elementfunktionen

◆ getClassID()

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

Liefert die Klassen-ID aus m_pObjectStrIndex.

Rückgabe
Die Klassen-ID.

◆ getObjectStrIndexSize()

std::size_t glo::IndexPool::ObjectStrIndexIterator::getObjectStrIndexSize ( ) const

Liefert die Anzahl der Elemente in der Map welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex).

Rückgabe
Die Anzahl.

◆ getObjStrIdTuple()

int glo::IndexPool::ObjectStrIndexIterator::getObjStrIdTuple ( ObjStrIdTuple & rRetVal,
EnSeekMode eMode )

Liefert in übergebene Referenz den Wert eines ObjStrIdTuple aus der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet, in Bezug auf eMode.

Parameter
[in,out]rRetValDas ggf. gefundene ObjStrIdTuple.
[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.

◆ getObjStrIdTupleList() [1/3]

int glo::IndexPool::ObjectStrIndexIterator::getObjStrIdTupleList ( std::list< ObjStrIdTuple > & rRetVal,
const std::string & rsIndex,
EnComparisionOp eComparisionOp ) const

Liefert in übergebene Referenz die Werte von den ObjStrIdTuples aus der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex), in Bezug auf übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rRetValDie Liste mit den gefundenen ObjStrIdTuple.
[in]rsIndexDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getObjStrIdTupleList() [2/3]

int glo::IndexPool::ObjectStrIndexIterator::getObjStrIdTupleList ( std::list< ObjStrIdTuple > & rRetVal,
const std::string & rsIndex,
EnQueryType eQuerryType ) const

Liefert in übergebene Referenz die Werte von den ObjStrIdTuples aus der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex), in Bezug auf übergebene Parameter.

Parameter
[in,out]rRetValDie Liste mit den gefundenen ObjStrIdTuple.
[in]rsIndexDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert.
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getObjStrIdTupleList() [3/3]

int glo::IndexPool::ObjectStrIndexIterator::getObjStrIdTupleList ( std::list< ObjStrIdTuple > & rRetVal,
const std::string & rsRangeStartIndex,
const std::string & rsRangeEndIndex ) const

Liefert in übergebene Referenz die Werte von den ObjStrIdTuples aus der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex in Bezug auf übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter sRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rRetValDie Liste mit den gefundenen ObjStrIdTuple.
[in]rsRangeStartIndexDer Start-Indexwert.
[in]rsRangeEndIndexDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getSearchModeAndSearchIndex()

int glo::IndexPool::ObjectStrIndexIterator::getSearchModeAndSearchIndex ( std::string & rsSearchIndex,
const std::string rsSourceIndex ) const
protected

Liefert einen Suchmodus (siehe Rückgabe) und den resultierenden Suchindex aus einem Suchstring mit den evtl. vorhandenen Platzhalter '*' und '?'.

Parameter
[in,out]rsSearchIndexDer Suchindex. Dieser geht bis zum ersten Platzhalter, wenn einer vorhanden. Wenn das erste Zeichen ein Platzhalter, wird ein leerer Suchindex geliefert.
[in]rsSourceIndexDie Index-Zeichenkette.
Rückgabe
Der Suchmodus ergibt sich aus dem übergebene rsSourceIndex.
Wenn dieser z.B. "123" ist der Rückgabewert 0 und der rsSearchIndex ist "123".
wenn "12*" ist der Rückgabewert 1 und der rsSearchIndex ist "12".
Wenn "*23" ist der Rückgabewert 2 und der rsSearchIndex ist leer.
Wenn keine Konvertierung vorgenommen werden konnte, wird ERR_PARA_MISMATCH geliefert.

◆ inObjectStrIndex() [1/2]

bool glo::IndexPool::ObjectStrIndexIterator::inObjectStrIndex ( const ObjID & rObjID)

Prüft ob ein ObjStrIdTuple mit übergebener Objekt-ID in der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex), vorhanden ist.

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

◆ inObjectStrIndex() [2/2]

bool glo::IndexPool::ObjectStrIndexIterator::inObjectStrIndex ( const std::string & rsIndex)

Prüft ob ein ObjStrIdTuple mit übergebener Index-Zeichenkette in der Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex), vorhanden ist.

Parameter
[in]rsIndexDie zu suchende Index-Zeichenkette.
Rückgabe
Wenn true, dann vorhanden.

◆ operator=()

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

Zuweisungsoperator.

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

◆ removeFilter()

void glo::IndexPool::ObjectStrIndexIterator::removeFilter ( )

Setzt den m_pIndexFilter auf NULL_PTR. Ein evtl. vorhandener Filter wird aus dem Speicher entfernt.

◆ setCurrentObject()

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

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

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

◆ setFilter() [1/4]

void glo::IndexPool::ObjectStrIndexIterator::setFilter ( const std::string & rsIndexFilterValue)

Setzt den m_pIndexFilter. Es wird ein ggf. schon vorhandener Filter aus dem Speicher entfernt.

Parameter
[in]rsIndexFilterValueDer zu setzende Filter kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden.
Wenn nicht leer, wird ein entsprechender IndexFilter erstellt unde in m_pIndexFilter abgelegt.
Wenn rsIndexFilterValue leer, wird ein ggf. vorhandener Filter in m_pIndexFilter aus dem Speicher entfernt.
Siehe auch
IndexFilter

◆ setFilter() [2/4]

void glo::IndexPool::ObjectStrIndexIterator::setFilter ( const std::string & rsIndexFilterValue,
EnComparisionOp eComparisionOp )

Setzt den m_pIndexFilter. Es wird ein ggf. vorhandener Filter aus dem Speicher entfernt.
Es kann der Filter mittels des Parameters eComparisionOp näher definiert werden.
Wenn z.B. Parameter rsIndexFilterValue den Wert "123" und Parameter eComparisionOp den Wert LESS hat, werden alle Objekte mit dem Index größer/gleich "123" beim Iterieren ausgefiltert.

Parameter
[in]rsIndexFilterValueDer Filterwert. Wenn nicht leer, wird ein entsprechender IndexComparisionFilter erstellt unde in m_pIndexFilter abgelegt. Wenn rsIndexFilterValue leer, wird ein ggf. vorhandener Filter in m_pIndexFilter aus dem Speicher entfernt.
[in]eComparisionOpDer Vergleichsoperator.
Siehe auch
IndexComparisionFilter

◆ setFilter() [3/4]

void glo::IndexPool::ObjectStrIndexIterator::setFilter ( const std::string & rsRangeStartIndex,
const std::string & rsRangeEndIndex )

Setzt den m_pIndexFilter. Es wird ein ggf. vorhandener Filter aus dem Speicher entfernt.
Es können Ergebnisse mittesl Bereichsangabe definiert werden.
Wenn z.B. Parameter rsRangeStartIndex den Wert "123" und Parameter rsRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index kleiner "123" und größer "155" beim Iterieren ausgefiltert.

Parameter
[in]rsRangeStartIndexDer Start-Indexwert. Wenn nicht leer, wird ein entsprechender IndexRangeFilter erstellt unde in m_pIndexFilter abgelegt. Wenn rsIndexFilterValue leer, wird ein ggf. vorhandener Filter in m_pIndexFilter aus dem Speicher entfernt.
[in]rsRangeEndIndexDer End-Indexwert.
Siehe auch
IndexRangeFilter

◆ setFilter() [4/4]

void glo::IndexPool::ObjectStrIndexIterator::setFilter ( IndexFilter * pIndexFilter)

Setzt den m_pIndexFilter. Es wird ein evtl. vorhandener Filter entfernt.

Parameter
[in]pIndexFilterDer zu setzende Filter kann auch ein NULL_PTR sein.
Achtung
Ein übergebener IndexFilter wird hier übernommen. Die aufrufende Instanz darf diesen nicht aus dem Speicher entfernen.
Siehe auch
IndexFilter, IndexComparisionFilter und IndexRangeFilter

◆ setNearestObject()

bool glo::IndexPool::ObjectStrIndexIterator::setNearestObject ( const std::string & rsIndex)

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

Parameter
[in]rsIndexDie Index-Zeichenkette.
Rückgabe
Wenn true, dann wurde direkt gefunden, ansonsten das nächste oder kein Index.

◆ setNearestObjectInMap()

bool glo::IndexPool::ObjectStrIndexIterator::setNearestObjectInMap ( std::map< std::string, ObjStrIdTuple * >::const_iterator & rIterator,
const std::string & rsIndex )
protected

Setzt übergebenen Iterator auf die "nächste", im günstigsten Fall auf die inhaltlich genaue Position der übergebenen Zeichenkette in der übergebenen Map, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet (aus m_pObjectStrIndex).

Hilfsmethode für
ObjectStrIndexIterator::getObjStrIdTuple(ObjStrIdTuple *& prRetVal, EnSeekMode eMode)
und
ObjectStrIndexIterator::setNearestObject(const std::string & rsIndex)

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

◆ setNearestObjectInMultiMap()

bool glo::IndexPool::ObjectStrIndexIterator::setNearestObjectInMultiMap ( std::multimap< std::string, ObjStrIdTuple * >::const_iterator & rIterator,
const std::string & rsIndex )
protected

Setzt übergebenen Iterator auf die "nächste", im günstigsten Fall auf die inhaltlich genaue Position der übergebenen Zeichenkette in der MultiMap, welche die gespeicherten String-Indizes und Objekt-IDs verwaltet aus m_pObjectStrIndex.

Hilfsmethode für ObjectStrIndexIterator::getObjStrIdTuple(ObjStrIdTuple *& prRetVal, EnSeekMode eMode) und ObjectStrIndexIterator::setNearestObject(const std::string & rsIndex)

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

◆ setPosition()

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

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

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

◆ valueMatchesComparisonFilter()

bool glo::IndexPool::ObjectStrIndexIterator::valueMatchesComparisonFilter ( const std::string & rsSearchIndex,
IndexComparisionFilter & rIndexComparisionFilter ) const
protected

Vergleicht einen übergebenen String mit dem übergebenen IndexComparisionFilter.

Parameter
[in,out]rsSearchIndexDer Suchindex.
[in]rIndexComparisionFilterDer Indexfilter.
Rückgabe
Wenn true, passt der Suchindex zu dem IndexFilter.

◆ valueMatchesIndexFilter()

bool glo::IndexPool::ObjectStrIndexIterator::valueMatchesIndexFilter ( const std::string & rsSearchIndex,
IndexFilter & rIndexFilter ) const
protected

Vergleicht einen übergebenen String mit dem übergebenen IndexFilter.

Parameter
[in,out]rsSearchIndexDer Suchindex.
[in]rIndexFilterDer Indexfilter.
Rückgabe
Wenn true, passt der Suchindex zu dem IndexFilter.

◆ valueMatchesRangeFilter()

bool glo::IndexPool::ObjectStrIndexIterator::valueMatchesRangeFilter ( const std::string & rsSearchIndex,
IndexRangeFilter & rIndexRangeFilter ) const
protected

Vergleicht einen übergebenen String mit dem übergebenen IndexRangeFilter.

Parameter
[in,out]rsSearchIndexDer Suchindex.
[in]rIndexRangeFilterDer Indexfilter.
Rückgabe
Wenn true, passt der rsSearchIndex zu dem Indexfilter.

Dokumentation der Datenelemente

◆ m_pIndexFilter

IndexFilter* glo::IndexPool::ObjectStrIndexIterator::m_pIndexFilter
private

Ein Filter der das Iterieren durch einen ObjectStrIndex steuert.

◆ m_pLastObjectStrIndexItem

ObjStrIdTuple* glo::IndexPool::ObjectStrIndexIterator::m_pLastObjectStrIndexItem
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 ObjectStrIndex gelöscht worden sein könnte.

◆ m_pObjectStrIndex

ObjectStrIndex* glo::IndexPool::ObjectStrIndexIterator::m_pObjectStrIndex
private

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


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