Interne Klasse zur Verwaltung der Elemente eines CAssocArrays.
Mehr ...
- Beschreibung:
- Diese Klasse wird intern von CAssocArray zur Verwaltung der einzelnen Elemente des Arrays verwendet.
ppl6::CArrayItem::CArrayItem |
( |
| ) |
|
- Beschreibung:
- Der Konstruktor setz die internen Variablen auf 0
ppl6::CArrayItem::~CArrayItem |
( |
| ) |
|
|
virtual |
- Beschreibung:
- Der Destruktor stellt sicher, dass das Element keine Daten mehr enthält. Dazu wird die Clear-Funktion aufgerufen
void ppl6::CArrayItem::Clear |
( |
| ) |
|
|
private |
- Beschreibung:
- Diese Funktion prüft, ob das Element Daten enthält und löscht diese. Dazu wird der delete-Operator des jeweiligen Datentyps aufgerufen.
int ppl6::CArrayItem::CompareNode |
( |
CTreeItem * |
item | ) |
|
|
virtual |
- Beschreibung:
- Damit Elemente sortiert in den Baum eingehangen werden können, werden die Vergleichsfunktionen CompareNode und CompareValue benötigt. Diese sind in der Basisklasse als "virtuell" deklariert und müssen von der abgeleiteten Klasse überschrieben werden. Bei dieser Funktion wird als Parameter ein Pointer auf ein Baum-Element erwartet.
- Parameter
-
[in] | item | Pointer auf ein Baum-Element, mit dem dieses Element verglichen werden soll |
- Rückgabe
- Die Funktion muss einen der folgenden 4 Werte zurückliefern:
- 0: Ist der Wert in
item
identisch mit dem Wert dieses Elements, muss 0 zurückgegeben werden.
- +1: Ist der Wert in
item
größer als der Wert dieses Elements, muss +1 zurückgegeben werden
- -1: Ist der Wert in
item
kleiner als der Wert dieses Elements, muss -1 zurückgegeben werden
- -2: Dieser Wert wird im Fehlerfall zurückgegeben und es wird ein Fehlercode gesetzt. Die Tree-Operation muss dann ebenfalls mit einem Fehler abbrechen und diesen Fehlercode zurückgeben.
- Achtung
- Beim Vergleich zweier Strings kann die Funktion
strcmp
nicht direkt verwendet werden, da sie laut Definition Werte kleiner oder größer 0 liefert, aber nicht exakt -1 oder +1.
Erneute Implementation von ppl6::CTreeItem.
int ppl6::CArrayItem::CompareValue |
( |
void * |
value | ) |
|
|
virtual |
- Beschreibung:
- Damit Elemente sortiert in den Baum eingehangen werden können, werden die Vergleichsfunktionen CompareNode und CompareValue benötigt. Diese sind in der Basisklasse als "virtuell" deklariert und müssen von der abgeleiteten Klasse überschrieben werden. Bei dieser Funktion wird als Parameter ein void Pointer auf einen beliebigen Wert erwartet.
- Parameter
-
[in] | value | Pointer auf einen beliebigen Wert. Die abgeleitete Klasse muss wissen, wie die Daten zu interpretieren sind. |
- Rückgabe
- Die Funktion muss einen der folgenden 4 Werte zurückliefern:
- 0: Ist der Wert in
value
identisch mit dem Wert dieses Elements, muss 0 zurückgegeben werden.
- +1: Ist der Wert in
value
größer als der Wert dieses Elements, muss +1 zurückgegeben werden
- -1: Ist der Wert in
value
kleiner als der Wert dieses Elements, muss -1 zurückgegeben werden
- -2: Dieser Wert wird im Fehlerfall zurückgegeben und es wird ein Fehlercode gesetzt. Die Tree-Operation muss dann ebenfalls mit einem Fehler abbrechen und diesen Fehlercode zurückgeben.
Erneute Implementation von ppl6::CTreeItem.
- Beschreibung:
- Diese Funktion ist als "virtuell" definiert und kann implementiert werden, um es zu ermöglichen den Wert eines Knotens in einem String abzubilden. Je nach Datentyp kann dies einfach aber auch unmöglich sein. Die Funktion wird in der Regel nur zu debugging-Zwecken verwende.
- Parameter
-
[out] | buffer | Pointer auf einen String, in dem das Ergebnis gespeichert werden soll |
- Rückgabe
- Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0). Wurde die Funktion von der Tree-Klasse nicht implementiert, wird immer false zurückgegeben und der Fehlercode 180 gesetzt.
int ppl6::CTreeItem::IsFalse |
( |
const char * |
key | ) |
const |
|
inherited |
int ppl6::CTreeItem::IsTrue |
( |
const char * |
key | ) |
const |
|
inherited |
Diese Funktion gibt einen Pointer auf den Knoten zurück, der links von diesem angehangen ist.
- Rückgabe
- Pointer auf linken Knoten oder NULL, wenn es keinen gibt.
- Seit
- Eingeführt mit PPL 6.2.6
void ppl6::CArrayItem::operator delete |
( |
void * |
ptr, |
|
|
size_t |
size |
|
) |
| |
- Beschreibung:
- Die Klasse verwendet Speicher aus dem internen Heap, der durch Aufruf dieses überladenen delete-Operators wieder freigegeben wird
- Parameter
-
[in] | ptr | Zeiger auf den freizugebenden Speicherblock |
[in] | size | Größe des Speicherblocks. |
void * ppl6::CArrayItem::operator new |
( |
size_t |
size | ) |
|
- Beschreibung:
- Der New-Operator dieser Klasse wurde überschrieben, damit der Speicher nicht mehr aus dem Hauptspeicher allokoert wird und diesem somit schnell fragmentiert, sondern aus dem internen Heap.
- Parameter
-
[in] | size | Größe des benötigten Speicherblocks. Dieser muss identisch sein mit sizeof(CArrayItem) |
- Rückgabe
- bei Erfolg gibt die Funktion einen Pointer auf den Beginn des Speicherblocks zurück, im Fehlerfall wird eine Exception generiert
- Siehe auch
-
Diese Funktion gibt einen Pointer auf den Vater dieses Knoten zurück.
- Rückgabe
- Pointer auf den parent Knoten oder NULL, wenn es keinen gibt.
- Seit
- Eingeführt mit PPL 6.2.6
Diese Funktion gibt einen Pointer auf den Knoten zurück, der rechts von diesem angehangen ist.
- Rückgabe
- Pointer auf rechten Knoten oder NULL, wenn es keinen gibt.
- Seit
- Eingeführt mit PPL 6.2.6
int ppl6::CArrayItem::type |
|
private |
void* ppl6::CArrayItem::value |
|
private |
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
- /jenkins/jobs/clang_ppl6/workspace/include/internal.h
- /jenkins/jobs/clang_ppl6/workspace/src/vars/CAssocArray.cpp