Browse Source

Add TriStateBool constructor taking a boolean

And move the constructor taking an int to private.
adaptive-webui-19844
Chocobo1 5 years ago
parent
commit
ed62854af7
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 9
      src/base/tristatebool.h

9
src/base/tristatebool.h

@ -38,9 +38,9 @@ public:
constexpr TriStateBool() = default; constexpr TriStateBool() = default;
constexpr TriStateBool(const TriStateBool &other) = default; constexpr TriStateBool(const TriStateBool &other) = default;
explicit constexpr TriStateBool(int value) explicit constexpr TriStateBool(const bool boolean)
: m_value(value < 0 ? -1 : (value > 0 ? 1 : 0))
{ {
*this = boolean ? True : False;
} }
explicit constexpr operator int() const explicit constexpr operator int() const
@ -56,6 +56,11 @@ public:
} }
private: private:
explicit constexpr TriStateBool(const int value)
: m_value((value < 0) ? -1 : ((value > 0) ? 1 : 0))
{
}
signed char m_value = -1; // Undefined by default signed char m_value = -1; // Undefined by default
}; };

Loading…
Cancel
Save