#include <pot_writer.h>
Klassendiagramm für PotWriter:
Öffentliche Datenelemente | |
PotWriter (const char *fileName) | |
Konstruktor. | |
virtual | ~PotWriter () |
Destruktor. | |
virtual const char * | getFormatName () |
Liefert den Namen Formats. | |
virtual const FormatType | getFormatType () |
Liefert den Format-Typ. | |
virtual void | writeFile (IndexOct *tree) throw (WriteFileException*) |
Schreibt die Oktalbaumstruktur in die POT-Datei. | |
Private Datenelemente | |
void | binWrite (Data data) |
Bitweise Kodierung und Speicherung im Bin"arformat. | |
void | flushWrite () |
Schreibt die gecachten Daten und leert den Cach. | |
const size_t | getCachSize () |
Liefert die Cach-Größe. | |
void | writeInnerNode () |
Schreibt die Daten für den inneren Knoten. | |
void | writeLeaf (Color color) |
Schreibt die Daten für den Blattknoten. | |
void | writeTree (Node node) |
Schreibt den Unterbaum node in Preordertraversierung in die Ausgabedatei. | |
Private Attribute | |
const char * | fileName |
Name der Ausgabedatei. | |
FILE * | potFile |
Handler für die Ausgabedatei. | |
size_t | wCount |
Anzahl gecachter Bits. | |
Data | wBinary |
Gecachter Binärwert. |
Es wird die Oktalbaumstruktur linearisiert in Präodertraversierung geschrieben.
|
Konstruktor.
|
|
Bitweise Kodierung und Speicherung im Bin"arformat. Die Attribute NodeKind:LEAF bzw. NodeKind:INNER_NODE werden bitweise kodiert und im Binärformat gespeichert. Am Ende der Ausgabe muss ein Flush durchgef"uhrt werden, wobei evtl. noch mit zus"atzlichen Nullen aufgef"ullt wird.
|
|
Liefert die Cach-Größe.
|
|
Liefert den Namen Formats.
Implementiert Writer. |
|
Liefert den Format-Typ.
Implementiert Writer. |
|
Schreibt die Oktalbaumstruktur in die POT-Datei. Dazu wird der Oktalbaum linearisiert. Die inneren Knoten und Blätter des Oktalbaumes werden dazu entsprechend attributiert. Im Anschluss daran wird der Baum traversiert, d.h., nach dem Schema "Depth-First" (Tiefensuche) wird der Baum einmal durchlaufen und die Werte der innere Knoten bzw. Blätter werden bei ihrem ersten Besuch aufgeschrieben. Als Ergebnis liegt der Baum in einem in der Ausgabedatei geschriebenen Binärstrom vor.
Implementiert Writer. |
|
Schreibt die Daten für den Blattknoten.
|
|
Schreibt den Unterbaum node in Preordertraversierung in die Ausgabedatei.
|