diff options
Diffstat (limited to 'core/src/Model/Workflow/Values')
-rw-r--r-- | core/src/Model/Workflow/Values/BasicValues.cpp | 54 | ||||
-rw-r--r-- | core/src/Model/Workflow/Values/BasicValues.hpp | 9 |
2 files changed, 42 insertions, 21 deletions
diff --git a/core/src/Model/Workflow/Values/BasicValues.cpp b/core/src/Model/Workflow/Values/BasicValues.cpp index 11d30b7..3f58de8 100644 --- a/core/src/Model/Workflow/Values/BasicValues.cpp +++ b/core/src/Model/Workflow/Values/BasicValues.cpp @@ -3,16 +3,19 @@ #include <charconv> #include <limits> -bool NumericValue::IsInstance(const BaseValue* value) { +bool NumericValue::IsInstance(const BaseValue* value) +{ return value->GetKind() == KD_Numeric; } NumericValue::NumericValue() - : BaseValue(BaseValue::KD_Numeric) { + : BaseValue(BaseValue::KD_Numeric) +{ } template <class T> -static std::string NumberToString(T value) { +static std::string NumberToString(T value) +{ constexpr auto kSize = std::numeric_limits<T>::max_digits10; char buf[kSize]; @@ -24,55 +27,68 @@ static std::string NumberToString(T value) { } } -std::string NumericValue::GetTruncatedString() const { +std::string NumericValue::GetTruncatedString() const +{ return ::NumberToString((int64_t)mValue); } -std::string NumericValue::GetRoundedString() const { +std::string NumericValue::GetRoundedString() const +{ return ::NumberToString((int64_t)std::round(mValue)); } -std::string NumericValue::GetString() const { +std::string NumericValue::GetString() const +{ return ::NumberToString(mValue); } -int64_t NumericValue::GetInt() const { +int64_t NumericValue::GetInt() const +{ return static_cast<int64_t>(mValue); } -double NumericValue::GetValue() const { +double NumericValue::GetValue() const +{ return mValue; } -void NumericValue::SetValue(double value) { +void NumericValue::SetValue(double value) +{ mValue = value; } -bool TextValue::IsInstance(const BaseValue* value) { +bool TextValue::IsInstance(const BaseValue* value) +{ return value->GetKind() == KD_Text; } TextValue::TextValue() - : BaseValue(BaseValue::KD_Text) { + : BaseValue(BaseValue::KD_Text) +{ } -const std::string& TextValue::GetValue() const { +const std::string& TextValue::GetValue() const +{ return mValue; } -void TextValue::SetValue(const std::string& value) { +void TextValue::SetValue(const std::string& value) +{ mValue = value; } -bool DateTimeValue::IsInstance(const BaseValue* value) { +bool DateTimeValue::IsInstance(const BaseValue* value) +{ return value->GetKind() == KD_DateTime; } DateTimeValue::DateTimeValue() - : BaseValue(BaseValue::KD_DateTime) { + : BaseValue(BaseValue::KD_DateTime) +{ } -std::string DateTimeValue::GetString() const { +std::string DateTimeValue::GetString() const +{ namespace chrono = std::chrono; auto t = chrono::system_clock::to_time_t(mValue); @@ -82,10 +98,12 @@ std::string DateTimeValue::GetString() const { return std::string(data); } -const std::chrono::time_point<std::chrono::system_clock>& DateTimeValue::GetValue() const { +const std::chrono::time_point<std::chrono::system_clock>& DateTimeValue::GetValue() const +{ return mValue; } -void DateTimeValue::SetValue(const std::chrono::time_point<std::chrono::system_clock>& value) { +void DateTimeValue::SetValue(const std::chrono::time_point<std::chrono::system_clock>& value) +{ mValue = value; } diff --git a/core/src/Model/Workflow/Values/BasicValues.hpp b/core/src/Model/Workflow/Values/BasicValues.hpp index e2e990d..795876e 100644 --- a/core/src/Model/Workflow/Values/BasicValues.hpp +++ b/core/src/Model/Workflow/Values/BasicValues.hpp @@ -6,7 +6,8 @@ #include <cstdint> #include <string> -class NumericValue : public BaseValue { +class NumericValue : public BaseValue +{ private: double mValue; @@ -23,7 +24,8 @@ public: void SetValue(double value); }; -class TextValue : public BaseValue { +class TextValue : public BaseValue +{ private: std::string mValue; @@ -35,7 +37,8 @@ public: void SetValue(const std::string& value); }; -class DateTimeValue : public BaseValue { +class DateTimeValue : public BaseValue +{ private: std::chrono::time_point<std::chrono::system_clock> mValue; |