implement toggle/number/text values

Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
folling 2023-11-26 13:55:14 +01:00 committed by Folling
parent ea221cdf85
commit ff9bf0c14a
Signed by: folling
SSH key fingerprint: SHA256:S9qEx5WCFFLK49tE/LKnKuJYM5sw+++Dn6qJbbyxnCY
14 changed files with 280 additions and 48 deletions

View file

@ -2,7 +2,32 @@
#include <string>
#include <values/value.hpp>
/// \private
struct IkarusTextValue {
std::string value;
struct IkarusTextValue final : IkarusValue {
public:
explicit IkarusTextValue(std::string value):
IkarusValue{this},
_value(std::move(value)) {}
IkarusTextValue(IkarusTextValue const&) = default;
IkarusTextValue(IkarusTextValue&&) noexcept = default;
IkarusTextValue& operator=(IkarusTextValue const&) = default;
IkarusTextValue& operator=(IkarusTextValue&&) noexcept = default;
~IkarusTextValue() override = default;
public:
[[nodiscard]] std::string_view get_value() const noexcept {
return _value;
}
void set_value(std::string_view value) {
_value = value;
}
private:
std::string _value;
};