std::vector<std::string> get_all_rows() { JRLOCK_(p_); return get_p()->get_all_rows(); }
bool push(const std::string& key, double value) { JWLOCK_(p_); return get_p()->push(key, value); }
bool save(const std::string& id) { JRLOCK_(p_); return get_p()->save(id); }
config_data get_config(std::string name) //analysis random { JRLOCK__(p_); RETURN_OR_THROW(get_p()->get_config()); }
int32_t train(const std::vector<scored_datum>& train_data) { JWLOCK_(p_); return get_p()->train(train_data); }
bool clear() { JWLOCK_(p_); return get_p()->clear(); }
float PID::get_pi(float error) { return get_p(error) + get_i(error, 0); }
double entropy(const std::string& key) { JRLOCK_(p_); return get_p()->entropy(key); }
double moment(std::string name, std::string key, int n, double c) //analysis cht(1) { JRLOCK__(p_); RETURN_OR_THROW(get_p()->moment(key, n, c)); }
bool load(std::string name, std::string id) //update broadcast { JWLOCK__(p_); RETURN_OR_THROW(get_p()->load(id)); }
double entropy(std::string name, std::string key) //analysis cht(1) { JRLOCK__(p_); RETURN_OR_THROW(get_p()->entropy(key)); }
double stddev(std::string name, std::string key) //analysis cht(1) { JRLOCK__(p_); RETURN_OR_THROW(get_p()->stddev(key)); }
bool push(std::string name, std::string key, double val) //update cht(1) { JWLOCK__(p_); RETURN_OR_THROW(get_p()->push(key, val)); }
double stddev(const std::string& key) { JRLOCK_(p_); return get_p()->stddev(key); }
int32_t APM_PI::get_pi(int32_t error, float dt) { return get_p(error) + get_i(error, dt); }
double min(const std::string& key) { JRLOCK_(p_); return get_p()->min(key); }
bool clear_row(const std::string& id) { JWLOCK_(p_); return get_p()->clear_row(id); }
double moment(const std::string& key, int32_t degree, double center) { JRLOCK_(p_); return get_p()->moment(key, degree, center); }
id_with_score add(const jubatus::core::fv_converter::datum& row) { NOLOCK_(p_); return get_p()->add(row); }
std::vector<float> estimate( const std::vector<jubatus::core::fv_converter::datum>& estimate_data) { JRLOCK_(p_); return get_p()->estimate(estimate_data); }
float overwrite(const std::string& id, const jubatus::core::fv_converter::datum& row) { JWLOCK_(p_); return get_p()->overwrite(id, row); }
std::string get_config() { JRLOCK_(p_); return get_p()->get_config(); }
float calc_score(const jubatus::core::fv_converter::datum& row) { JRLOCK_(p_); return get_p()->calc_score(row); }
bool load(const std::string& id) { JWLOCK_(p_); return get_p()->load(id); }
bool set_config(std::string name, config_data c) //update broadcast { JWLOCK__(p_); RETURN_OR_THROW(get_p()->set_config(c)); }