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>
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.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ 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] | pObjectStrIndex | Zeiger auf einen ObjectStrIndex, durch den ein Objekt dieser Klasse unabhängig iterieren kann. |
- Ausnahmebehandlung
-
◆ ObjectStrIndexIterator() [3/3]
Copy-Konstruktor.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ ~ObjectStrIndexIterator()
glo::IndexPool::ObjectStrIndexIterator::~ObjectStrIndexIterator |
( |
| ) |
|
◆ getClassID()
unsigned long glo::IndexPool::ObjectStrIndexIterator::getClassID |
( |
| ) |
const |
◆ 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()
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] | rRetVal | Das ggf. gefundene ObjStrIdTuple. |
[in] | eMode | Der 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] | rRetVal | Die Liste mit den gefundenen ObjStrIdTuple. |
[in] | rsIndex | Der Indexwert. |
[in] | eComparisionOp | Der 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] | rRetVal | Die Liste mit den gefundenen ObjStrIdTuple. |
[in] | rsIndex | Der 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] | eQuerryType | Der 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] | rRetVal | Die Liste mit den gefundenen ObjStrIdTuple. |
[in] | rsRangeStartIndex | Der Start-Indexwert. |
[in] | rsRangeEndIndex | Der 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] | rsSearchIndex | Der Suchindex. Dieser geht bis zum ersten Platzhalter, wenn einer vorhanden. Wenn das erste Zeichen ein Platzhalter, wird ein leerer Suchindex geliefert. |
[in] | rsSourceIndex | Die 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] | rObjID | Die 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] | rsIndex | Die zu suchende Index-Zeichenkette. |
- Rückgabe
- Wenn true, dann vorhanden.
◆ operator=()
Zuweisungsoperator.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ removeFilter()
void glo::IndexPool::ObjectStrIndexIterator::removeFilter |
( |
| ) |
|
◆ 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
-
- 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] | rsIndexFilterValue | Der 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] | rsIndexFilterValue | Der 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] | eComparisionOp | Der 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] | rsRangeStartIndex | Der 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] | rsRangeEndIndex | Der End-Indexwert. |
- Siehe auch
- IndexRangeFilter
◆ setFilter() [4/4]
void glo::IndexPool::ObjectStrIndexIterator::setFilter |
( |
IndexFilter * | pIndexFilter | ) |
|
◆ 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] | rsIndex | Die 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] | rIterator | Die zu setzende Iterator. |
[in] | rsIndex | Die 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] | rIterator | Die zu setzende Iterator. |
[in] | rsIndex | Die 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] | nPosition | Die 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] | rsSearchIndex | Der Suchindex. |
[in] | rIndexComparisionFilter | Der 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] | rsSearchIndex | Der Suchindex. |
[in] | rIndexFilter | Der 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] | rsSearchIndex | Der Suchindex. |
[in] | rIndexRangeFilter | Der Indexfilter. |
- Rückgabe
- Wenn true, passt der rsSearchIndex zu dem Indexfilter.
◆ m_pIndexFilter
IndexFilter* glo::IndexPool::ObjectStrIndexIterator::m_pIndexFilter |
|
private |
◆ 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: