//RankedSetDef.h ------ PUBLIC MEMBERS AND METHODS #define memberType long #define RAType double #define largeRA HUGE_VAL #define smallRA -HUGE_VAL #define NULLmID -1L #define NULLCursor NULL struct RAandMID { RAType RM_rankingAtt; memberType RM_memberID; }; class RankedSet; class Cursor; class RankedSet { public: DestroyInstructionNE destroyInstructionNE; DestroyInstructionCC destroyInstructionCC; RankedSet(); RankedSet(DestroyInstructionNE diNE , DestroyInstructionCC diCC); ~RankedSet(); long NrInSet(){return nrInSet;} RAType MinRA(){return minRA;} memberType MIDofMin(){return mIDofMin;} RAType MaxRA(){return maxRA;} memberType MIDofMax(){return mIDofMax;} fileReturnCode fileMemberIntoSet(RAType RA,memberType mID); RAandMID removeFirstFromSet(); //returns NULLmID if not ok RAandMID removeLastFromSet(); //returns NULLmID if not ok RAandMID removeFOrLFromSet(insertLocType ilt); //used by prior two removeReturnCode removeThisFromSet(RAType RA,memberType memberID); removeReturnCode removeThisFromSet(RAandMID); RAandMID findFirst(Cursor * cuPtr); RAandMID findLast(Cursor * cuPtr); RAandMID findFirstOrLast(Cursor * cuPtr, insertLocType ilt); RAandMID findEqual(Cursor * cuPtr, RAType ra, memberType mID); RAandMID findEqualOrHigher(Cursor * cuPtr, RAType ra, memberType mID); RAandMID findEqualOrLower(Cursor * cuPtr, RAType ra, memberType mID); removeReturnCode removeThisCursorFromSet(Cursor * cuPtr); }; class Cursor { public: RAType Cu_rankingAtt(){return cu_rankingAtt;} memberType Cu_memberID(){return cu_memberID;} Cursor(); ~Cursor(); Cu_Status CuState(){return cuState;} RAandMID findNext(); RAandMID findPrior(); RAandMID findNextOrPrior(direction d); };