11 #include <boost/function.hpp>
12 #include <tbb/mutex.h>
26 typedef boost::function<DBTableBase *(DB *, const std::string &)>
28 typedef std::map<std::string, DBTableBase *>
TableMap;
71 return tables_.lower_bound(name);
76 return tables_.lower_bound(name);
82 typedef std::map<std::string, CreateFunction>
FactoryMap;
83 typedef std::map<std::string, DBGraph *>
GraphMap;
const_iterator const_end()
static FactoryMap * factories()
static void SetPartitionCount(int partition_count)
void SetQueueDisable(bool disable)
std::unique_ptr< DBTableWalkMgr > walk_mgr_
std::map< std::string, DBTableBase * > TableMap
bool IsDBQueueEmpty() const
DBTableBase * CreateTable(const std::string &name)
DISALLOW_COPY_AND_ASSIGN(DB)
iterator FindTableIter(const std::string &name)
std::map< std::string, DBGraph * > GraphMap
void RemoveTable(DBTableBase *tbl_base)
std::vector< DBPartition * > partitions_
static void ClearFactoryRegistry()
const_iterator const_lower_bound(const std::string &name)
DBTableWalker * GetWalker()
const_iterator const_begin()
TableMap::iterator iterator
TableMap::const_iterator const_iterator
iterator lower_bound(const std::string &name)
DBGraph * GetGraph(const std::string &name)
static int partition_count_
std::unique_ptr< DBTableWalker > walker_
boost::function< DBTableBase *(DB *, const std::string &)> CreateFunction
void AddTable(DBTableBase *tbl_base)
static int PartitionCount()
DBTableWalkMgr * GetWalkMgr()
void SetGraph(const std::string &name, DBGraph *graph)
std::map< std::string, CreateFunction > FactoryMap
DBPartition * GetPartition(int index)
DBTableBase * FindTable(const std::string &name)
static void RegisterFactory(const std::string &prefix, CreateFunction create_fn)