#include <disassemblerhashes.h>

Public Member Functions | |
| nodeHash (void) | |
| ~nodeHash (void) | |
| void | clear (void) |
| delete all nodes and empty table for new usage | |
| const disassemblerNode_c * | insert (disassemblerNode_c *n) |
| add a new node. | |
| bool | contains (const disassemblerNode_c *n) const |
| check, if a node is in the hashtable | |
Private Member Functions | |
| nodeHash (const nodeHash &) | |
| void | operator= (const nodeHash &) |
Private Attributes | |
| unsigned long | tab_size |
| current table size | |
| unsigned long | tab_entries |
| current number of entries | |
| disassemblerNode_c ** | tab |
| the hashtable | |
The nodes will not become owned by the hashtable, but the table will use the reference counting system of the node
| nodeHash::nodeHash | ( | void | ) |
References tab, tab_entries, and tab_size.
| nodeHash::nodeHash | ( | const nodeHash & | ) | [private] |
| void nodeHash::clear | ( | void | ) |
delete all nodes and empty table for new usage
References disassemblerNode_c::decRefCount(), disassemblerNode_c::next, tab, tab_entries, and tab_size.
Referenced by disassembler_0_c::disassemble_rec(), and ~nodeHash().
| bool nodeHash::contains | ( | const disassemblerNode_c * | n | ) | const |
check, if a node is in the hashtable
References disassemblerNode_c::hash(), disassemblerNode_c::next, tab, and tab_size.
| const disassemblerNode_c * nodeHash::insert | ( | disassemblerNode_c * | n | ) |
add a new node.
Returns the node pointer of the identical node found or 0
References disassemblerNode_c::getWaylength(), disassemblerNode_c::hash(), disassemblerNode_c::incRefCount(), disassemblerNode_c::next, disassemblerNode_c::replaceNode(), tab, tab_entries, and tab_size.
Referenced by disassembler_0_c::disassemble_rec().
| void nodeHash::operator= | ( | const nodeHash & | ) | [private] |
disassemblerNode_c** nodeHash::tab [private] |
unsigned long nodeHash::tab_entries [private] |
unsigned long nodeHash::tab_size [private] |
1.5.8