18 template <
class T = Object>
37 virtual void steal(
Object& rhs);
66 return utl::cast<T>(_it->get());
105 return utl::cast<T>(_it->get());
122 typedef std::bidirectional_iterator_tag iterator_category;
123 typedef std::ptrdiff_t difference_type;
150 auto& it = utl::cast<TBidIt<T>>(rhs);
155 auto& it = utl::cast<BidIt>(rhs);
169 auto& it = utl::cast<TBidIt<T>>(rhs);
174 auto& it = utl::cast<BidIt>(rhs);
187 auto& rhs = utl::cast<TBidIt<T>>(rhs_);
188 if (_it !=
nullptr)
delete _it;
194 auto& rhs = utl::cast<BidIt>(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.
T * operator*() const
Pointer dereference operator – return a (T*) instead of an (Object*).
void deInit()
De-initialize UTL++.
virtual const Object & getProxiedObject() const
Get the proxied object (= self if none).
virtual void reverse(size_t dist=1)
Move backward the given number of objects.
TBidIt(BidIt *it)
Constructor.
Templated proxy for BidIt.
TBidIt & operator=(BidIt *it)
Set the iterator.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
int compareNullable(const Object *lhs, const Object *rhs, const Ordering *ordering=nullptr)
Compare two objects.
Bi-directional iterator abstraction.
#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.
virtual void forward(size_t dist=1)
Move forward the given number of objects.
void setIt(BidIt *it)
Set the iterator.
virtual Object & getProxiedObject()
Get the proxied object (= self if none).
BidIt * iterator() const
Get the proxied iterator.
Root of UTL++ class hierarchy.
int compare(bool lhs, bool rhs)
Compare two boolean values.
void init()
Initialize UTL++.