Verwaltet die Objekt-IDs (genutzte wie freigegebene) mit deren Position in den jeweiligen Tabellen.
Mehr ...
#include <GloIndexPool.h>
Verwaltet die Objekt-IDs (genutzte wie freigegebene) mit deren Position in den jeweiligen Tabellen.
Es werden die Objekt-IDs einer Klasse und ihrer Unterklassen verwaltet.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ TableObjIdIndex() [1/3]
glo::IndexPool::TableObjIdIndex::TableObjIdIndex |
( |
| ) |
|
|
private |
Der Standard-Konstruktor steht nicht zur Verfügung.
◆ TableObjIdIndex() [2/3]
glo::IndexPool::TableObjIdIndex::TableObjIdIndex |
( |
const std::string & | rsPathName, |
|
|
unsigned long | ulClassID ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | rsPathName | Die vollständige Verzeichnisbezeichnung, in dem die Daten zu finden sind wie z.B. "C:/Pfad/Data/". |
[in] | ulClassID | Die Klassen-ID der verwalteten ObjIdPosTuple. |
◆ TableObjIdIndex() [3/3]
glo::IndexPool::TableObjIdIndex::TableObjIdIndex |
( |
const TableObjIdIndex & | rT | ) |
|
Copy-Konstruktor.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ ~TableObjIdIndex()
virtual glo::IndexPool::TableObjIdIndex::~TableObjIdIndex |
( |
| ) |
|
|
virtual |
◆ copyMapFrom()
void glo::IndexPool::TableObjIdIndex::copyMapFrom |
( |
const TableObjIdIndex & | rT | ) |
|
|
protected |
Entfernt und löscht alle Elemente aus der Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwaltet. Dann werden alle Elemente aus der korrespondierenden Map des rT übernommen.
- Parameter
-
[in] | rT | Der Tabellen-Index, dessen Elemente aus der Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwaltet, kopiert werden sollen. |
◆ deleteAllIndexValues()
void glo::IndexPool::TableObjIdIndex::deleteAllIndexValues |
( |
| ) |
|
Entfernt und löscht alle Elemente aus der Map, welche die gespeicherten Objekt-IDs mit deren Tabellen-Position verwaltet.
◆ getClassID()
unsigned long glo::IndexPool::TableObjIdIndex::getClassID |
( |
| ) |
const |
Liefert die Klassen-ID des verwalteten ObjIdPosTuple und des Index von Tabellen-Positionen von gelöschten Datensätzen.
- Rückgabe
- Die Klassen-ID.
◆ getFreeObjIDPos()
int glo::IndexPool::TableObjIdIndex::getFreeObjIDPos |
( |
std::streampos & | rPos | ) |
const |
Liefert eine freie Tabellen-Position aus seine Map, welche die freien Tabellen-Position verwaltet.
- Parameter
-
[in,out] | rPos | Die freie Tabellen-Position, wenn eine vorhanden war. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ getFreeObjIDPosMapRef()
const std::map< std::streampos, std::streampos, std::less< std::streampos > > & glo::IndexPool::TableObjIdIndex::getFreeObjIDPosMapRef |
( |
| ) |
const |
Liefert eine Referenz auf die Map welche die freien Zeilen (Startposition in der Datei, da wo die Objekt-ID == 0.0.0 ist) verwaltet.
- Rückgabe
- Die Referenz auf die Map.
◆ getObjIDIndexMapRef()
Liefert eine Referenz auf die Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Position verwaltet.
- Rückgabe
- Die Referenz auf die Map.
◆ getObjIdPosTuple()
int glo::IndexPool::TableObjIdIndex::getObjIdPosTuple |
( |
ObjIdPosTuple *& | prRetVal, |
|
|
const ObjID & | rObjID ) const |
Liefert eine Objekt-ID mit der Tabellen-Position, wo der korrespondierende Datensatzes gespeichert ist, aus seiner Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwaltet, mit übergebener Objekt-ID.
- Parameter
-
[in,out] | prRetVal | Wenn vorhanden, ein Zeiger auf eine Kopie der Objekt-ID mit der Tabellen-Position. |
[in] | rObjID | Die Objekt-ID des zu liefernden Eintrags. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
- Achtung
- Die aufrufende Instanz muss das gelieferte Objekt aus dem Speicher entfernen.
◆ getPathName()
const std::string & glo::IndexPool::TableObjIdIndex::getPathName |
( |
| ) |
const |
Liefert die vollständige Verzeichnisbezeichnung, in dem die Daten zu finden sind.
- Rückgabe
- Die vollständige Verzeichnisbezeichnung wie z.B. "C:/Pfad/Data/".
◆ insertFreeObjIDPos()
int glo::IndexPool::TableObjIdIndex::insertFreeObjIDPos |
( |
std::streampos | Pos | ) |
|
Fügt eine freie Tabellen-Position in seine Map, welche die freien Tabellen-Position verwaltet) ein.
- Parameter
-
[in] | Pos | Die einzufügende Tabellen-Position. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ insertObjIdPosTuple()
int glo::IndexPool::TableObjIdIndex::insertObjIdPosTuple |
( |
const ObjIdPosTuple & | rIndexTuple | ) |
|
Fügt eine Objekt-ID mit der Tabellen-Position, wo der korrespondierende Datensatzes gespeichert ist, in seine Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwaltet, ein.
- Parameter
-
[in] | rIndexTuple | Die einzufügende Objekt-ID mit der Tabellen-Position. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ isObjIdFree()
bool glo::IndexPool::TableObjIdIndex::isObjIdFree |
( |
const ObjID & | rObjID | ) |
const |
Prüft eine Objekt-ID, ob diese schon verwaltet wird.
- Parameter
-
[in] | rObjID | Die zu prüfende Objekt-ID. |
- Rückgabe
- Liefert true, wenn rObjID nicht verwaltet wird, ansonsten false.
◆ operator=()
Zuweisungsoperator.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ removeAllFreeObjIDPos()
void glo::IndexPool::TableObjIdIndex::removeAllFreeObjIDPos |
( |
| ) |
|
Entfernt alle Elemente aus der Map, welche die freien Zeilen (Startposition in der Datei, da wo die Objekt-ID == 0.0.0 ist) verwaltet.
◆ removeFreeObjIDPos()
int glo::IndexPool::TableObjIdIndex::removeFreeObjIDPos |
( |
std::streampos | Pos | ) |
|
Entfernt eine freie Tabellen-Position aus seine Map, welche die freien Tabellen-Position verwaltet.
- Parameter
-
[in] | Pos | Die entfernte Tabellen-Position. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ removeObjId()
int glo::IndexPool::TableObjIdIndex::removeObjId |
( |
const ObjID & | rObjID | ) |
|
Entfernt eine Objekt-ID mit der Tabellen-Position, wo der korrespondierende Datensatzes gespeichert ist, aus seiner Map, welche die gespeicherten Objekt-IDs und die Tabellen-Position verwaltet.
- Parameter
-
[in] | rObjID | Die Objekt-ID des zu entfernenden Eintrags. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ m_FreeObjIDPosMap
std::map< std::streampos, std::streampos , std::less< std::streampos > > glo::IndexPool::TableObjIdIndex::m_FreeObjIDPosMap |
|
private |
Eine Map, welche die freien Zeilen (Startposition in der Datei, da wo die Objekt-ID == 0.0.0 ist) verwaltet.
◆ m_ObjIDIndexMap
Eine Map, welche die gespeicherten Objekt-IDs und deren Tabellen-Positionen verwaltet.
◆ m_strPathName
std::string glo::IndexPool::TableObjIdIndex::m_strPathName |
|
private |
Die vollständige Verzeichnisbezeichnung, in dem die Tabellen zu finden sind wie z.B. "C:/Pfad/Data/".
◆ m_ulClassID
unsigned long glo::IndexPool::TableObjIdIndex::m_ulClassID |
|
private |
Die Klassen-ID des verwalteten ObjIdPosTuple und des Index von Tabellen-Positionen von gelöschten Datensätzen.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: