147    typedef IBaseIterator<A> self;
 
  148    typedef self& self_reference;
 
  149    typedef const self_reference const_self_reference;
 
  151    virtual bool operator==(const_self_reference rhs) = 0;
 
  154    virtual self_reference operator++() = 0;
 
  157    virtual self_reference operator++(
int) = 0;
 
  160    virtual A* operator->() = 0;
 
  162    inline bool operator!=(const_self_reference rhs){ 
return !((*this) == rhs); }
 
  175class IIterator: 
public IBaseIterator<A>
 
  178    typedef IIterator<A> self;
 
  179    typedef self& self_reference;
 
  180    typedef const self_reference const_self_reference;
 
  182    IIterator(){ void_constructor(); }
 
  184    IIterator(const_self_reference itr) { copy_constructor(itr); }
 
  186    virtual self_reference operator=(const_self_reference other) = 0;
 
  189    virtual void void_constructor() = 0;
 
  190    virtual void copy_constructor(const_self_reference itr) = 0;
 
  205    typedef T value_type;
 
  206    typedef value_type& reference;
 
  207    typedef const value_type& const_reference;
 
  210    virtual bool empty() 
const = 0;
 
  212    typedef IIterator<reference> iterator;
 
  213    virtual iterator begin() = 0;
 
  214    virtual iterator end() = 0;
 
  216    typedef IIterator<const_reference> const_iterator;
 
  217    virtual const_iterator begin() 
const = 0;
 
  218    virtual const_iterator end() 
const = 0;
 
bool operator!=(const Rational &a, const Rational &b)
 
bool operator==(const Rational &a, const Rational &b)
 
Templated accessor interface for accessing individual data (for instance, of an enumerator).
 
const value_type & const_reference
 
virtual const_reference Current() const =0
Gets the current element in the collection (read only).
 
virtual reference Current()=0
Gets the current element in the collection (read and write).
 
Base enumerator interface for simple iteration over a generic collection.
 
virtual bool IsValid() const =0
Current position is inside the collection (not -1 or past the end)
 
void operator=(const IBaseEnumerator &)
 
IBaseEnumerator(const IBaseEnumerator &)
disable copy constructor and assignment operator
 
virtual void Reset()=0
Sets the enumerator to its initial position: -1, which is before the first element in the collection.
 
virtual bool MoveNext()=0
Advances the enumerator to the next element of the collection. returns true if the enumerator was suc...
 
Templated enumerator interface for simple iteration over a generic collection of T's.
 
fglmVector operator*(const fglmVector &v, const number n)