5 #include <libutl/BidIt.h> 33 : _tree(const_cast<
BinTree*>(tree))
36 IFDEBUG(FwdIt::setOwner(_tree));
42 _tree =
const_cast<BinTree*
>(tree);
44 FwdIt::setOwner(_tree, notifyOwner);
52 virtual void forward(
size_t dist = 1);
54 virtual Object*
get()
const;
70 virtual void reverse(
size_t dist = 1);
72 virtual void set(
const Object* object);
82 _tree =
const_cast<BinTree*
>(tree);
84 IFDEBUG(FwdIt::setOwner(_tree));
140 BinTree::begin()
const 142 iterator it(
this, _root->leftMost());
152 return iterator(
this, _root->leftMost());
158 BinTree::beginNew()
const 170 return new iterator(
this, _root->leftMost());
178 iterator it(
this, _root->rightMost());
188 return iterator(
this, _root->rightMost());
194 BinTree::endNew()
const 206 return new iterator(
this, _root->rightMost());
212 BinTree::root()
const 231 BinTree::begin(
bool notifyOwner)
233 return iterator(
this, _root->leftMost(), notifyOwner);
BinTreeNode * node() const
Get the current node.
void deInit()
De-initialize UTL++.
#define UTL_CLASS_DECL(DC, BC)
Declaration of standard UTL++ functionality for a non-template class.
BinTreeIt(const BinTree *tree, BinTreeNode *node)
Constructor.
void reverse(const BidIt &begin, const BidIt &end)
Reverse a sequence.
#define IFDEBUG(x)
Do x in DEBUG mode only.
void setNode(BinTreeNode *node)
Set the node.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
In-order bi-directional BinTree iterator.
void setConst(bool p_const)
Set the const flag.
Bi-directional iterator abstraction.
Root of UTL++ class hierarchy.
int compare(bool lhs, bool rhs)
Compare two boolean values.
void init()
Initialize UTL++.
BinTree * tree() const
Get the associated BinTree.