7#ifndef RIME_DB_UTILS_H_
8#define RIME_DB_UTILS_H_
17 virtual bool MetaPut(
const string& key,
const string& value) = 0;
18 virtual bool Put(
const string& key,
const string& value) = 0;
20 template <
class SourceType>
27 virtual bool MetaGet(
string* key,
string* value) = 0;
28 virtual bool Get(
string* key,
string* value) = 0;
30 template <
class SinkType>
36template <
class SourceType>
38 return source.Dump(
this);
41template <
class SinkType>
53 virtual bool MetaPut(
const string& key,
const string& value);
54 virtual bool Put(
const string& key,
const string& value);
64 virtual bool MetaGet(
string* key,
string* value);
65 virtual bool Get(
string* key,
string* value);
std::shared_ptr< T > an
Definition common.h:60
virtual bool Put(const string &key, const string &value)=0
virtual bool MetaPut(const string &key, const string &value)=0
int operator<<(SourceType &source)
Definition db_utils.h:37
virtual bool Get(string *key, string *value)=0
virtual bool MetaGet(string *key, string *value)=0
virtual ~Source()=default
int Dump(Sink *sink)
Definition db_utils.cc:12
int operator>>(SinkType &sink)
Definition db_utils.h:42
virtual bool Put(const string &key, const string &value)
Definition db_utils.cc:34
DbSink(Db *db)
Definition db_utils.cc:28
Db * db_
Definition db_utils.h:57
virtual bool MetaPut(const string &key, const string &value)
Definition db_utils.cc:30
DbSource(Db *db)
Definition db_utils.cc:38
an< DbAccessor > metadata_
Definition db_utils.h:69
virtual bool Get(string *key, string *value)
Definition db_utils.cc:45
an< DbAccessor > data_
Definition db_utils.h:70
Db * db_
Definition db_utils.h:68
virtual bool MetaGet(string *key, string *value)
Definition db_utils.cc:41