17 #ifndef JUBATUS_CORE_COMMON_JSONCONFIG_CONFIG_HPP_
18 #define JUBATUS_CORE_COMMON_JSONCONFIG_CONFIG_HPP_
25 #include "jubatus/util/text/json.h"
26 #include "jubatus/util/lang/cast.h"
33 namespace jsonconfig {
48 explicit config(
const jubatus::util::text::json::json& j)
52 config(
const jubatus::util::text::json::json& j,
const std::string&
path)
66 bool contain(
const std::string& key)
const;
68 iterator
begin()
const;
72 const jubatus::util::text::json::json&
get()
const {
75 const std::string&
path()
const {
81 return jubatus::util::text::json::is<T>(
json_);
84 jubatus::util::text::json::json::json_type_t
type()
const {
94 const jubatus::util::text::json::json::const_iterator& it);
96 const std::string&
key()
const;
105 return !(*
this == it);
108 std::pair<const std::string, jubatus::util::text::json::json>
113 const std::pair<const std::string, jubatus::util::text::json::json>*
115 return it_.operator->();
130 jubatus::util::text::json::json::const_iterator
it_;
134 jubatus::util::text::json::json
json_;
143 #endif // JUBATUS_CORE_COMMON_JSONCONFIG_CONFIG_HPP_
jubatus::util::text::json::json json_
bool operator==(const iterator &it) const
bool contain(const std::string &key) const
bool operator!=(const iterator &it) const
const iterator & operator++()
const std::pair< const std::string, jubatus::util::text::json::json > * operator->() const
config operator[](size_t index) const
std::pair< const std::string, jubatus::util::text::json::json > operator*() const
jubatus::util::text::json::json::json_type_t type() const
const iterator operator++(int)
jubatus::util::text::json::json::const_iterator it_
iterator(const iterator &)
jubatus::util::text::json::json::const_iterator iterator_base
config(const jubatus::util::text::json::json &j)
T config_cast(const config &c)
const std::string & key() const
config(const jubatus::util::text::json::json &j, const std::string &path)
const std::string & path() const