QDP++
qdp_db_stub.h
Go to the documentation of this file.
1// -*- C++ -*-
5
6#ifndef QDP_DB_STUB_H
7#define QDP_DB_STUB_H
8
9#include <vector>
10#include <string>
11#include <exception>
12#include <fcntl.h>
13
14//--------------------------------------------------------------------------------
15namespace FILEDB
16{
18 class FFDB_DBT {};
19
20
21
22 //-------------------------------------------------------------------------
27 class SerializeException : public std::exception {};
28
29
30 //-------------------------------------------------------------------------
35 {
36 public:
40 virtual ~Serializable (void) {;}
41
45 virtual const unsigned short serialID (void) const = 0;
46
50 virtual void writeObject (std::string& output) const throw (SerializeException) = 0;
51
52
56 virtual void readObject (const std::string& input) throw (SerializeException) = 0;
57
58
59 protected:
63 Serializable (void) {;}
64 };
65
66
67 //---------------------------------------------------------------------------
70
71 class DBKey : public Serializable
72 {
73 public:
77 ~DBKey (void) {;}
78
87 virtual int hasHashFunc (void) const = 0;
88
97 virtual int hasCompareFunc (void) const = 0;
98
99 protected:
103 DBKey (void) {;}
104 };
105
106
107 //--------------------------------------------------------------------------
110 class DBData : public Serializable
111 {
112 public:
116 ~DBData (void) {;}
117
118 protected:
122 DBData (void) {;}
123
124 };
125} // end namespace FILEDB
126
127
128
129//--------------------------------------------------------------------------------
130namespace QDP
131{
133 const int db_cachesize = 0;
134 const int db_pagesize = 0;
135
137// class Db;
138// class Dbt;
139
140
147
148 //--------------------------------------------------------------------------------
150
154 template<typename K, typename D>
155 class BinaryStoreDB
156 {
157 public:
161 BinaryStoreDB() {notImplemented();}
162
166 virtual ~BinaryStoreDB() {notImplemented();}
167
175 virtual void setCacheSize (const unsigned int size) {notImplemented();}
176
184 virtual void setCacheSizeMB (const unsigned int size) {notImplemented();}
185
195 virtual void setPageSize (const unsigned int size) {notImplemented();}
196
197
206 virtual void setNumberBuckets (const unsigned int num) {notImplemented();}
207
208
215 virtual void enablePageMove (void) {notImplemented();}
216
217 virtual void disablePageMove (void) {notImplemented();}
218
219
223 virtual void setMaxUserInfoLen (unsigned int len) {notImplemented();}
224
225 virtual unsigned int getMaxUserInfoLen (void) const {notImplemented();}
226
230 virtual void setMaxNumberConfigs (unsigned int num) {notImplemented();}
231
232 virtual unsigned int getMaxNumberConfigs (void) const {notImplemented();}
233
237 virtual bool fileExists (const std::string& file) const {notImplemented();}
238
239
250 virtual void open (const std::string& file, int open_flags, int mode) {notImplemented();}
251
252 virtual void close (void) {notImplemented();}
253
259 bool exist(const K& key) {notImplemented();}
260
269 void insert (const K& key, const D& data) {notImplemented();}
270
278 void insertBinary (const std::string& key, const std::string& data) {notImplemented();}
279
286 int get (K& key, D& data) {notImplemented();}
287
295 int getBinary (std::string& key, std::string& data) {notImplemented();}
296
302 virtual void keys (std::vector<K>& keys_) {notImplemented();}
303
310 virtual void keysAndData (std::vector<K>& keys_, std::vector<D>& values_) {notImplemented();}
311
318 virtual void binaryKeysAndData (std::vector<std::string> keys_,
319 std::vector<std::string> values_)
320 {notImplemented();}
321
325 virtual void flush (void) {notImplemented();}
326
332 virtual std::string storageName (void) const {notImplemented();}
333
334
341 virtual void insertUserdata (const std::string& user_data) {notImplemented();}
342
349 virtual void getUserdata (std::string& user_data) {notImplemented();}
350
351 private:
352 void notImplemented() const
353 {
354 QDPIO::cerr << "BinaryStoreDB: not implemented - this is a stub version. You must --enable-filedb in qdp++" << std::endl;
355 QDP_abort(1);
356 }
357 };
358} // namespace QDP
359
360#endif
virtual int hasCompareFunc(void) const =0
virtual int hasHashFunc(void) const =0
Forward empty decl.
Definition qdp_db_stub.h:18
virtual void readObject(const std::string &input)=0
virtual const unsigned short serialID(void) const =0
virtual void writeObject(std::string &output) const =0
virtual ~Serializable(void)
Definition qdp_db_stub.h:40
DB Base class.
Definition qdp_db_imp.h:39
virtual void close(void)
virtual unsigned int getMaxNumberConfigs(void) const
void insert(const K &key, const D &data)
virtual void enablePageMove(void)
bool exist(const K &key)
virtual void setCacheSizeMB(const unsigned int size)
virtual void setPageSize(const unsigned int size)
virtual void binaryKeysAndData(std::vector< std::string > keys_, std::vector< std::string > values_)
virtual void setMaxNumberConfigs(unsigned int num)
virtual void insertUserdata(const std::string &user_data)
virtual void keysAndData(std::vector< K > &keys_, std::vector< D > &values_)
virtual void setCacheSize(const unsigned int size)
virtual ~BinaryStoreDB()
void insertBinary(const std::string &key, const std::string &data)
virtual void getUserdata(std::string &user_data)
virtual void keys(std::vector< K > &keys_)
virtual bool fileExists(const std::string &file) const
virtual void disablePageMove(void)
virtual unsigned int getMaxUserInfoLen(void) const
virtual void flush(void)
virtual void open(const std::string &file, int open_flags, int mode)
virtual std::string storageName(void) const
virtual void setNumberBuckets(const unsigned int num)
virtual void setMaxUserInfoLen(unsigned int len)
int get(K &key, D &data)
const int db_pagesize
Definition qdp_db_imp.h:29
const int db_cachesize
Fake cache and page sizes.
Definition qdp_db_imp.h:24
int getBinary(std::string &key, std::string &data)
StandardOutputStream cerr
Definition qdp_stdio.cc:22
Yet another random number generator.
void QDP_abort(int status)
Panic button.