ActiveLib
Loading...
Searching...
No Matches
AngleValue.h
1
6#ifndef ACTIVE_SETTING_ANGLE_VALUE
7#define ACTIVE_SETTING_ANGLE_VALUE
8
9#include "Active/Setting/Values/Measurement/MeasuredValue.h"
10#include "Active/Setting/Values/Measurement/Units/AngleUnit.h"
11
12namespace active::setting {
13
24 class AngleValue : public MeasuredValue<active::measure::AngleUnit> {
25 public:
26 using MeasuredValue::operator=;
27 using enum measure::AngleType;
28
33 AngleValue(double val = 0.0) : MeasuredValue(val) {}
34
35 // MARK: - Operators
36
42 virtual utility::String operator()(const measure::AngleUnit& unit) const override;
43
50 virtual Value& assign(const utility::String& val, const measure::AngleUnit& unit) override;
51 };
52
53}
54
55#endif //ACTIVE_SETTING_ANGLE_VALUE
Definition AngleValue.h:24
virtual utility::String operator()(const measure::AngleUnit &unit) const override
Definition AngleValue.cpp:45
AngleValue(double val=0.0)
Definition AngleValue.h:33
virtual Value & assign(const utility::String &val, const measure::AngleUnit &unit) override
Definition AngleValue.cpp:79
Template specialisation of DoubleValue for values of measurement.
Definition MeasuredValue.h:85
Definition Value.h:31
A Unicode-aware string class.
Definition String.h:51
AngleType
Enumeration of known angle measurement units.
Definition AngleUnit.h:16
Definition Transportable.h:13
Definition AngleUnit.h:29