fixup compile errors and allow fetching property properly from cache

Signed-off-by: Folling <mail@folling.io>
This commit is contained in:
Folling 2023-11-27 13:13:54 +01:00 committed by Folling
parent 92d97861e6
commit 78a15b759d
Signed by: folling
SSH key fingerprint: SHA256:S9qEx5WCFFLK49tE/LKnKuJYM5sw+++Dn6qJbbyxnCY
21 changed files with 213 additions and 122 deletions

View file

@ -9,6 +9,25 @@
#include <values/toggle_value.hpp>
#include <values/value.hpp>
IkarusValue::IkarusValue(Data data):
_data(data) {}
bool IkarusValue::is_interminate() const {
return _indeterminate;
}
void IkarusValue::set_intermediate(bool value) {
_indeterminate = value;
}
IkarusValue::Data& IkarusValue::get_data() {
return _data;
}
IkarusValue::Data const& IkarusValue::get_data() const {
return _data;
}
bool ikarus_value_is_indeterminate(IkarusValue const * value) {
return value->is_interminate();
}
@ -20,9 +39,9 @@ void ikarus_value_set_indeterminate(IkarusValue * value, bool indeterminate) {
char const * ikarus_value_to_string(IkarusValue const * value) {
auto const str = std::visit(
cppbase::overloaded{
[](IkarusToggleValue const * toggle_value) -> std::string { return toggle_value->value ? "true" : "false"; },
[](IkarusNumberValue const * number_value) -> std::string { return fmt::format("{}", number_value->value); },
[](IkarusTextValue const * text_value) -> std::string { return fmt::format("{}", text_value->value); },
[](IkarusToggleValue const * toggle_value) -> std::string { return toggle_value->get_value() ? "true" : "false"; },
[](IkarusNumberValue const * number_value) -> std::string { return fmt::format("{}", number_value->get_value()); },
[](IkarusTextValue const * text_value) -> std::string { return fmt::format("{}", text_value->get_value()); },
},
value->get_data()
);