5 #include <libutl/BidIt.h> 34 : _skipList(const_cast<
SkipList*>(skipList))
38 IFDEBUG(FwdIt::setOwner(_skipList));
47 virtual void forward(
size_t dist = 1);
49 virtual Object*
get()
const;
72 virtual void reverse(
size_t dist = 1);
74 virtual void set(
const Object* object);
84 _skipList =
const_cast<SkipList*
>(skipList);
86 IFDEBUG(FwdIt::setOwner(_skipList));
133 if (_update !=
nullptr)
delete[] _update;
145 SkipList::begin()
const 147 iterator it(
this, _head);
157 return iterator(
this, _head->next());
163 SkipList::beginNew()
const 175 return new iterator(
this, _head->next());
181 SkipList::end()
const 199 SkipList::endNew()
const void setNode(SkipListNode *node)
Set the skip-list node.
void deInit()
De-initialize UTL++.
SkipListNode ** update() const
Get the update array.
#define UTL_CLASS_DECL(DC, BC)
Declaration of standard UTL++ functionality for a non-template class.
void reverse(const BidIt &begin, const BidIt &end)
Reverse a sequence.
Templated proxy for BidIt.
#define IFDEBUG(x)
Do x in DEBUG mode only.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
void setConst(bool p_const)
Set the const flag.
Bi-directional iterator abstraction.
SkipList * skipList() const
Get the associated SkipList.
Bi-directional SkipList iterator.
SkipListIt(const SkipList *skipList, SkipListNode *node, SkipListNode **update=nullptr)
Constructor.
Root of UTL++ class hierarchy.
int compare(bool lhs, bool rhs)
Compare two boolean values.
void init()
Initialize UTL++.
SkipListNode * node() const
Get the list node.