5 #include <libutl/FlagsMI.h> 42 virtual int cmp(
const Object* lhs,
const Object* rhs)
const = 0;
44 virtual const Object& getObjectKey(
const Object*
object)
const;
73 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
107 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
138 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
140 virtual const Object& getObjectKey(
const Object*
object)
const;
171 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
173 virtual const Object& getObjectKey(
const Object*
object)
const;
204 : _ordering(ordering)
208 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
251 virtual int cmp(
const Object* lhs,
const Object* rhs)
const;
323 void addKey(
uint_t fieldId,
bool ascending =
true);
355 bool isAscending(
uint_t idx)
const;
361 return !isAscending(idx);
const NaturalOrdering naturalOrdering
Global instance of NaturalOrdering.
const KeyOrdering keyOrdering
Global instance of KeyOrdering.
#define UTL_CLASS_DEFID
Default init() and deInit() (which are merely place-holders).
void serialize(bool &b, Stream &stream, uint_t io, uint_t mode=ser_default)
Serialize a boolean.
void deInit()
De-initialize UTL++.
Object comparison abstraction.
const TypeOrdering typeOrdering
Global instance of TypeOrdering.
int operator()(const Object *lhs, const Object *rhs) const
An alternative to utl::cmp.
default representation (via getSerializeMode())
#define UTL_CLASS_DECL(DC, BC)
Declaration of standard UTL++ functionality for a non-template class.
size_t numKeys() const
Get the number of keys.
Mix-in to provide 64-bits for space-efficient storage of up to 64 boolean flags.
const InvertedNaturalOrdering invertedNaturalOrdering
Global instance of InvertedNaturalOrdering.
Inverted key-based object ordering.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
const AddressOrdering addressOrdering
Global instance of AddressOrdering.
void clear()
Clear all keys.
Inverted natural object ordering.
const InvertedKeyOrdering invertedKeyOrdering
Global instance of KeyOrdering.
#define UTL_CLASS_DECL_ABC(DC, BC)
Declaration of standard UTL++ functionality for an abstract base class (ABC).
unsigned int uint_t
Unsigned integer.
bool isDescending(uint_t idx) const
Get the negation of the ascending flag for the given sort key.
Abstract base for multi-key orderings.
A sequence of same-type objects.
Address-based object ordering.
Root of UTL++ class hierarchy.
void init()
Initialize UTL++.
Key-based object ordering.
Order objects by type name first, and use the given ordering to compare objects of the same type...