#include <vecincaccess.h>
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 > |
Definition at line 103 of file vecincaccess.h.
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){}
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 }
friend class VecIncAccess< _Data > [friend] |
Definition at line 105 of file vecincaccess.h.
std::vector<Node>::const_iterator VecIncAccess< _Data >::cyclic_iterator::it [private] |
Definition at line 108 of file vecincaccess.h.
VecIncAccess<_Data>* VecIncAccess< _Data >::cyclic_iterator::p [private] |
Definition at line 107 of file vecincaccess.h.
bool VecIncAccess< _Data >::cyclic_iterator::wentToFirst [private] |
Definition at line 109 of file vecincaccess.h.