diff options
Diffstat (limited to 'launcher/DefaultVariable.h')
-rw-r--r-- | launcher/DefaultVariable.h | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/launcher/DefaultVariable.h b/launcher/DefaultVariable.h index 5c069bd3..b082091c 100644 --- a/launcher/DefaultVariable.h +++ b/launcher/DefaultVariable.h @@ -1,33 +1,21 @@ #pragma once template <typename T> -class DefaultVariable -{ -public: - DefaultVariable(const T & value) - { - defaultValue = value; - } - DefaultVariable<T> & operator =(const T & value) +class DefaultVariable { + public: + DefaultVariable(const T& value) { defaultValue = value; } + DefaultVariable<T>& operator=(const T& value) { currentValue = value; is_default = currentValue == defaultValue; is_explicit = true; return *this; } - operator const T &() const - { - return is_default ? defaultValue : currentValue; - } - bool isDefault() const - { - return is_default; - } - bool isExplicit() const - { - return is_explicit; - } -private: + operator const T&() const { return is_default ? defaultValue : currentValue; } + bool isDefault() const { return is_default; } + bool isExplicit() const { return is_explicit; } + + private: T currentValue; T defaultValue; bool is_default = true; |