#include <RexxCompoundTable.hpp>
Public Member Functions | |
RexxCompoundTable () | |
void | copyFrom (RexxCompoundTable &other) |
void | init (RexxStem *parent) |
void | clear () |
RexxCompoundElement * | get (RexxCompoundTail *name) |
RexxCompoundElement * | findEntry (RexxCompoundTail *tail) |
RexxCompoundElement * | findEntry (RexxCompoundTail *tail, bool create) |
RexxCompoundElement * | findEntry (RexxString *tail, bool create=false) |
void | balance (RexxCompoundElement *node) |
void | moveNode (RexxCompoundElement **anchor, bool toright) |
RexxCompoundElement * | first () |
RexxCompoundElement * | findLeaf (RexxCompoundElement *node) |
RexxCompoundElement * | next (RexxCompoundElement *node) |
void | setParent (RexxStem *parent) |
void | setRoot (RexxCompoundElement *newRoot) |
Public Attributes | |
RexxCompoundElement * | root |
RexxStem * | parent |
Friends | |
class | RexxStem |
Definition at line 66 of file RexxCompoundTable.hpp.
|
inline |
Definition at line 69 of file RexxCompoundTable.hpp.
void RexxCompoundTable::balance | ( | RexxCompoundElement * | node | ) |
Definition at line 157 of file RexxCompoundTable.cpp.
References RexxCompoundElement::leftdepth, moveNode(), OREF_NULL, RexxCompoundElement::parent, RexxCompoundElement::right, RexxCompoundElement::rightdepth, and root.
Referenced by findEntry().
void RexxCompoundTable::clear | ( | ) |
Definition at line 76 of file RexxCompoundTable.cpp.
References OREF_NULL, and setRoot().
Referenced by RexxStem::bracketEqual(), and RexxStem::empty().
void RexxCompoundTable::copyFrom | ( | RexxCompoundTable & | other | ) |
Copy all of the entries from another compound table into this table.
other | The source tail collection. |
Definition at line 62 of file RexxCompoundTable.cpp.
References findEntry(), first(), RexxVariable::getName(), next(), RexxCompoundElement::setValue(), and RexxVariable::variableValue.
Referenced by RexxStem::copyFrom().
RexxCompoundElement * RexxCompoundTable::findEntry | ( | RexxCompoundTail * | tail | ) |
Definition at line 355 of file RexxCompoundTable.cpp.
References RexxCompoundTail::compare(), RexxVariable::getName(), RexxCompoundElement::left, OREF_NULL, RexxCompoundElement::right, and root.
Referenced by copyFrom(), RexxStem::expose(), RexxStem::exposeCompoundVariable(), RexxStem::findCompoundVariable(), findEntry(), get(), and RexxStem::getCompoundVariable().
RexxCompoundElement * RexxCompoundTable::findEntry | ( | RexxCompoundTail * | tail, |
bool | create | ||
) |
Definition at line 90 of file RexxCompoundTable.cpp.
References balance(), RexxCompoundTail::compare(), RexxVariable::getName(), RexxCompoundElement::left, RexxCompoundTail::makeString(), new_compoundElement(), OREF_NULL, RexxCompoundElement::right, root, RexxCompoundElement::setLeft(), RexxCompoundElement::setParent(), RexxCompoundElement::setRight(), and setRoot().
RexxCompoundElement * RexxCompoundTable::findEntry | ( | RexxString * | tail, |
bool | create = false |
||
) |
Definition at line 82 of file RexxCompoundTable.cpp.
References findEntry().
RexxCompoundElement * RexxCompoundTable::findLeaf | ( | RexxCompoundElement * | node | ) |
Definition at line 282 of file RexxCompoundTable.cpp.
References RexxCompoundElement::left, OREF_NULL, and RexxCompoundElement::right.
RexxCompoundElement * RexxCompoundTable::first | ( | void | ) |
Definition at line 269 of file RexxCompoundTable.cpp.
References findLeaf(), OREF_NULL, and root.
Referenced by RexxStem::allItems(), copyFrom(), RexxStem::findByValue(), RexxStem::first(), RexxStem::items(), RexxStem::supplier(), RexxStem::tailArray(), and RexxStem::toDirectory().
|
inline |
Definition at line 73 of file RexxCompoundTable.hpp.
References findEntry().
void RexxCompoundTable::init | ( | RexxStem * | parent | ) |
Definition at line 49 of file RexxCompoundTable.cpp.
References OREF_NULL, setParent(), and setRoot().
Referenced by RexxStem::copyFrom(), RexxStem::init(), and RexxStem::RexxStem().
void RexxCompoundTable::moveNode | ( | RexxCompoundElement ** | anchor, |
bool | toright | ||
) |
Definition at line 215 of file RexxCompoundTable.cpp.
References RexxCompoundElement::left, RexxCompoundElement::leftdepth, OREF_NULL, RexxCompoundElement::parent, RexxCompoundElement::right, RexxCompoundElement::rightdepth, RexxCompoundElement::setLeft(), RexxCompoundElement::setParent(), RexxCompoundElement::setRight(), setRoot(), and work.
Referenced by balance().
RexxCompoundElement * RexxCompoundTable::next | ( | RexxCompoundElement * | node | ) |
Definition at line 300 of file RexxCompoundTable.cpp.
References findLeaf(), OREF_NULL, RexxCompoundElement::parent, and RexxCompoundElement::right.
Referenced by RexxStem::allItems(), copyFrom(), RexxStem::findByValue(), RexxStem::items(), RexxStem::nextVariable(), RexxStem::supplier(), RexxStem::tailArray(), and RexxStem::toDirectory().
void RexxCompoundTable::setParent | ( | RexxStem * | parent | ) |
Definition at line 321 of file RexxCompoundTable.cpp.
References OrefSet, parent, and RexxStem::tails.
Referenced by init().
void RexxCompoundTable::setRoot | ( | RexxCompoundElement * | newRoot | ) |
Definition at line 338 of file RexxCompoundTable.cpp.
References OrefSet, parent, root, and RexxStem::tails.
Referenced by clear(), findEntry(), init(), and moveNode().
|
friend |
Definition at line 67 of file RexxCompoundTable.hpp.
RexxStem* RexxCompoundTable::parent |
Definition at line 87 of file RexxCompoundTable.hpp.
Referenced by setParent(), and setRoot().
RexxCompoundElement* RexxCompoundTable::root |
Definition at line 86 of file RexxCompoundTable.hpp.
Referenced by balance(), findEntry(), first(), and setRoot().