Fixed error: Syscall param write(buf) points to uninitialised byte(s)
[SXSI/XMLTree.git] / libcds / src / static_sequence / wt_coder.h
index 1a55397..5f6d436 100644 (file)
@@ -36,6 +36,9 @@ using namespace std;
  */
 class wt_coder {
        public:
+               wt_coder();
+               virtual void use();
+               virtual void unuse();
     virtual ~wt_coder() {}; 
     /** Tells if at level l the symbol is represented by a one or a zero */
                virtual bool is_set(uint symbol, uint l)=0;
@@ -43,10 +46,16 @@ class wt_coder {
                virtual bool done(uint symbol, uint l)=0;
     /** Returns the size of the coder */
     virtual uint size()=0;
+    /** Returns the depth of the tree */
+    virtual uint depth() {
+        return -1; // Implemented in wt_coder_binary
+    }
     /** Saves the coder to a file, returns 0 in case of success */
     virtual uint save(FILE *fp)=0;
     /** Loads a coder from a file, returns NULL in case of error */
     static wt_coder * load(FILE *fp);
+       protected:
+               uint user_count;
 };
 
 #include <wt_coder_huff.h>