5 #include <libutl/BinTreeNode.h> 6 #include <libutl/MaxObject.h> 7 #include <libutl/SortedCollection.h> 47 BinTree(
bool owner,
bool multiSet =
false,
Ordering* ordering =
nullptr);
49 virtual void steal(
Object& rhs);
70 serializeFast(
nullptr, stream, io, mode);
91 iterator findIt(
const Object& key)
const;
98 iterator findIt(
const Object& key);
110 findFirstIt(
const Object& key,
BidIt& it,
bool insert =
false)
const 116 virtual void findFirstIt(
const Object& key,
BidIt& it,
bool insert =
false);
124 iterator findFirstIt(
const Object& key,
bool insert =
false)
const;
132 iterator findFirstIt(
const Object& key,
bool insert =
false);
141 virtual void findLastIt(
const Object& key,
BidIt& it);
148 iterator findLastIt(
const Object& key)
const;
155 iterator findLastIt(
const Object& key);
163 return super::add(
object);
166 virtual bool add(
const Object*
object);
171 super::add(collection);
177 return super::insert(
object, it);
180 virtual void insert(
const Object*
object,
const BidIt& it);
185 virtual void clear();
194 virtual bool remove(
const Object& key);
196 virtual void removeIt(
BidIt& it);
201 super::removeIt(begin, end);
208 inline iterator begin()
const;
211 inline iterator begin();
219 inline virtual BidIt* beginNew()
const;
221 inline virtual BidIt* beginNew();
230 inline iterator end()
const;
233 inline iterator end();
244 inline virtual BidIt* endNew()
const;
246 inline virtual BidIt* endNew();
258 inline iterator root()
const;
261 inline iterator root();
265 iterator begin(
bool notifyOwner);
267 virtual void sanityCheck()
const;
271 compareObjects(
const Object* lhs,
const Object* rhs)
const 273 return (lhs == &
maxObject) ? 1 : super::compareObjects(lhs, rhs);
278 BinTreeNode* findInsertionPoint(
const Object& key,
bool* insertLeft =
nullptr)
const;
279 iterator findIt(
const Object& key,
uint_t findType)
const;
284 virtual void resetRoot();
290 void init(
bool owner =
true,
bool multiSet =
false,
Ordering* ordering =
nullptr);
300 #include <libutl/BinTreeIt.h> 301 #include <libutl/BinTreeBfsIt.h>
#define const_cast_this
Pointer to the object the method was invoked on (casting away const).
void deInit()
De-initialize UTL++.
Object comparison abstraction.
const MaxObject maxObject
Global instance of MaxObject.
default representation (via getSerializeMode())
Store information about a class.
#define IFDEBUG(x)
Do x in DEBUG mode only.
Abstraction for a Collection whose objects may be sorted.
In-order bi-directional BinTree iterator.
void setConst(bool p_const)
Set the const flag.
#define UTL_CLASS_DECL_ABC(DC, BC)
Declaration of standard UTL++ functionality for an abstract base class (ABC).
Breadth-first BinTree iterator.
unsigned int uint_t
Unsigned integer.
Bi-directional iterator abstraction.
void serializeFast(Stream &stream, uint_t io, uint_t mode=ser_default)
Serialize to/from the given stream.
void dumpTree(Stream &os) const
Dump the tree to the given stream (for debugging).
Root of UTL++ class hierarchy.
void init()
Initialize UTL++.
#define ASSERTD
Do an assertion in DEBUG mode only.