jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Classes | Public Member Functions | Private Attributes | List of all members
jubatus::core::common::jsonconfig::config Class Reference

#include <config.hpp>

Collaboration diagram for jubatus::core::common::jsonconfig::config:
Collaboration graph

Classes

class  iterator
 

Public Member Functions

template<typename T >
As () const
 
iterator begin () const
 
 config ()
 
 config (const jubatus::util::text::json::json &j)
 
 config (const jubatus::util::text::json::json &j, const std::string &path)
 
bool contain (const std::string &key) const
 
iterator end () const
 
const jubatus::util::text::json::json & get () const
 
template<class T >
bool is () const
 
config operator[] (size_t index) const
 
config operator[] (const std::string &key) const
 
const std::string & path () const
 
size_t size () const
 
jubatus::util::text::json::json::json_type_t type () const
 

Private Attributes

jubatus::util::text::json::json json_
 
std::string path_
 

Detailed Description

Definition at line 40 of file config.hpp.

Constructor & Destructor Documentation

jubatus::core::common::jsonconfig::config::config ( )
inline

Definition at line 44 of file config.hpp.

Referenced by operator[](), and jubatus::core::common::jsonconfig::config::iterator::value().

45  : json_() {
46  }
jubatus::util::text::json::json json_
Definition: config.hpp:134

Here is the caller graph for this function:

jubatus::core::common::jsonconfig::config::config ( const jubatus::util::text::json::json &  j)
inlineexplicit

Definition at line 48 of file config.hpp.

49  : json_(j) {
50  }
jubatus::util::text::json::json json_
Definition: config.hpp:134
jubatus::core::common::jsonconfig::config::config ( const jubatus::util::text::json::json &  j,
const std::string &  path 
)
inline

Definition at line 52 of file config.hpp.

53  : json_(j),
54  path_(path) {
55  }
jubatus::util::text::json::json json_
Definition: config.hpp:134
const std::string & path() const
Definition: config.hpp:75

Member Function Documentation

template<typename T >
T jubatus::core::common::jsonconfig::config::As ( ) const
inline

Definition at line 58 of file config.hpp.

References jubatus::core::common::jsonconfig::config_cast().

58  {
59  return config_cast<T>(*this);
60  }
T config_cast(const config &c)
Definition: cast.hpp:296

Here is the call graph for this function:

config::iterator jubatus::core::common::jsonconfig::config::begin ( ) const

Definition at line 94 of file config.cpp.

References json_.

Referenced by jubatus::core::common::jsonconfig::serialize().

94  {
95  return iterator(*this, json_.begin());
96 }
jubatus::util::text::json::json json_
Definition: config.hpp:134

Here is the caller graph for this function:

bool jubatus::core::common::jsonconfig::config::contain ( const std::string &  key) const

Definition at line 77 of file config.cpp.

References json_, JUBATUS_EXCEPTION, path_, and type().

Referenced by jubatus::core::common::jsonconfig::serialize().

77  {
78  if (type() != jubatus::util::text::json::json::Object) {
79  throw JUBATUS_EXCEPTION(
80  type_error(path_, jubatus::util::text::json::json::Object, type()));
81  }
82  return json_.count(key) > 0;
83 }
jubatus::util::text::json::json json_
Definition: config.hpp:134
jubatus::util::text::json::json::json_type_t type() const
Definition: config.hpp:84
#define JUBATUS_EXCEPTION(e)
Definition: exception.hpp:79

Here is the call graph for this function:

Here is the caller graph for this function:

config::iterator jubatus::core::common::jsonconfig::config::end ( ) const

Definition at line 98 of file config.cpp.

References json_.

Referenced by jubatus::core::common::jsonconfig::serialize().

98  {
99  return iterator(*this, json_.end());
100 }
jubatus::util::text::json::json json_
Definition: config.hpp:134

Here is the caller graph for this function:

const jubatus::util::text::json::json& jubatus::core::common::jsonconfig::config::get ( ) const
inline

Definition at line 72 of file config.hpp.

References json_.

Referenced by jubatus::core::common::jsonconfig::json_config_iarchive_cast::get(), and jubatus::core::common::jsonconfig::serialize().

72  {
73  return json_;
74  }
jubatus::util::text::json::json json_
Definition: config.hpp:134

Here is the caller graph for this function:

template<class T >
bool jubatus::core::common::jsonconfig::config::is ( ) const
inline

Definition at line 80 of file config.hpp.

References json_.

80  {
81  return jubatus::util::text::json::is<T>(json_);
82  }
jubatus::util::text::json::json json_
Definition: config.hpp:134
config jubatus::core::common::jsonconfig::config::operator[] ( size_t  index) const

Definition at line 49 of file config.cpp.

References config(), json_, JUBATUS_EXCEPTION, path_, and type().

49  {
50  try {
51  if (index < json_.size()) {
52  std::ostringstream os;
53  os << path_ << "[" << index << "]";
54  return config(json_[index], os.str());
55  } else {
56  throw JUBATUS_EXCEPTION(out_of_range(path_, json_.size(), index));
57  }
58  } catch (const std::bad_cast& e) {
59  throw JUBATUS_EXCEPTION(
60  type_error(path_, jubatus::util::text::json::json::Array, type()));
61  }
62 }
jubatus::util::text::json::json json_
Definition: config.hpp:134
jubatus::util::text::json::json::json_type_t type() const
Definition: config.hpp:84
#define JUBATUS_EXCEPTION(e)
Definition: exception.hpp:79

Here is the call graph for this function:

config jubatus::core::common::jsonconfig::config::operator[] ( const std::string &  key) const

Definition at line 64 of file config.cpp.

References config(), json_, JUBATUS_EXCEPTION, path_, and type().

64  {
65  try {
66  std::ostringstream os;
67  os << path_ << "." << key;
68  return config(json_[key], os.str());
69  } catch (const std::out_of_range& e) {
70  throw JUBATUS_EXCEPTION(not_found(path_, key));
71  } catch (const std::bad_cast& e) {
72  throw JUBATUS_EXCEPTION(
73  type_error(path_, jubatus::util::text::json::json::Object, type()));
74  }
75 }
jubatus::util::text::json::json json_
Definition: config.hpp:134
jubatus::util::text::json::json::json_type_t type() const
Definition: config.hpp:84
#define JUBATUS_EXCEPTION(e)
Definition: exception.hpp:79

Here is the call graph for this function:

const std::string& jubatus::core::common::jsonconfig::config::path ( ) const
inline

Definition at line 75 of file config.hpp.

References path_.

Referenced by jubatus::core::common::jsonconfig::detail::check_json_float(), jubatus::core::common::jsonconfig::detail::check_json_type(), and jubatus::core::common::jsonconfig::serialize().

75  {
76  return path_;
77  }

Here is the caller graph for this function:

size_t jubatus::core::common::jsonconfig::config::size ( ) const

Definition at line 85 of file config.cpp.

References json_, JUBATUS_EXCEPTION, path_, and type().

85  {
86  try {
87  return json_.size();
88  } catch (const std::bad_cast& e) {
89  throw JUBATUS_EXCEPTION(
90  type_error(path_, jubatus::util::text::json::json::Array, type()));
91  }
92 }
jubatus::util::text::json::json json_
Definition: config.hpp:134
jubatus::util::text::json::json::json_type_t type() const
Definition: config.hpp:84
#define JUBATUS_EXCEPTION(e)
Definition: exception.hpp:79

Here is the call graph for this function:

jubatus::util::text::json::json::json_type_t jubatus::core::common::jsonconfig::config::type ( ) const
inline

Definition at line 84 of file config.hpp.

References json_.

Referenced by contain(), jubatus::core::bandit::bandit_factory::create(), jubatus::core::classifier::classifier_factory::create_classifier(), operator[](), and size().

84  {
85  return json_.type();
86  }
jubatus::util::text::json::json json_
Definition: config.hpp:134

Here is the caller graph for this function:

Member Data Documentation

jubatus::util::text::json::json jubatus::core::common::jsonconfig::config::json_
private

Definition at line 134 of file config.hpp.

Referenced by begin(), contain(), end(), get(), is(), operator[](), size(), and type().

std::string jubatus::core::common::jsonconfig::config::path_
private

Definition at line 135 of file config.hpp.

Referenced by contain(), operator[](), path(), and size().


The documentation for this class was generated from the following files: