17 #ifndef JUBATUS_CORE_COMMON_KEY_MANAGER_HPP_
18 #define JUBATUS_CORE_COMMON_KEY_MANAGER_HPP_
26 #include <msgpack.hpp>
27 #include "jubatus/util/data/unordered_map.h"
54 uint64_t
get_id(
const std::string& key);
56 const std::string&
get_key(
const uint64_t
id)
const;
59 bool set_key(
const std::string& key);
67 typedef jubatus::util::data::unordered_map<std::string, uint64_t> key2id_t;
69 for (key2id_t::const_iterator it = km.
key2id_.begin();
72 os << it->first <<
":" << it->second <<
", ";
83 util::data::unordered_map<std::string, uint64_t>
key2id_;
84 util::data::unordered_map<uint64_t, std::string>
id2key_;
95 #endif // JUBATUS_CORE_COMMON_KEY_MANAGER_HPP_
uint64_t get_id_const(const std::string &key) const
void swap(byte_buffer &one, byte_buffer &another)
MSGPACK_DEFINE(key2id_, id2key_, next_id_)
void init_by_id2key(const std::vector< std::string > &id2key)
bool set_key(const std::string &key)
util::data::unordered_map< uint64_t, std::string > id2key_
uint64_t get_max_id() const
const std::string & get_key(const uint64_t id) const
util::data::unordered_map< std::string, uint64_t > key2id_
friend std::ostream & operator<<(std::ostream &os, const key_manager &km)
uint64_t get_id(const std::string &key)
uint64_t append_key(const std::string &key)
void delete_key(const std::string &name)
std::vector< std::string > get_all_id2key() const
void swap(key_manager &km)