IniFile
Lade ...
Suche ...
Keine Treffer
ptl::VDVList Klassenreferenz

Eine Void-Pointer Listen. Mehr ...

#include <PtlVDVList.h>

Klassendiagramm für ptl::VDVList:

Öffentliche Methoden

 VDVList (ListMode eMode=DEFAULT)
 
virtual ~VDVList ()
 
 VDVList (const VDVList &rList)
 
virtual int addElementFrom (const VDVList &rList)
 
virtual voidget (ElementPosition eElementPos=FIRST_POS) override
 
int get (void *&prRetVal, std::size_t nPosition, SeekMode eMode)
 
int get (void *&prRetVal, std::size_t nPosition, DVElement *pRefElement)
 
virtual int insert (void *pDataObject, InsertPosition eWhere=InsertLAST, VH eBeforeBehind=BEHIND) override
 
int remove (ElementPosition eElementPos=CURRENT_POS)
 
virtual void removeAll () override
 
int currentElementCache (ElementCache eWhich)
 
int setCurrentPosition (void *pDataObject)
 
VDVListoperator= (const VDVList &rList)
 
- Öffentliche Methoden geerbt von ptl::AVDVList
 AVDVList (ListMode eMode=DEFAULT)
 
virtual ~AVDVList ()
 
 AVDVList (const AVDVList &rList)
 
std::size_t getSize ()
 
std::size_t getNumberDataObjects (void *pDataObject)
 
int getErrorCode ()
 
ListMode getListMode ()
 
AVDVListoperator= (const AVDVList &rList)
 

Geschützte Attribute

DVElementm_pCurrentDVElement
 
DVElementm_pTempCurrentDVElement
 
- Geschützte Attribute geerbt von ptl::AVDVList
ListMode m_eListMode
 
int m_iErrorCode
 
DVElementm_pFirstDVElement
 
DVElementm_pLastDVElement
 
std::size_t m_nSize
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von ptl::AVDVList
virtual int _addElementFrom (const AVDVList &rList)
 
DVElementinsertSrc (void *pDataObject, DVElement *pReferenceDVElement, VH eBeforeBehind)
 
DVElementremoveSrc (DVElement *pDeadDVElement)
 

Ausführliche Beschreibung

Eine Void-Pointer Listen.

Eine VDVList besteht aus Listen-Elementen des Typs DVElement, welchen Pointer auf die zu verwaltenden Objekte haben. Es können das erste, letzte und aktuelle Element erfragt werden. Zusätzlich kann nach einem nachfolgenden, bzw. vorherigen Element (bezüglich dem aktuellen Element) selektiert werden.

Ein Element kann vor oder hinter dem ersten, letzten und aktuellen Element eingefügt werden. Dieses kann durch Einstellung einer UNIQUE Liste in der Weise eingeschränkt werden, daß Objekte nur einmalig in der Liste vorkommen dürfen.

Zu beachten
Diese Klasse arbeitet mit Void-Pointern und ist damit nicht typsicher. Es wird empfohlen die Template-Klasse TDVList zu nutzen.
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ VDVList() [1/2]

ptl::VDVList::VDVList ( ListMode eMode = DEFAULT)

Konstruktor mit optionaler Parameterübergabe. Die Liste ist erst einmal leer. Es kann mit dem Parameter UNIQUE eine Liste erstellt werden, welche ein Datenobjekt nur einmal aufnimmt.

Parameter
[in]eModeDer Listenmodus

◆ ~VDVList()

virtual ptl::VDVList::~VDVList ( )
virtual

Destruktor.

◆ VDVList() [2/2]

ptl::VDVList::VDVList ( const VDVList & rList)

Copy-Konstruktor.

Parameter
[in]rListDie zu kopierende VDVList.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

Dokumentation der Elementfunktionen

◆ addElementFrom()

virtual int ptl::VDVList::addElementFrom ( const VDVList & rList)
virtual

Kopiert alle Listenelemente vom Typ DVElement von rList zu dieser Liste hinzu. Wird auch von VDVList::operator= genutzt.

Siehe auch
AVDVList::_addElementFrom(...)
Parameter
[in]rListDie Liste, aus der die Objekte übernommen werden.
Rückgabe
Ein Rückgabewerte < 0 zeigt einen Fehler an.

◆ currentElementCache()

int ptl::VDVList::currentElementCache ( ElementCache eWhich)

Diese Methode ermöglicht das Zwischenspeichern oder Restaurieren des aktuellen Zeigers.

Siehe auch
m_pCurrentDVElement und m_pTempCurrentDVElement.
Parameter
[in]eWhichGibt an, ob der Zeiger auf das aktuelle Element zwischengespeichert (M) oder restauriert (RM) wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ get() [1/3]

virtual void * ptl::VDVList::get ( ElementPosition eElementPos = FIRST_POS)
overridevirtual

Liefert einen rohen Zeiger auf die Daten aus der im Parameter angegebenen Position.

Wenn ein Element geliefert wurde, wird dieses zum aktuellen Element, ansonsten bleibt das aktuelle Element das was es war.

Parameter
[in]eElementPosWelche Daten sollen geliefert werden? Mögliche Werte sind FIRST_POS, LAST_POS, CURRENT_POS, NEXT_POS oder PREVIOUS_POS.
Rückgabe
Der Rückgabewert ist der Zeiger auf die Daten, ansonsten NULL_PTR.

Erneute Implementation von ptl::AVDVList.

◆ get() [2/3]

int ptl::VDVList::get ( void *& prRetVal,
std::size_t nPosition,
DVElement * pRefElement )

Liefert einen rohen Zeiger auf ein Objekt in prRetVal aus übergebener Position in Bezug auf übergebenen Zeiger auf ein Element.

Parameter
[in,out]prRetValIm übergebenen rohen Pointer wird ein gefundenes Objekt geliefert.
[in]nPositionDie Position rellativ zum übergebenen pRefElement
[in]pRefElementDas Referenzelement
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == RANGE zeigt das Ende der Liste an.

◆ get() [3/3]

int ptl::VDVList::get ( void *& prRetVal,
std::size_t nPosition,
SeekMode eMode )

Liefert einen rohen Zeiger auf ein Objekt in prRetVal aus der Liste in Bezug auf die Übergabe-Parameter.

Mit dieser Methode kann durch die Liste iteriert werden.

Parameter
[in,out]prRetValIm übergebenen Zeiger wird ein gefundenes Objekt geliefert.
[in]nPositionDie Position rellativ zum Suchmodus.
[in]eModeDer Suchmodus.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == RANGE zeigt das Ende der Liste an.

Parameterbeispiele:

  • lPosition = 0; eMode = START -> Liefert erstes Element aus Liste
  • lPosition = 0; eMode = END -> Liefert letztes Element aus Liste
  • lPosition = 0; eMode = CURRENT -> Liefert aktuelles Element aus Liste
  • lPosition = 1; eMode = CURRENT -> Liefert nächstes Element aus Liste
  • lPosition = 2; eMode = CURRENT -> Liefert übernächstes Element aus Liste
  • lPosition = -1; eMode = CURRENT -> Liefert vorgeriges Element aus Liste

◆ insert()

virtual int ptl::VDVList::insert ( void * pDataObject,
InsertPosition eWhere = InsertLAST,
VH eBeforeBehind = BEHIND )
overridevirtual

Diese Methode fügt den rohen Zeiger auf ein Datenobjekt in die Liste ein. Das aktuelle Element wird auf das neue Element gesetzt.

Sollte die Liste mit Parameter UNIQUE instanziiert worden sein und das Datenobjekt schon in der Liste sein, wird es nicht eingefügt.

Parameter
[in]pDataObjectIst der rohe Zeiger auf das Datenobjekt.
[in]eWhereZeigt an, wohin das Datenobjekt in die Liste eingefügt werden soll. Mögliche Parameter sind InsertHEAD, InsertLAST und InsertCURRENT .
[in]eBeforeBehindGibt an, ob das neue Element vor oder hinter das, im Parameter eWhere angegebene Element, gesetzt wird. Mögliche Parameter sind BEFORE und BEHIND.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an. Folgende Fehler sind möglich: PASSED_NO_OBJECT, INSTANTIATE_DVELEMENT und OBJECT_ALREADY_AVAILABLE (nur bei UNIQUE).

Erneute Implementation von ptl::AVDVList.

◆ operator=()

VDVList & ptl::VDVList::operator= ( const VDVList & rList)

Zuweisungsoperator=

Bei einer Zuweisung werden alle DVElement entfernt und dann alle Datenobjekte aus der zuweisenden VDVList in neue eigene DVElement übernommen.

Parameter
[in]rListDie zuzuweisende Liste.

Es sollte nach Aufruf getErrorCode() aufgerufen werden.

◆ remove()

int ptl::VDVList::remove ( ElementPosition eElementPos = CURRENT_POS)

Entfernt das Element, welches als Parameter angegeben ist, aus der Liste.

Wenn ein nachfolgendes Element vorhanden ist, wird dieses zum aktuellen Element, ansonsten das vorherige Element, wenn dieses vorhanden ist.

Parameter
[in]eElementPosMögliche Werte sind FIRST_POS, LAST_POS und CURRENT.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ removeAll()

virtual void ptl::VDVList::removeAll ( )
overridevirtual

Entfernt alle Elemente aus Liste.

Erneute Implementation von ptl::AVDVList.

◆ setCurrentPosition()

int ptl::VDVList::setCurrentPosition ( void * pDataObject)

Wenn DVElement mit übergebener Zeiger in der Liste vorhanden ist, wird der aktuelle Zeiger auf das DVElement gesetzt, ansonsten bleibt der aktuelle Zeiger was er war.

Parameter
[in]pDataObjectDas gesuchte Datenobjekt
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Dokumentation der Datenelemente

◆ m_pCurrentDVElement

DVElement* ptl::VDVList::m_pCurrentDVElement
protected

Die Referenz auf das aktuelle Element in der Liste. Wenn die Liste leer ist, ist das aktuelle Element gleich NULL_PTR.

◆ m_pTempCurrentDVElement

DVElement* ptl::VDVList::m_pTempCurrentDVElement
protected

Dieses Attribut ist ein Zwischenspeicher des aktuellen Elements. Wird in der Methode currentElementCache (...) gesetzt.


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