File indexing completed on 2024-04-21 03:44:00
0001 #ifndef _HTMHANGEITERATOR_H_ 0002 #define _HTMHANGEITERATOR_H_ 0003 0004 #include <HtmRange.h> 0005 0006 class HtmRangeIterator 0007 { 0008 public: 0009 Key next(); 0010 char *nextSymbolic(char *buffer); /* User responsible for managing it */ 0011 bool hasNext(); 0012 HtmRangeIterator(HtmRange *ran) 0013 { 0014 range = ran; 0015 range->reset(); 0016 range->getNext(&currange[0], &currange[1]); 0017 nextval = currange[0] - 1; 0018 getNext(); 0019 } 0020 0021 protected: 0022 HtmRange *range; 0023 void getNext(); 0024 0025 private: 0026 Key nextval; 0027 Key currange[2] { 0 }; /* Low and High */ 0028 HtmRangeIterator() : range(nullptr), nextval(-1) {} 0029 }; 0030 0031 #endif