Added rankLessThan
authornvalimak <nvalimak@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 10 Mar 2009 19:08:20 +0000 (19:08 +0000)
committernvalimak <nvalimak@3cdefd35-fc62-479d-8e8d-bae585ffb9ca>
Tue, 10 Mar 2009 19:08:20 +0000 (19:08 +0000)
git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@236 3cdefd35-fc62-479d-8e8d-bae585ffb9ca

libcds/src/static_sequence/wt_node.h

index 9e758a3..7bfa975 100644 (file)
@@ -37,8 +37,15 @@ class wt_node {
        public:
     virtual ~wt_node() {} 
                virtual uint rank(uint symbol, uint pos, uint l, wt_coder * c)=0;
        public:
     virtual ~wt_node() {} 
                virtual uint rank(uint symbol, uint pos, uint l, wt_coder * c)=0;
+               virtual uint rankLessThan(uint &symbol, uint pos, uint level, wt_coder * c) = 0;
+               virtual uint rankLessThan(uint &symbol, uint pos) = 0;
                virtual uint select(uint symbol, uint pos, uint l, wt_coder * c)=0;
                virtual uint access(uint pos)=0;
                virtual uint select(uint symbol, uint pos, uint l, wt_coder * c)=0;
                virtual uint access(uint pos)=0;
+               virtual uint access(uint pos, uint &rank)
+                {
+                    assert(0); // Implemented only in wt_node_internal
+                    return -1;
+                }
                virtual uint size()=0;
     virtual uint save(FILE *fp)=0;
     static wt_node * load(FILE *fp);
                virtual uint size()=0;
     virtual uint save(FILE *fp)=0;
     static wt_node * load(FILE *fp);