Commit 8fc18489 authored by Marc Rollins's avatar Marc Rollins

Simplifying arithmetic and comparison operator implementation.

Implementing + and - in terms of += and -=.
Implementing != in terms of ==.
parent d3d9b538
...@@ -1342,30 +1342,32 @@ Size_<_Tp> operator / (Size_<_Tp> a, _Tp b) ...@@ -1342,30 +1342,32 @@ Size_<_Tp> operator / (Size_<_Tp> a, _Tp b)
} }
template<typename _Tp> static inline template<typename _Tp> static inline
Size_<_Tp> operator + (const Size_<_Tp>& a, const Size_<_Tp>& b) Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b)
{ {
return Size_<_Tp>(a.width + b.width, a.height + b.height); a.width += b.width;
a.height += b.height;
return a;
} }
template<typename _Tp> static inline template<typename _Tp> static inline
Size_<_Tp> operator - (const Size_<_Tp>& a, const Size_<_Tp>& b) Size_<_Tp> operator + (Size_<_Tp> a, const Size_<_Tp>& b)
{ {
return Size_<_Tp>(a.width - b.width, a.height - b.height); a += b;
return a;
} }
template<typename _Tp> static inline template<typename _Tp> static inline
Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b)
{ {
a.width += b.width; a.width -= b.width;
a.height += b.height; a.height -= b.height;
return a; return a;
} }
template<typename _Tp> static inline template<typename _Tp> static inline
Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) Size_<_Tp> operator - (Size_<_Tp> a, const Size_<_Tp>& b)
{ {
a.width -= b.width; a -= b;
a.height -= b.height;
return a; return a;
} }
...@@ -1378,7 +1380,7 @@ bool operator == (const Size_<_Tp>& a, const Size_<_Tp>& b) ...@@ -1378,7 +1380,7 @@ bool operator == (const Size_<_Tp>& a, const Size_<_Tp>& b)
template<typename _Tp> static inline template<typename _Tp> static inline
bool operator != (const Size_<_Tp>& a, const Size_<_Tp>& b) bool operator != (const Size_<_Tp>& a, const Size_<_Tp>& b)
{ {
return a.width != b.width || a.height != b.height; return !(a == b);
} }
......
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