Main Page Modules Class Hierarchy Compound List File List Compound Members File Members Related Pages
CReferenceList Class Template Reference
Dynamische Liste von Referenzen.
More...
#include <CReferenceList.h>
List of all members.
Public Methods
- void insert (T *element)
- Fügt eine Referenz auf ein Element vom Datentyp T in die Liste ein. More...
- void remove (T *element)
- Entfernt die Referenz auf das durch element spezifizierte Element aus der Liste. More...
- void remove (int index)
- Entfernt die an der Stelle index in der Liste gespeicherte Referenz. More...
- void clear ()
- Löscht den Inhalt der gesamten Liste. More...
-
int count ()
- Gibt die Anzahl der in der Liste gespeicherten Referenzen.
- T* operator[] (int Index)
- "[]"-Operator (Indizierter Zugriff). More...
Protected Attributes
Detailed Description
template<class T> class CReferenceList
Das Klassentemplate CReferenceList realisiert auf der Grundlage der Klasse CDynamicArray eine dynamische Liste von Referenzen. Es können Referenzen eingefügt und entfernt werden. Beim Einfügen von Referenzen wird geprüft, ob sich diese bereits in der Liste befinden. Ist dies der Fall so werden diese nicht nochmals in die Liste eingefügt.
Der Templateparameter T legt den Datentyp fest, auf den die aufzunehmenden Referenzen verweisen.
-
Remarks:
-
Die Klasse wird vom BSplineWrapper-Effekt dazu verwendet Referenzen auf die vom Benutzer markierten Kontrollpunkte zu speichern.
-
Note:
-
Aus dem Datentyp T wird automatisch ein Zeigerdatentyp erstellt. Setzt man z.B. für T den Typ int ein, so speichert die Liste tatsächlich Elemente vom Typ int*, d.h. Zeiger auf int -Elemente.
-
Note:
-
Anders als z.B. bei der CReferenceGrid -Klasse wird hier der Speicher, welcher durch die Objekte auf die die eingefügten Referenzen verweisen, beim Entfernen oder Löschen der Liste absichtlich nicht freigegeben.
Member Function Documentation
template<class T> |
void CReferenceList<T>::insert (
|
T * element ) [inline]
|
|
|
-
Remarks:
-
Die neue Referenz wird an das Ende der Liste eingefügt.
|
template<class T> |
void CReferenceList<T>::remove (
|
T * element ) [inline]
|
|
|
-
Note:
-
Die Methode remove() ändert die Reihenfolge der Elemente innerhalb der Liste. Um nicht alle Elemente umkopieren zu müssen, wird das letzte Element der Liste an die Stelle des Elements, welches entfernt werden soll gesetzt. Danach wird die Größe der Liste um eins vermindert.
-
Note:
-
Der Speicher den das Objekt belegt, auf welches die entfernte Referenz verwiesen hat, wird nicht freigegeben.
|
template<class T> |
void CReferenceList<T>::remove (
|
int index ) [inline]
|
|
|
-
Remarks:
-
Wird ein Index außerhalb des gültigen Bereichs spezifiziert, so kehrt die Routine umgehend zurück, ohne ein Element zu entfernen.
-
Note:
-
Die Methode remove() ändert die Reihenfolge der Elemente innerhalb der Liste. Um nicht alle Elemente umkopieren zu müssen, wird das letzte Element der Liste an die Stelle des Elements, welches entfernt werden soll gesetzt. Danach wird die Größe der Liste um eins vermindert.
-
Note:
-
Der Speicher den das Objekt belegt, auf welches die entfernte Referenz verwiesen hat, wird nicht freigegeben.
|
template<class T> |
void CReferenceList<T>::clear (
|
) [inline]
|
|
|
-
Note:
-
Der Speicher den die Objekte belegen, auf welche die gelöschten Referenzen verwiesen haben, wird nicht freigegeben.
|
template<class T> |
T * CReferenceList<T>::operator[] (
|
int Index ) [inline]
|
|
|
Gibt die Referenz auf ein Element vom Datentyp T an der Position Index innerhalb der Liste zurück. |
The documentation for this class was generated from the following file:
Generated at Fri Apr 19 16:53:06 2002 for GLFramework by
1.2.6 written by Dimitri van Heesch,
© 1997-2001