SPointerList

Liste von Zeigern. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SPointerList  

Attribute

protected:

Attribut Typ Beschreibung
list void** internes Array der Listenelemente
listsize int aktuelle Größe der Liste
memsize int aktuell reservierter Speicherplatz der Liste

Operationen

public:

Name Parameter Rückgabewert Beschreibung
add int Fügt ein leeres Element an die Liste an.
add void* element,
BOOL noDoubleEntries=false
int Fügt ein Element zur Liste hinzu.
find void* value,
int start=0
int Sucht einen Wert in der Liste und gibt die gefundene Position zurück.
getAt int pos void*& Liefert ein Element der Liste.
getBuffer void** Liefert den internen Datenpuffer.
getSize int Liefert die aktuelle Listengröße.
insertAt int pos int Fügt ein leeres Element in die Liste ein.
insertAt int pos,
void* element
int Fügt ein Element in die Liste ein.
isEmpty BOOL Ermittelt, ob die Liste leer ist.
operator[] int pos void*& Zugriffsoperator per Index.
removeAll void Löscht alle Elemente aus der Liste.
removeAt int pos void Löscht ein Element aus der Liste.
removeValue void* value int Löscht alle Einträge eines Wertes aus der Liste.
setAt int pos,
void* value
BOOL Ändert den Wert eines Eintrages.
sort int dir = 1 void Sortiert die Liste.

protected:

Name Parameter Rückgabewert Beschreibung
compareEntries int pos1, int pos2 int Vergleicht zwei Listeneinträge miteinander.
compareValue int pos,
void* value
int Vergleicht ein Listenelement mit einem übergebenen Wert.
quicksort int start,
int ende,
int dir = 1
void Führt die Sortierung durch.
resize int size void Ändert die Größe des für die Liste reservierten Speichers.
swap int pos1, int pos2 void Vertauscht zwei Listeneinträge.

Detailbeschreibung SPointerList

Liste von Zeigern.


Diese Liste verwaltet allgemeine Zeiger (void*).

Funktionsbeschreibungen

add() int

Fügt ein leeres Element an die Liste an.

Rückgabe:

int Position des eingefügten Elementes

add(void* element, BOOL noDoubleEntries=false) int

Fügt ein Element zur Liste hinzu.

Das Element wird am Ende der Liste angefügt. Ist der Parameter 'noDoubleEntries' true, wird zuerst die bestehende Liste überprüft, ob der Eintrag schon vorhanden ist. In diesem Fall wird das neue Element nicht eingefügt sondern nur die Position des ersten identischen Elements zurückgegeben.

Parameter:

element das neue Listenelement
noDoubleEntries doppelte Einträge verhindern (Standard: false)

Rückgabe:

int Position des eingefügten bzw. gefundenen Elementes

compareEntries(int pos1, int pos2) int

Vergleicht zwei Listeneinträge miteinander.

Parameter:

pos1 1. Eintrag für Vergleich
pos2 2. Eintrag für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Element an 'pos1' ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 Element an 'pos2' ist kleiner

compareValue(int pos, void* value) int

Vergleicht ein Listenelement mit einem übergebenen Wert.

Parameter:

pos Listenelement für Vergleich
value Wert für Vergleich

Rückgabe:

int Vergleichsergebnis
  • -1 Listenelement ist kleiner
  • 0 Elemente sind gleichgroß
  • 1 übergebener Wert ist kleiner

find(void* value, int start=0) int

Sucht einen Wert in der Liste und gibt die gefundene Position zurück.

Parameter:

value gesuchter Wert
start Startposition

Rückgabe:

int Position des Wertes oder -1 wenn nicht gefunden

getAt(int pos) void*&

Liefert ein Element der Liste.

Das entsprechende Element der Liste wird zurückgegeben. Bei einem Zugriff auf einen Index außerhalb der Listengröße wird nach einer Fehlermeldung wenn möglich das erste oder das letzte Listenelement zurückgegeben.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

void*& das ausgewählte Listenelement

getBuffer() void**

Liefert den internen Datenpuffer.

getSize() int

Liefert die aktuelle Listengröße.

insertAt(int pos) int

Fügt ein leeres Element in die Liste ein.

Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

insertAt(int pos, void* element) int

Fügt ein Element in die Liste ein.

Das Element wird an der angegebenen Stelle eingefügt. Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll
element einzufügendes Element.

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

isEmpty() BOOL

Ermittelt, ob die Liste leer ist.

operator[](int pos) void*&

Zugriffsoperator per Index.

Ermöglicht den Zugriff auf die Listenelemente per Index-Operator ([]). Es sind nur gültige Positionsangaben möglich.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

void*& Das gewünschte Element.

quicksort(int start, int ende, int dir = 1) void

Führt die Sortierung durch.

removeAll() void

Löscht alle Elemente aus der Liste.

removeAt(int pos) void

Löscht ein Element aus der Liste.

Das Element an der angegebenen Position wird gelöscht. Die Position muss einen gültigen Wert (zwischen 0 und Listengröße-1) enthalten.

Parameter:

pos Position des zu löschenden Elements

removeValue(void* value) int

Löscht alle Einträge eines Wertes aus der Liste.

Parameter:

value Wert der zu löschenden Einträge

Rückgabe:

int Anzahl der gelöschten Einträge

resize(int size) void

Ändert die Größe des für die Liste reservierten Speichers.

Parameter:

size Anzahl der Listenelemente für die Speicher benötigt wird

setAt(int pos, void* value) BOOL

Ändert den Wert eines Eintrages.

Der Wert des angegebenen Eintrages wird überschrieben. Die Position muss einen gültigen Wert enthalten.

Parameter:

pos Position, an der geändert werden soll
value neuer Wert

Rückgabe:

BOOL Änderung durchgeführt

sort(int dir = 1) void

Sortiert die Liste.

Parameter:

dir Sortierrichtung (Standard: aufsteigend)

swap(int pos1, int pos2) void

Vertauscht zwei Listeneinträge.

Die beiden Positionsangaben müssen gültige Werte beinhalten.