5 #include <libutl/FlagsMI.h> 47 virtual void forward(
size_t dist = 1) = 0;
53 virtual Object*
get()
const = 0;
63 return getFlag(flg_const);
70 setFlag(flg_const, p_const);
80 return (
get() ==
nullptr);
90 virtual void set(
const Object* object) = 0;
134 bool isValid(
const utl::Object* owner =
nullptr)
const;
147 return (_owner == it->_owner);
158 void setOwner(
const Object* owner,
bool notifyOwner =
true)
const;
165 typedef std::forward_iterator_tag iterator_category;
166 typedef std::ptrdiff_t difference_type;
189 mutable const Object* _owner;
190 mutable bool _notifyOwner;
200 #include <libutl/TFwdIt.h> void deInit()
De-initialize UTL++.
void invalidate() const
Invalidate the iterator.
virtual bool isEnd() const
Determine whether the iterator points to the end of the sequence.
bool isConst() const
Get the const flag.
FwdIt & operator++()
Pre-increment operator.
Mix-in to provide 64-bits for space-efficient storage of up to 64 boolean flags.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
Object * operator*() const
Pointer dereference operator.
void operator++(int)
Post-increment operator.
Forward iterator abstraction.
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).
bool hasSameOwner(const FwdIt *it) const
Query if self has the same owner as the given iterator.
FwdIt & operator+=(size_t dist)
Increment operator.
Root of UTL++ class hierarchy.
int compare(bool lhs, bool rhs)
Compare two boolean values.
void init()
Initialize UTL++.
const Object * owner() const
Get the owner.