lux/storage/luxio_btree.h

00001 #ifndef LUX_STORAGE_LUXIOBTREE_H
00002 #define LUX_STORAGE_LUXIOBTREE_H
00003 
00004 #include <luxio/btree.h>
00005 #include "lux/lux.h"
00006 #include "lux/util.h"
00007 #include "data_unit.h"
00008 #include <cassert>
00009 #include <iostream>
00010 #include <string>
00011 
00012 namespace Lux {
00013 
00014   class LuxIOBtree {
00015   public:
00016     LuxIOBtree(void);
00017     bool open(const char *filename, db_flags_t open_flags);
00018     bool close(void);
00019     void set_index_type(IO::db_index_t index_type);
00020     void set_cmp_func(IO::CMP cmp);
00021     bool put(LuxDataUnit &key, LuxDataUnit &val);
00022     bool put(LuxDataUnit *key, LuxDataUnit *val);
00023     bool append(LuxDataUnit &key, LuxDataUnit &val);
00024     bool append(LuxDataUnit *key, LuxDataUnit *val);
00025     bool get(LuxDataUnit &key, LuxDataUnit &val);
00026     bool get(LuxDataUnit *key, LuxDataUnit *val);
00027     bool del(LuxDataUnit &key);
00028     bool del(LuxDataUnit *key);
00029 
00030   protected:
00031     ~LuxIOBtree(void);
00032 
00033   private:
00034     IO::Btree *bt_;
00035   };
00036 
00037 }
00038 
00039 #endif

Generated on Fri Feb 5 15:50:30 2010 for Lux by  doxygen 1.4.7