8 #ifndef SCARAB_PARAM_BASE_IMPL_HH_ 9 #define SCARAB_PARAM_BASE_IMPL_HH_ 65 throw error() <<
"Param object is not a value";
71 throw error() <<
"Param object is not an array";
77 throw error() <<
"Param object is not a node";
83 throw error() <<
"Param object is not a value";
89 throw error() <<
"Param object is not an array";
95 throw error() <<
"Param object is not a node";
128 inline std::string
param::get_value(
const std::string& a_name,
const std::string& a_default )
const 133 inline std::string
param::get_value(
const std::string& a_name,
const char* a_default )
const 138 template<
typename XValType >
144 inline std::string
param::get_value(
unsigned a_index,
const std::string& a_default )
const 154 template<
typename XValType >
162 return std::string();
virtual bool is_node() const
param & operator=(const param &rhs)
std::string get_value(unsigned a_index, const std::string &a_default) const
virtual bool is_value() const
virtual std::string to_string() const
std::string get_value(const std::string &a_name, const std::string &a_default) const
const param_value & operator()() const
Assumes that the parameter is a value, and returns a reference to itself.
const param & operator[](unsigned a_index) const
virtual bool is_null() const
std::unique_ptr< param > param_ptr_t
virtual param_ptr_t move_clone()
std::string get_value(const std::string &a_name, const std::string &a_default) const
virtual param_ptr_t clone() const
virtual bool is_array() const