Public Member Functions
HuffmanElement Class Reference

#include <huffmanElement.h>

List of all members.

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 HuffmanElementoperator= (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 HuffmanElementget_parent ()
virtual HuffmanElementget_left ()
virtual HuffmanElementget_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 ()

Detailed Description

Klasse zum Verwalten von Huffman-Knoten und -Blaettern


Constructor & Destructor Documentation

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.

Parameters:
cur_letterBuchstabe
cur_valueAnzahl
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.

Parameters:
cur_leftlinker Nachfolger
cur_rightrechter Nachfolger
cur_valueWert des Asts
HuffmanElement::HuffmanElement ( const HuffmanElement original)

Kopiert einen Knoten/Blatt.

Parameters:
originalzu kopierender Knoten/Blatt
HuffmanElement::~HuffmanElement ( ) [virtual]

Gibt alle Speicherbereiche des Knotens/Blatt frei.


Member Function Documentation

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.

Parameters:
codehinzuzufuegendes Bit

Here is the call graph for this function:

bool HuffmanElement::get_is_right ( ) const [virtual]

Gibt an, ob der aktuelle Knoten/Blatt ein rechter oder linker Nachfolger ist.

Returns:
0, wenn es ein liker Nachfolger ist, sonst ist es ein rechter Nachfolger
HuffmanElement * HuffmanElement::get_left ( ) [virtual]

Liefert den linken Nachfolger.

Returns:
linker Nachfolger
char HuffmanElement::get_letter ( ) const [virtual]

Liefert den aktuellen Buchstaben.

Returns:
Buchstabe
int HuffmanElement::get_longest_code ( ) [virtual]

Liefert die Laenge des laengsten Lookup-Codes.

Returns:
Anzahl an Stellen des laengsten Lookup-Codes
bool * HuffmanElement::get_lookup_code ( ) [virtual]

Liefert den Lookup-Code des aktuellen Blatts.

Returns:
Lookup-Bit-Code
unsigned int HuffmanElement::get_lookup_code_length ( ) const [virtual]

Liefert die Laenge des Lookup-Codes des aktuellen Blatts.

Returns:
Laenge des Lookup-Bit-Codes
int HuffmanElement::get_name ( ) const [virtual]

Liefert den Namen des Knotens (Nummer)

Returns:
Namens-ID
HuffmanElement * HuffmanElement::get_parent ( ) [virtual]

Liefert den uebergeordneten Knoten.

Returns:
uebergeordneter Knoten
HuffmanElement * HuffmanElement::get_right ( ) [virtual]

Liefert den rechten Nachfolger.

Returns:
rechter Nachfolger
int HuffmanElement::get_value ( ) const [virtual]

Liefert den aktuellen Wert (Wertigkeit des aktuellen Asts)

Returns:
Wertigkeit
HuffmanElement & HuffmanElement::operator= ( const HuffmanElement original) [virtual]

Zuweisungsoperator zum Kopieren/Zuweisen eines Kontens/Blatts.

Parameters:
originalzuzuweisender Knoten/Blatt
Returns:
Referenz auf den neuen 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.

Parameters:
comparezu vergleichender Knoten
Returns:
0, wenn der aktuelle Knoten nicht groesser ist, sonst ist er groesser

Here is the call graph for this function:

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.

Parameters:
cur_parentuebergeordneter Knoten
cur_is_right0, wenn es ein liker Nachfolger ist, sonst ist es ein rechter Nachfolger

Here is the call graph for this function:


The documentation for this class was generated from the following files:
 All Classes Files Functions