#include <huffmanElement.h>
Public Member Functions | |
| HuffmanElement () | |
| HuffmanElement (char cur_letter, int cur_value) | |
| HuffmanElement (HuffmanElement *cur_left, HuffmanElement *cur_right, int cur_value) | |
| HuffmanElement (const HuffmanElement &original) | |
| virtual | ~HuffmanElement () |
| virtual HuffmanElement & | operator= (const HuffmanElement &original) |
| virtual bool | operator> (const HuffmanElement &compare) const |
| virtual char | get_letter () const |
| virtual int | get_value () const |
| virtual int | get_name () const |
| virtual bool | get_is_right () const |
| virtual HuffmanElement * | get_parent () |
| virtual HuffmanElement * | get_left () |
| virtual HuffmanElement * | get_right () |
| virtual bool * | get_lookup_code () |
| virtual unsigned int | get_lookup_code_length () const |
| virtual void | set_parent (HuffmanElement *cur_parent, bool cur_is_right) |
| virtual void | add_lookup_code (bool code) |
| virtual int | get_longest_code () |
Klasse zum Verwalten von Huffman-Knoten und -Blaettern
| HuffmanElement::HuffmanElement | ( | ) |
Erzeugt einen leeren Knoten. Reserviert Speicher fuer 30 Lookup-Bits.
| HuffmanElement::HuffmanElement | ( | char | cur_letter, |
| int | cur_value | ||
| ) |
Erzeugt ein Blatt mit Buchstaben und deren Anzahl. Reserviert Speicher fuer 30 Lookup-Bits.
| cur_letter | Buchstabe |
| cur_value | Anzahl |
| HuffmanElement::HuffmanElement | ( | HuffmanElement * | cur_left, |
| HuffmanElement * | cur_right, | ||
| int | cur_value | ||
| ) |
Erzeugt einen Knoten mit linkem und rechtem Nachfolger, sowie einem Wert, der die Wertigkeit des aktuellen Asts angibt. Reserviert Speicher fuer 30 Lookup-Bits.
| cur_left | linker Nachfolger |
| cur_right | rechter Nachfolger |
| cur_value | Wert des Asts |
| HuffmanElement::HuffmanElement | ( | const HuffmanElement & | original | ) |
Kopiert einen Knoten/Blatt.
| original | zu kopierender Knoten/Blatt |
| HuffmanElement::~HuffmanElement | ( | ) | [virtual] |
Gibt alle Speicherbereiche des Knotens/Blatt frei.
| void HuffmanElement::add_lookup_code | ( | bool | code | ) | [virtual] |
Fuegt ein uebergebenes Bit zum eigenen Lookup-Code hinzu und macht dies auch fuer alle Nachfolger des aktuellen Knotens.
| code | hinzuzufuegendes Bit |

| bool HuffmanElement::get_is_right | ( | ) | const [virtual] |
Gibt an, ob der aktuelle Knoten/Blatt ein rechter oder linker Nachfolger ist.
| HuffmanElement * HuffmanElement::get_left | ( | ) | [virtual] |
Liefert den linken Nachfolger.
| char HuffmanElement::get_letter | ( | ) | const [virtual] |
Liefert den aktuellen Buchstaben.
| int HuffmanElement::get_longest_code | ( | ) | [virtual] |
Liefert die Laenge des laengsten Lookup-Codes.
| bool * HuffmanElement::get_lookup_code | ( | ) | [virtual] |
Liefert den Lookup-Code des aktuellen Blatts.
| unsigned int HuffmanElement::get_lookup_code_length | ( | ) | const [virtual] |
Liefert die Laenge des Lookup-Codes des aktuellen Blatts.
| int HuffmanElement::get_name | ( | ) | const [virtual] |
Liefert den Namen des Knotens (Nummer)
| HuffmanElement * HuffmanElement::get_parent | ( | ) | [virtual] |
Liefert den uebergeordneten Knoten.
| HuffmanElement * HuffmanElement::get_right | ( | ) | [virtual] |
Liefert den rechten Nachfolger.
| int HuffmanElement::get_value | ( | ) | const [virtual] |
Liefert den aktuellen Wert (Wertigkeit des aktuellen Asts)
| HuffmanElement & HuffmanElement::operator= | ( | const HuffmanElement & | original | ) | [virtual] |
Zuweisungsoperator zum Kopieren/Zuweisen eines Kontens/Blatts.
| original | zuzuweisender Knoten/Blatt |
| bool HuffmanElement::operator> | ( | const HuffmanElement & | compare | ) | const [virtual] |
Ueberladung des > Operator ermoeglicht den Vergleich von Knoten/Blaettern. Knoten/Blaettern mit grossem Wert sind groesser als Knoten/Blaettern mit kleinem Wert.
| compare | zu vergleichender Knoten |

| void HuffmanElement::set_parent | ( | HuffmanElement * | cur_parent, |
| bool | cur_is_right | ||
| ) | [virtual] |
Legt den Uebergeordneten Knoten fest und bestimmt, ob der aktuelle Knoten/Blatt ein linker oder rechter ist.
| cur_parent | uebergeordneter Knoten |
| cur_is_right | 0, wenn es ein liker Nachfolger ist, sonst ist es ein rechter Nachfolger |

1.7.5.1