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

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 doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001