File indexing completed on 2024-04-14 14:10:45

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