18 template <
class T = Object>
37 virtual void steal(
Object& rhs);
60 return utl::cast<T>(_it->get());
99 return utl::cast<T>(_it->get());
116 typedef std::forward_iterator_tag iterator_category;
117 typedef std::ptrdiff_t difference_type;
144 auto& it = utl::cast<TFwdIt<T>>(rhs);
149 auto& it = utl::cast<FwdIt>(rhs);
163 auto& it = utl::cast<TFwdIt<T>>(rhs);
168 auto& it = utl::cast<FwdIt>(rhs);
181 auto& rhs = utl::cast<TFwdIt<T>>(rhs_);
182 if (_it !=
nullptr)
delete _it;
188 auto& rhs = utl::cast<FwdIt>(rhs_);
#define UTL_CLASS_IMPL_TPL(className, T)
Implementation of standard UTL++ functionality for a template class.
T * clone(const T *object)
Create a clone of the given object.
void deInit()
De-initialize UTL++.
T * operator*() const
Pointer dereference operator – return a (T*) instead of an (Object*).
virtual void forward(size_t dist=1)
Move forward the given number of objects.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
virtual const Object & getProxiedObject() const
Get the proxied object (= self if none).
Templated proxy for FwdIt.
virtual Object & getProxiedObject()
Get the proxied object (= self if none).
Forward iterator abstraction.
int compareNullable(const Object *lhs, const Object *rhs, const Ordering *ordering=nullptr)
Compare two objects.
TFwdIt(FwdIt *it)
Constructor.
FwdIt * iterator() const
Get the proxied iterator.
#define UTL_CLASS_DECL_TPL(DC, T, BC)
Declaration of standard UTL++ functionality for a template class with one parameter.
virtual void steal(Object &rhs)
"Steal" the internal representation from another instance.
TFwdIt & operator=(FwdIt *it)
Set the iterator.
void setIt(FwdIt *it)
Set the iterator.
Root of UTL++ class hierarchy.
int compare(bool lhs, bool rhs)
Compare two boolean values.
void init()
Initialize UTL++.