34 #ifndef __EST_TITERATOR_H__
35 #define __EST_TITERATOR_H__
75 template <
class Container,
class IPo
inter,
class Entry>
77 template <
class Container,
class IPo
inter,
class Entry>
79 template <
class Container,
class IPo
inter,
class Entry>
82 template <
class Container,
class IPo
inter,
class Entry>
114 {
begin(over);
return *
this;}
151 {
next();
return *
this;}
174 const Entry *operator ->()
const
188 unsigned int n()
const {
return pos; }
200 template <
class Container,
class IPo
inter,
class Entry>
217 { this->
begin(over); }
219 const Entry *operator ->()
const
223 template <
class Container,
class IPo
inter,
class Entry>
265 Entry *operator ->()
const
280 template <
class Container,
class IPo
inter,
class Entry>
297 { this->
begin(over); }
299 Entry *operator ->()
const
EST_TStructIterator()
Create an iterator not associated with any specific container.
const Entry & operator*() const
The * operator returns the current element.
Container * cont
The container we are looking at.
Iter & operator=(const Iter &orig)
Copy an iterator by assignment.
void next()
Next moves to the next entry.
EST_TRwIterator< Container, IPointer, Entry > Iter
Can't access constant containers this way.
unsigned int pos
Position in the structure. May or may not be useful.
const Entry & next_element()
Return the current element and move the pointer forwards.
EST_TIterator< Container, IPointer, Entry > Iter
Name for an iterator like this.
EST_TRwIterator(Container &over)
Create an iterator ready to run over the given container.
EST_TRwStructIterator(Container &over)
Create an iterator ready to run over the given container.
unsigned int n() const
Return the current position.
EST_TStructIterator(const Container &over)
Create an iterator ready to run over the given container.
Iter & operator=(const Iter &orig)
Copy an iterator by assignment.
void begin(Container &over)
Set the iterator ready to run over this container.
Entry & next_element()
Return the current element and move the pointer forwards.
EST_TRwIterator()
Create an iterator not associated with any specific container.
EST_TRwStructIterator()
Create an iterator not associated with any specific container.
bool at_end() const
True when there are no more.
EST_TIterator(const Container &over)
Create an iterator ready to run over the given container.
const Entry & current() const
Return the element currently pointed to.
void beginning()
Reset to the start of the container.
void begin(const Container &over)
Set the iterator ready to run over this container.
EST_TIterator()
Create an iterator not associated with any specific container.
Iter & operator=(const Iter &orig)
Copy an iterator by assignment.
Iter & operator=(const Iter &orig)
Copy an iterator by assignment.
Iter & operator++()
The increment operator does the same as next.
Entry & current() const
Return the element currently pointed to.
Entry & operator*() const
The * operator returns the current element.
bool has_more_elements() const
True if there are more elements to look at.