IniFile
|
Basisklasse für void-pointer Listen. Mehr ...
#include <PtlAVDVList.h>
Öffentliche Methoden | |
AVDVList (ListMode eMode=DEFAULT) | |
virtual | ~AVDVList () |
AVDVList (const AVDVList &rList) | |
virtual void * | get (ElementPosition eElementPos) |
virtual int | insert (void *pDataObject, InsertPosition eWhere=InsertLAST, VH eBeforeBehind=BEHIND) |
std::size_t | getSize () |
std::size_t | getNumberDataObjects (void *pDataObject) |
virtual void | removeAll () |
int | getErrorCode () |
ListMode | getListMode () |
AVDVList & | operator= (const AVDVList &rList) |
Geschützte Methoden | |
virtual int | _addElementFrom (const AVDVList &rList) |
DVElement * | insertSrc (void *pDataObject, DVElement *pReferenceDVElement, VH eBeforeBehind) |
DVElement * | removeSrc (DVElement *pDeadDVElement) |
Geschützte Attribute | |
ListMode | m_eListMode |
int | m_iErrorCode |
DVElement * | m_pFirstDVElement |
DVElement * | m_pLastDVElement |
std::size_t | m_nSize |
Basisklasse für void-pointer Listen.
Eine AVDVList besteht aus einer Menge von DVElement, welchen Pointer auf die zu verwaltenden Objekte übergeben werden.
Es können das erste und letzte erfragt sowie gelöscht werden.
Ein Element kann am Anfang oder am Ende angehängt werden. Mit Parameter UNIQUE wird die Liste Datenobjekte nur einmalig aufnehmen.
Diese Klasse ist die Basisklasse für VDQueue und VDVList.
Konstruktor mit optionaler Parameterübergabe. Die Liste ist erst einmal leer. Es kann mit Parameter 'UNIQUE' eine Liste erstellt werden, welche Datenobjekte nur einmal aufnimmt.
[in] | eMode | Der Listenmodus |
|
virtual |
Destruktor, Liste wird geleert.
ptl::AVDVList::AVDVList | ( | const AVDVList & | rList | ) |
Copy-Konstruktor.
[in] | rList | Die zu kopierende Liste. |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
|
protectedvirtual |
Kopiert alle Listenelemente von Parameter rList zu dieser Liste hinzu.
Wird von operator= genutzt.
Es können Datenobjekte aus Unterklassen übernommen werden, wie auch die Unterklassen untereinander Datenobjekte übertragen können.
Es werden nicht die Datenobjekte dupliziert!
[in] | rList | Die Liste, aus der die Elemente übernommen werden. |
|
virtual |
Liefert einen Zeiger auf die Daten aus übergebener eElementPos.
[in] | eElementPos | Welche Daten sollen geliefert werden; die des ersten oder des letzten Elements. Mögliche Werte sind ptl::FIRST_POS und ptl::LAST_POS. |
Beispiel 1:
Es wird das DataObject aus dem ersten DVElement aus der Liste geliefert, wenn dieses vorhanden ist, ansonsten NULL_PTR.
Beispiel 2:
Es wird das DataObject aus dem letzten DVElement aus der Liste geliefert, wenn dieses vorhanden ist, ansonsten NULL_PTR.
Erneute Implementation in ptl::VDVList.
int ptl::AVDVList::getErrorCode | ( | ) |
Liefert den letzten Fehlercode.
Sollte nach Einfügemethoden aufgerufen werden, um zu überprüfen, ob Fehler aufgetreten sind.
Ist der Fehler INSTANTIATE_DVELEMENT aufgetreten, sollte die Instanz gelöscht werden, wenn keine andere Fehlerbehandlung in Unterklassen implementiert ist.
ListMode ptl::AVDVList::getListMode | ( | ) |
Liefert den ListModus.
std::size_t ptl::AVDVList::getNumberDataObjects | ( | void * | pDataObject | ) |
Liefert die Anzahl der Datenobjekte zurück, welche gleich des übergebenen Zeigers des Datenobjekts sind.
[in] | pDataObject | Der Zeiger auf das Objekt |
Beispiel:
std::size_t ptl::AVDVList::getSize | ( | ) |
Liefert die Anzahl der in Liste enthaltenen Elemente.
Beispiel:
|
virtual |
Diese Methode fügt Datenobjekt in die Liste ein.
Sollte die Liste mit Parameter 'UNIQUE' instanziiert worden sein und das Datenobjekt schon in der Liste sein, wird es nicht eingefügt.
[in] | pDataObject | Ist Zeiger auf das Datenobjekt. Wenn dieser Parameter NULL_PTR ist, wird nichts eingefügt. |
[in] | eWhere | Zeigt an, wohin das Datenobjekt in die Liste eingefügt werden soll. Mögliche Parameter sind InsertHEAD und InsertLAST. |
[in] | eBeforeBehind | Gibt an, ob das neue Element vor oder hinter das, im Parameter eWhere angegebene Element, gesetzt wird. Mögliche Parameter sind BEFORE und BEHIND. |
Beispiel 1:
Es wird das DataObject an das Ende der Liste hinter dem letzten DVElement (m_pLastDVElement) positioniert.
Beispiel 2:
Es wird das DataObject an das Ende der Liste vor dem letzten DVElement (m_pLastDVElement) positioniert.
Beispiel 3:
Es wird das DataObject an den Anfang der Liste hinter dem ersten DVElement (m_pFirstDVElement) positioniert.
Beispiel 4:
Es wird das DataObject an den Anfang der Liste vor dem ersten DVElement (m_pFirstDVElement) positioniert.
Erneute Implementation in ptl::VDVList.
|
protected |
Fügt ein pDataObject vor oder nach dem übergebenen DVElement ein und gibt das neue DVElement retour.
Wenn die Liste UNIQUE ist, wird das DatenObjekt nur eingefügt, wenn es noch nicht in der Liste ist.
Attribute m_pFirstDVElement, m_pLastDVElement und m_nSize werden aktuallisiert.
Es sollte zur Überprüfung der ErrorCode über getErrorCode() abgefragt werden.
[in] | pDataObject | Zeiger auf das Datenobjekt. Wenn dieser Parameter NULL_PTR ist, wird kein neues DVElement eingefügt. |
[in] | pReferenceDVElement | Das Referenz-Element, wo das neue DVElement vor oder angehängt wird. |
[in] | eBeforeBehind | Giebt an, ob neues DVElement an ReferenzDVElement vor- (BEFORE) oder angehängt (BEHIND) wird. |
Zuweisungsoperator=
Bei einer Zuweisung werden alle DVElement zerstört und dann alle Datenobjekte aus der zuweisenden VDVList in neue eigene DVElement übernommen.
[in] | rList | Die zuzuweisende Liste. |
Es sollte nach Aufruf getErrorCode() aufgerufen werden.
|
virtual |
Es werden alle DVElement aus der Liste und aus dem Speicher entfernt.
Erneute Implementation in ptl::VDVList.
|
protected |
Für DVListen, ob sie Datenobjekte mehr- oder nur einmalig zulassen oder Besitzer (verantwortlich, bzw. zerstören auch die Datenobjekte im Destruktor) dieser Datenobjekte sind.
|
protected |
Hier ist ein Fehlercode abgelegt (z.B. wenn was beim instanziieren schief geht).
|
protected |
Anzahl der in Liste enthaltenen Elemente.
|
protected |
Zeiger auf das erste Element in Liste. Wenn Liste leer, ist dieses Attribut gleich NULL_PTR.
|
protected |
Zeiger auf das letzte Element in Liste. Wenn Liste leer, ist dieses Attribut gleich NULL_PTR.