summaryrefslogtreecommitdiff
path: root/extractor/veb.h
diff options
context:
space:
mode:
Diffstat (limited to 'extractor/veb.h')
-rw-r--r--extractor/veb.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/extractor/veb.h b/extractor/veb.h
new file mode 100644
index 00000000..c8209cf7
--- /dev/null
+++ b/extractor/veb.h
@@ -0,0 +1,29 @@
+#ifndef _VEB_H_
+#define _VEB_H_
+
+#include <memory>
+
+using namespace std;
+
+class VEB {
+ public:
+ static shared_ptr<VEB> Create(int size);
+
+ virtual void Insert(int value) = 0;
+
+ virtual int GetSuccessor(int value) = 0;
+
+ int GetMinimum();
+
+ int GetMaximum();
+
+ static int MIN_BOTTOM_BITS;
+ static int MIN_BOTTOM_SIZE;
+
+ protected:
+ VEB(int min = -1, int max = -1);
+
+ int min, max;
+};
+
+#endif