#include <CGrid.h>
Inheritance diagram for CGrid::
Das Klassentemplate implementiert auf der Basis der CAbstractGrid - Klasse ein zweidimensionales dynamisches Array. Der Elementtyp wird durch den Templateparameter T festgelegt. Da der Speicher für die Elemente dynamisch alloziiert wird, können die Ausmaße des Arrays zur Laufzeit geändert werden.
|
Der Standardkonstruktor erzeugt ein NULL-Grid. Dieses Grid hat die Ausmaße 0 x 0 und enthält somit keine Elemente. Das Elementfreigabeflag wird standardmäßig auf false gesetzt. |
|
Der zusätzliche Konstruktor erzeugt ein Gird mit den Ausmaßen intWidth x intHeight. Das Elementfreigabeflag wird standardmäßig auf false gesetzt. Der Speicherbereich für die Elementdaten wird durch Nullen überschrieben. |
|
Der Kopierkonstruktor verhält sich analog zum Zuweisungsoperator. Zunächst wird die Größe des Zielgrids an die Größe des Quellgrids angepaßt. Danach werden die Griddaten Elementweise kopiert, um ein mögliches Deepcopy des Elementtyps T zu verwenden. |
|
Der Standarddestruktor löscht zunächst den Elementspeicherbereich mittels clear(). Dadurch wird der Speicher, den ein evtl. dynamisch alloziiertes Element belegt freigegeben, falls das DisposeData - Flag zuvor gesetzt wurde. Danach werden die Gittermaße auf 0 x 0 gesetzt, was zur Folge hat, das der Elementspeicherbereich freigegeben wird. |
|
Diese Methode wird im Zusammenhang mit DisposeData verwendet. Innerhalb der CGrid - Klasse ist sie leer, und hat somit keinerlei Auswirkung. In abgeleiteten Klassen sollte sie überschrieben werden, um den Speicher freizugeben, der von einem dynamisch alloziierten Element, oder einer Objektreferenz belegt wird. Reimplemented in CReferenceGrid. |
|
Die Methode ändert die Ausmaße des Grids. Dabei bleiben die Elementdaten weitestgehend erhalten. Ebenfalls wird der Speicherbereich für die Elementdaten durch die Methode reorganisiert, insbesondere bei einer Änderung der Grid-Breite. Eventuell neu hinzugekommene Elemente werden mit Null-Werten initialisiert.
Reimplemented from CAbstractGrid. |
|
Die Methode überschreibt den Speicherberich für die Elementdaten mit Null-Werten.
Reimplemented from CAbstractGrid. |
|
Die Methode löscht das Grid, indem jedes Element mit dem Inhalt von objClearElement überschrieben wird.
|
|
Weist dem Element mit den Koordinaten intX und intY data als Wert zu.
|
|
Gibt den Inhalt des Elements mit den Koordinaten intX und intY zurück.
|
|
Der überladene Zuweisungsoperator sorgt zunächst dafür, dass die Größe des Zielgrids an die Größe des Quellgrids angepaßt wird. Das Kopieren geschieht komponentenweise, um eine möliche Unterstützung eines Deepcopy des Elementtyps T auszunutzen. |
|
Mit Hilfe dieses Flags kann festgelegt werden, ob bei einer Größenänderung des Arrays, oder beim Löschen der Elemente der Speicher, der durch diese Elemente verbraucht wird freigegeben werden soll. Dies ist nur sinnvoll, falls es sich bei den Elementen um Objektreferenzen oder Zeiger handelt. |