00001 00012 #ifndef _ITERATOR_ 00013 #define _ITERATOR_ 00014 00018 typedef struct sIterator 00019 { 00021 int capacity; 00023 int size; 00025 int pos; 00027 void** values; 00028 }SIterator; 00029 00033 typedef SIterator* Iterator; 00034 00035 //############################################################################## 00036 00045 Iterator newIt(int size); 00046 00054 void itDelete(Iterator it); 00055 00067 int itAdd(Iterator it,void* val); 00068 00081 int itNext(Iterator it,void** val); 00082 00091 int itHasNext(Iterator it); 00092 00105 int itPrev(Iterator it,void** val); 00106 00115 int itHasPrev(Iterator it); 00116 00129 int itAt(Iterator it,int index,void** val); 00130 00142 int itSetPos(Iterator it,int n); 00143 00152 int itGetPos(Iterator it); 00153 00154 #endif