Commit ebd27a08 authored by Alexander Lapshin's avatar Alexander Lapshin

fixed wrong svalue interface operators return types

parent 75d39329
...@@ -44,10 +44,12 @@ public: ...@@ -44,10 +44,12 @@ public:
friend bool operator<=(const svalue& l, const svalue& r) { return l.get() <= r.get(); } friend bool operator<=(const svalue& l, const svalue& r) { return l.get() <= r.get(); }
friend bool operator>(const svalue& l, const svalue& r) { return l.get() > r.get(); } friend bool operator>(const svalue& l, const svalue& r) { return l.get() > r.get(); }
friend bool operator>=(const svalue& l, const svalue& r) { return l.get() >= r.get(); } friend bool operator>=(const svalue& l, const svalue& r) { return l.get() >= r.get(); }
friend bool operator*(const svalue& l, const svalue& r) { return l.get() * r.get(); }
friend bool operator/(const svalue& l, const svalue& r) { return l.get() / r.get(); } friend T operator*(const svalue& l, const svalue& r) { return l.get() * r.get(); }
friend bool operator+(const svalue& l, const svalue& r) { return l.get() + r.get(); }
friend bool operator-(const svalue& l, const svalue& r) { return l.get() - r.get(); } friend T operator/(const svalue& l, const svalue& r) { return l.get() / r.get(); }
friend T operator+(const svalue& l, const svalue& r) { return l.get() + r.get(); }
friend T operator-(const svalue& l, const svalue& r) { return l.get() - r.get(); }
template <typename Tc> friend bool operator==(const Tc& l, const svalue& r) { return l == r.get(); } template <typename Tc> friend bool operator==(const Tc& l, const svalue& r) { return l == r.get(); }
template <typename Tc> friend bool operator!=(const Tc& l, const svalue& r) { return l != r.get(); } template <typename Tc> friend bool operator!=(const Tc& l, const svalue& r) { return l != r.get(); }
...@@ -55,10 +57,10 @@ public: ...@@ -55,10 +57,10 @@ public:
template <typename Tc> friend bool operator>(const Tc& l, const svalue& r) { return l > r.get(); } template <typename Tc> friend bool operator>(const Tc& l, const svalue& r) { return l > r.get(); }
template <typename Tc> friend bool operator<=(const Tc& l, const svalue& r) { return l <= r.get(); } template <typename Tc> friend bool operator<=(const Tc& l, const svalue& r) { return l <= r.get(); }
template <typename Tc> friend bool operator>=(const Tc& l, const svalue& r) { return l >= r.get(); } template <typename Tc> friend bool operator>=(const Tc& l, const svalue& r) { return l >= r.get(); }
template <typename Tc> friend bool operator*(const Tc& l, const svalue& r) { return l * r.get(); } template <typename Tc> friend T operator*(const Tc& l, const svalue& r) { return l * r.get(); }
template <typename Tc> friend bool operator/(const Tc& l, const svalue& r) { return l / r.get(); } template <typename Tc> friend T operator/(const Tc& l, const svalue& r) { return l / r.get(); }
template <typename Tc> friend bool operator+(const Tc& l, const svalue& r) { return l + r.get(); } template <typename Tc> friend T operator+(const Tc& l, const svalue& r) { return l + r.get(); }
template <typename Tc> friend bool operator-(const Tc& l, const svalue& r) { return l - r.get(); } template <typename Tc> friend T operator-(const Tc& l, const svalue& r) { return l - r.get(); }
template <typename Tc> friend bool operator==(const svalue& l, const Tc& r) { return l.get() == r; } template <typename Tc> friend bool operator==(const svalue& l, const Tc& r) { return l.get() == r; }
//template <typename Tc> friend bool operator!=(const svalue& l, const Tc& r) { return l.get() != r; } //template <typename Tc> friend bool operator!=(const svalue& l, const Tc& r) { return l.get() != r; }
...@@ -66,10 +68,10 @@ public: ...@@ -66,10 +68,10 @@ public:
template <typename Tc> friend bool operator>(const svalue& l, const Tc& r) { return l.get() > r; } template <typename Tc> friend bool operator>(const svalue& l, const Tc& r) { return l.get() > r; }
template <typename Tc> friend bool operator<=(const svalue& l, const Tc& r) { return l.get() <= r; } template <typename Tc> friend bool operator<=(const svalue& l, const Tc& r) { return l.get() <= r; }
template <typename Tc> friend bool operator>=(const svalue& l, const Tc& r) { return l.get() >= r; } template <typename Tc> friend bool operator>=(const svalue& l, const Tc& r) { return l.get() >= r; }
template <typename Tc> friend bool operator*(const svalue& l, const Tc& r) { return l.get() * r; } template <typename Tc> friend T operator*(const svalue& l, const Tc& r) { return l.get() * r; }
template <typename Tc> friend bool operator/(const svalue& l, const Tc& r) { return l.get() / r; } template <typename Tc> friend T operator/(const svalue& l, const Tc& r) { return l.get() / r; }
template <typename Tc> friend bool operator+(const svalue& l, const Tc& r) { return l.get() + r; } template <typename Tc> friend T operator+(const svalue& l, const Tc& r) { return l.get() + r; }
template <typename Tc> friend bool operator-(const svalue& l, const Tc& r) { return l.get() - r; } template <typename Tc> friend T operator-(const svalue& l, const Tc& r) { return l.get() - r; }
bool has_data() const { return m_has_data; } bool has_data() const { return m_has_data; }
const T& get() const { return m_value; } const T& get() const { return m_value; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment