VecIncAccess< _Data >::cyclic_iterator Class Reference

#include <vecincaccess.h>

Collaboration diagram for VecIncAccess< _Data >::cyclic_iterator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

const _Data * search (Index index)

Protected Member Functions

 cyclic_iterator (VecIncAccess< _Data > *p, typename std::vector< Node >::const_iterator it)

Private Attributes

VecIncAccess< _Data > * p
std::vector< Node >::const_iterator it
bool wentToFirst

Friends

class VecIncAccess< _Data >

Detailed Description

template<class _Data>
class VecIncAccess< _Data >::cyclic_iterator

Definition at line 103 of file vecincaccess.h.


Constructor & Destructor Documentation

template<class _Data>
VecIncAccess< _Data >::cyclic_iterator::cyclic_iterator ( VecIncAccess< _Data > *  p,
typename std::vector< Node >::const_iterator  it 
) [inline, protected]

Definition at line 111 of file vecincaccess.h.

00113     :p(p),it(it),wentToFirst(false){}


Member Function Documentation

template<class _Data>
const _Data* VecIncAccess< _Data >::cyclic_iterator::search ( Index  index  )  [inline]

Definition at line 116 of file vecincaccess.h.

00117     {
00118       if (wentToFirst)
00119       {
00120         if (index > it->index)
00121           return NULL;
00122         else if (index < it->index)
00123         {
00124           wentToFirst=false;
00125           return NULL;
00126         }
00127         else
00128         {
00129           wentToFirst=false;
00130           return &(it->data);
00131         }
00132       }
00133       if (index < it->index)
00134         return  NULL;
00135       else if (index == it->index)
00136         return &(it->data);
00137       else
00138       {
00139         it++;
00140         if (it->index == INDEX_MAX)
00141         {
00142           it =p->begin();
00143           wentToFirst=1;
00144         }
00145         else
00146         {
00147           if (index < it->index)
00148             return NULL;
00149           else
00150           {
00151             assert(index == it->index);
00152             return &(it->data);
00153           }
00154         }
00155       }
00156 
00157 
00158     }


Friends And Related Function Documentation

template<class _Data>
friend class VecIncAccess< _Data > [friend]

Definition at line 105 of file vecincaccess.h.


Member Data Documentation

template<class _Data>
std::vector<Node>::const_iterator VecIncAccess< _Data >::cyclic_iterator::it [private]

Definition at line 108 of file vecincaccess.h.

template<class _Data>
VecIncAccess<_Data>* VecIncAccess< _Data >::cyclic_iterator::p [private]

Definition at line 107 of file vecincaccess.h.

template<class _Data>
bool VecIncAccess< _Data >::cyclic_iterator::wentToFirst [private]

Definition at line 109 of file vecincaccess.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Sun Apr 8 23:13:33 2012 for CO2INJECTION by  doxygen 1.6.3