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

std::safe_vector< T, Allo >::iterator Class Template Reference

#include <safe_vector.h>

Collaboration diagram for std::safe_vector< T, Allo >::iterator:

Collaboration graph
[legend]
List of all members.

Public Methods

void check_relevance () const
 iterator (const vector< T, Allo >::iterator &i, safe_vector< T, Allo > *id)
bool operator== (const vector< T, Allo >::iterator &i)
bool operator== (const vector< T, Allo >::const_iterator &i)
bool operator!= (const vector< T, Allo >::iterator &i)
bool operator!= (const vector< T, Allo >::const_iterator &i)
T & operator * ()
iterator operator++ (int)
iterator operator+= (int i)
iterator operator-= (int i)
iterator operator++ ()
iterator operator-- ()

Private Attributes

safe_vector< T, Allo > * v
int id

template<class T, class Allo = allocator <T>>
class std::safe_vector< T, Allo >::iterator


Constructor & Destructor Documentation

template<class T, class Allo = allocator <T>>
std::safe_vector< T, Allo >::iterator::iterator const vector< T, Allo >::iterator &    i,
safe_vector< T, Allo > *    id
[inline]
 

00065                                                                        :vector<T,Allo>::iterator(i) {
00066       this->v =id;
00067       this->id = id->id;
00068     }/*


Member Function Documentation

template<class T, class Allo = allocator <T>>
void std::safe_vector< T, Allo >::iterator::check_relevance   const [inline]
 

00059                                  {
00060       if (id!=v->id) {
00061         fprintf (stderr,__PRETTY_FUNCTION__);
00062         DIE_NOW();
00063       }   
00064     }

template<class T, class Allo = allocator <T>>
T& std::safe_vector< T, Allo >::iterator::operator *   [inline]
 

00089                       {
00090       check_relevance();
00091       return (**((vector <T,Allo>::iterator*)this));
00092     }

template<class T, class Allo = allocator <T>>
bool std::safe_vector< T, Allo >::iterator::operator!= const vector< T, Allo >::const_iterator   i [inline]
 

00085                                                              {
00086       check_relevance();
00087       return (*((vector<T,Allo>::iterator *)this))!=i;
00088     }

template<class T, class Allo = allocator <T>>
bool std::safe_vector< T, Allo >::iterator::operator!= const vector< T, Allo >::iterator &    i [inline]
 

00081                                                        {
00082       check_relevance();
00083       return (*((vector<T,Allo>::iterator *)this))!=i;
00084     }

template<class T, class Allo = allocator <T>>
iterator std::safe_vector< T, Allo >::iterator::operator++   [inline]
 

00108                             {
00109       return (*this)+=1;
00110     }

template<class T, class Allo = allocator <T>>
iterator std::safe_vector< T, Allo >::iterator::operator++ int    [inline]
 

00093                                {
00094       check_relevance();
00095       return iterator((*((vector<T,Allo>::iterator *)this))++,v);
00096     }

template<class T, class Allo = allocator <T>>
iterator std::safe_vector< T, Allo >::iterator::operator+= int    i [inline]
 

00098                                 {
00099       (*((vector<T,Allo>::iterator *)this))+=i;
00100       check_relevance();
00101       return *this;
00102     }

template<class T, class Allo = allocator <T>>
iterator std::safe_vector< T, Allo >::iterator::operator--   [inline]
 

00111                             {
00112       return (*this)-=1;
00113     }

template<class T, class Allo = allocator <T>>
iterator std::safe_vector< T, Allo >::iterator::operator-= int    i [inline]
 

00103                                 {
00104       (*((vector<T,Allo>::iterator *)this))-=i;
00105       check_relevance();
00106       return *this;
00107     }

template<class T, class Allo = allocator <T>>
bool std::safe_vector< T, Allo >::iterator::operator== const vector< T, Allo >::const_iterator   i [inline]
 

00077                                                              {
00078       check_relevance();
00079       return (*((vector<T,Allo>::iterator *)this))==i;
00080     }

template<class T, class Allo = allocator <T>>
bool std::safe_vector< T, Allo >::iterator::operator== const vector< T, Allo >::iterator &    i [inline]
 

00073                                                        {
00074       check_relevance();
00075       return (*((vector<T,Allo>::iterator *)this))==i;
00076     }


Member Data Documentation

template<class T, class Allo = allocator <T>>
int std::safe_vector< T, Allo >::iterator::id [private]
 

template<class T, class Allo = allocator <T>>
safe_vector<T,Allo>* std::safe_vector< T, Allo >::iterator::v [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Jul 7 21:13:57 2003 for Ethereal by doxygen1.2.15