Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ErasableIterator< T > Class Template Reference

A wrapper around an STL container that allows a forward iterator to be erased during the loop. More...

#include <ErasableIterator.h>

List of all members.

Public Methods

 ErasableIterator (T &t)
bool more ()
void next ()
 operator typename T::iterator & ()
T::reference operator * ()
T::pointer operator-> ()

Private Attributes

T::iterator _curr
T::iterator _next
T::iterator _end


Detailed Description

template<class T>
class ErasableIterator< T >

A wrapper around an STL container that allows a forward iterator to be erased during the loop.

Example:

list<int> L; for(int i=0;i<10;++i) L.push_back(i);

for(ErasableIterator< list<int> > pos(L); pos.more(); pos.next()) { cout<<"pos: "<<*pos<<endl; L.erase(pos); cout<<"size: "<<L.size()<<endl; }

Definition at line 41 of file ErasableIterator.h.


Constructor & Destructor Documentation

template<class T>
ErasableIterator< T >::ErasableIterator T &    t [inline]
 

Definition at line 49 of file ErasableIterator.h.

References ErasableIterator< T >::_curr, ErasableIterator< T >::_end, and ErasableIterator< T >::_next.


Member Function Documentation

template<class T>
bool ErasableIterator< T >::more   [inline]
 

Definition at line 53 of file ErasableIterator.h.

References ErasableIterator< T >::_curr, ErasableIterator< T >::_end, and ErasableIterator< T >::_next.

Referenced by OmniEvents::Orb::run().

template<class T>
void ErasableIterator< T >::next   [inline]
 

Definition at line 61 of file ErasableIterator.h.

References ErasableIterator< T >::_curr, and ErasableIterator< T >::_next.

Referenced by OmniEvents::Orb::run().

template<class T>
T::reference ErasableIterator< T >::operator *   [inline]
 

Definition at line 69 of file ErasableIterator.h.

template<class T>
ErasableIterator< T >::operator typename T::iterator &   [inline]
 

Definition at line 65 of file ErasableIterator.h.

References ErasableIterator< T >::_curr.

template<class T>
T::pointer ErasableIterator< T >::operator->   [inline]
 

Definition at line 73 of file ErasableIterator.h.


Member Data Documentation

template<class T>
T::iterator ErasableIterator< T >::_curr [private]
 

Definition at line 44 of file ErasableIterator.h.

Referenced by ErasableIterator< T >::ErasableIterator(), ErasableIterator< T >::more(), ErasableIterator< T >::next(), and ErasableIterator< T >::operator typename T::iterator &().

template<class T>
T::iterator ErasableIterator< T >::_end [private]
 

Definition at line 46 of file ErasableIterator.h.

Referenced by ErasableIterator< T >::ErasableIterator(), and ErasableIterator< T >::more().

template<class T>
T::iterator ErasableIterator< T >::_next [private]
 

Definition at line 45 of file ErasableIterator.h.

Referenced by ErasableIterator< T >::ErasableIterator(), ErasableIterator< T >::more(), and ErasableIterator< T >::next().


The documentation for this class was generated from the following file:
Generated on Wed Dec 10 21:34:06 2003 for OmniEvents by doxygen1.2.15