File indexing completed on 2024-04-21 03:44:00
0001 #ifndef _HTMHANGE_H_ 0002 #define _HTMHANGE_H_ 0003 0004 #include <SkipList.h> 0005 0006 enum InclusionType 0007 { 0008 InclOutside = 0, 0009 InclInside, 0010 InclLo, /* number is on low end of an interval */ 0011 InclHi, /* number is on high end of an interval */ 0012 InclAdjacentXXX 0013 }; 0014 0015 class LINKAGE HtmRange 0016 { 0017 public: 0018 HtmRange(); 0019 ~HtmRange(); 0020 0021 int getNext(Key *lo, Key *hi); 0022 0023 void mergeRange(const Key lo, const Key hi); 0024 void reset(); 0025 0026 protected: 0027 InclusionType tinside(const Key mid) const; 0028 0029 private: 0030 SkipList *my_los; 0031 SkipList *my_his; 0032 }; 0033 0034 #endif