diff options
Diffstat (limited to 'core/src/Model/EvaluatedValue.hpp')
-rw-r--r-- | core/src/Model/EvaluatedValue.hpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/core/src/Model/EvaluatedValue.hpp b/core/src/Model/EvaluatedValue.hpp deleted file mode 100644 index 880fd3e..0000000 --- a/core/src/Model/EvaluatedValue.hpp +++ /dev/null @@ -1,71 +0,0 @@ -#pragma once - -#include <chrono> -#include <cstdint> -#include <string> - -class BaseValue { -public: - enum Kind { - KD_Numeric, - KD_Text, - KD_DateTime, - - /// An unspecified type, otherwise known as "any" in some contexts. - KindInvalid, - KindCount = KindInvalid, - }; - -private: - Kind mKind; - -public: - BaseValue(Kind kind); - virtual ~BaseValue() = default; - - BaseValue(const BaseValue&) = delete; - BaseValue& operator=(const BaseValue&) = delete; - BaseValue(BaseValue&&) = default; - BaseValue& operator=(BaseValue&&) = default; - - Kind GetKind() const; -}; - -class NumericValue : public BaseValue { -private: - double mValue; - -public: - static bool IsInstance(const BaseValue* value); - NumericValue(); - - std::string GetString() const; - int64_t GetInt() const; - double GetValue() const; - void SetValue(double value); -}; - -class TextValue : public BaseValue { -private: - std::string mValue; - -public: - static bool IsInstance(const BaseValue* value); - TextValue(); - - const std::string& GetValue() const; - void SetValue(const std::string& value); -}; - -class DateTimeValue : public BaseValue { -private: - std::chrono::time_point<std::chrono::system_clock> mValue; - -public: - static bool IsInstance(const BaseValue* value); - DateTimeValue(); - - std::string GetString() const; - const std::chrono::time_point<std::chrono::system_clock>& GetValue() const; - void SetValue(const std::chrono::time_point<std::chrono::system_clock>& value); -}; |