2 #ifndef __ACCSChain_H__ 3 #define __ACCSChain_H__ 53 inline void ResetCurrent() { this->pCurrentItem = (this->HasCurrentNull ? NULL : this->
pFirst); }
59 inline bool HasCurrent() {
return this->pCurrentItem != NULL; }
68 #define CHAINED_ENUMERATE(T, list, func) ACCSCHAINEDLISTITEM<T> *pCurr = list.pFirst; while (pCurr != NULL) { func(pCurr->Obj); pCurr = pCurr->pNext; } 79 this->pCurrentItem = this->pFirst;
85 if (pCurr->
pNext == NULL)
101 if (this->pFirst == NULL)
104 if (this->pCurrentItem == NULL)
106 this->pCurrentItem = this->pFirst;
110 this->pCurrentItem = this->pCurrentItem->pNext;
112 if (this->pCurrentItem == NULL && !HasCurrentNull)
113 this->pCurrentItem = this->pFirst;
ACCSCHAINEDLISTITEM< T > * pCurrentItem
ACCSCHAINEDLISTITEM< T > * pFirst
ACCSCHAINEDLISTITEM * pNext