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)
}
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
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
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.height += b.height;
a.width -= b.width;
a.height -= b.height;
return a;
}
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.height -= b.height;
a -= b;
return a;
}
......@@ -1378,7 +1380,7 @@ bool operator == (const Size_<_Tp>& a, const Size_<_Tp>& b)
template<typename _Tp> static inline
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