18 #ifndef MAUVE_RUNTIME_PROPERTY_HPP 19 #define MAUVE_RUNTIME_PROPERTY_HPP 47 virtual std::string
type_name()
const = 0;
70 virtual long get()
const = 0;
72 virtual bool set(
long value) = 0;
85 bool set_value(T value);
87 long get()
const override;
88 bool set(
long value)
override;
116 virtual double get()
const = 0;
118 virtual bool set(
double value) = 0;
121 template <
typename T>
131 bool set_value(T value);
133 double get()
const override;
134 bool set(
double value)
override;
157 std::string get_value()
const;
158 bool set_value(std::string
const & value);
160 operator std::string&();
161 operator std::string()
const;
171 template <
typename T>
183 bool set_value(T value);
197 #include "ipp/IntegralProperty.ipp" 198 #include "ipp/FloatingPointProperty.ipp" 199 #include "ipp/OtherProperty.ipp" Definition: HasProperty.hpp:34
AbstractProperty(HasProperty *container, std::string const &name)
Constructor.
const std::string name
Property name.
Definition: Property.hpp:45
Abstract class for a Floating point property.
Definition: Property.hpp:102
virtual std::string type_name() const =0
Get the property type name.
Abstract class for a Integral property.
Definition: Property.hpp:56
Definition: HasProperty.hpp:32
Definition: HasProperty.hpp:53
Definition: HasProperty.hpp:33
The MAUVE namespace.
Definition: tracing.hpp:24
virtual property_type get_type() const =0
Get the property type.
property_type
Property types.
Definition: Property.hpp:29
Abstract property class.
Definition: Property.hpp:32
Definition: Property.hpp:147