add min max def to properties
This commit is contained in:
@@ -77,15 +77,30 @@ class hrp : public boost::serialization::wrapper_traits<hrp<T>> {
|
||||
const char *m_name;
|
||||
const char *m_units;
|
||||
T &m_value;
|
||||
bool m_has_range;
|
||||
T m_min;
|
||||
T m_max;
|
||||
bool m_has_default;
|
||||
T m_default;
|
||||
|
||||
public:
|
||||
explicit hrp(const char *name_, T &t, const char* units_ = nullptr) : m_name(name_), m_units(units_), m_value(t) {}
|
||||
explicit hrp(const char *name_, T &t, const char* units_ = nullptr)
|
||||
: m_name(name_), m_units(units_), m_value(t), m_has_range(false), m_has_default(false) {}
|
||||
|
||||
hrp& range(const T& min_val, const T& max_val) { m_min = min_val; m_max = max_val; m_has_range = true; return *this; }
|
||||
hrp& set_default(const T& def_val) { m_default = def_val; m_has_default = true; return *this; }
|
||||
|
||||
const char *name() const { return this->m_name; }
|
||||
const char *units() const { return this->m_units; }
|
||||
T &value() { return this->m_value; }
|
||||
const T &const_value() const { return this->m_value; }
|
||||
|
||||
bool has_range() const { return m_has_range; }
|
||||
const T& min_val() const { return m_min; }
|
||||
const T& max_val() const { return m_max; }
|
||||
bool has_default() const { return m_has_default; }
|
||||
const T& default_val() const { return m_default; }
|
||||
|
||||
BOOST_SERIALIZATION_SPLIT_MEMBER()
|
||||
|
||||
template <class Archivex>
|
||||
@@ -110,16 +125,23 @@ class hrp_enum : public boost::serialization::wrapper_traits<hrp_enum<T>> {
|
||||
const char *m_units;
|
||||
T &m_value;
|
||||
std::vector<std::string> m_labels;
|
||||
bool m_has_default;
|
||||
T m_default;
|
||||
|
||||
public:
|
||||
explicit hrp_enum(const char *name_, T &t, const std::vector<std::string>& labels, const char* units_ = nullptr)
|
||||
: m_name(name_), m_units(units_), m_value(t), m_labels(labels) {}
|
||||
: m_name(name_), m_units(units_), m_value(t), m_labels(labels), m_has_default(false) {}
|
||||
|
||||
hrp_enum& set_default(const T& def_val) { m_default = def_val; m_has_default = true; return *this; }
|
||||
|
||||
const char *name() const { return this->m_name; }
|
||||
const char *units() const { return this->m_units; }
|
||||
T &value() { return this->m_value; }
|
||||
const std::vector<std::string>& labels() const { return m_labels; }
|
||||
|
||||
bool has_default() const { return m_has_default; }
|
||||
const T& default_val() const { return m_default; }
|
||||
|
||||
BOOST_SERIALIZATION_SPLIT_MEMBER()
|
||||
|
||||
template <class Archivex>
|
||||
|
||||
Reference in New Issue
Block a user