diff --git a/modules/core/include/opencv2/core/types.hpp b/modules/core/include/opencv2/core/types.hpp index b8f943453..ea7b4dcba 100644 --- a/modules/core/include/opencv2/core/types.hpp +++ b/modules/core/include/opencv2/core/types.hpp @@ -1341,18 +1341,6 @@ Size_<_Tp> operator / (Size_<_Tp> a, _Tp b) return a; } -template static inline -Size_<_Tp> operator + (const Size_<_Tp>& a, const Size_<_Tp>& b) -{ - return Size_<_Tp>(a.width + b.width, a.height + b.height); -} - -template static inline -Size_<_Tp> operator - (const Size_<_Tp>& a, const Size_<_Tp>& b) -{ - return Size_<_Tp>(a.width - b.width, a.height - b.height); -} - template static inline Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) { @@ -1361,6 +1349,13 @@ Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) return a; } +template static inline +Size_<_Tp> operator + (Size_<_Tp> a, const Size_<_Tp>& b) +{ + a += b; + return a; +} + template static inline Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) { @@ -1369,6 +1364,13 @@ Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) return a; } +template static inline +Size_<_Tp> operator - (Size_<_Tp> a, const Size_<_Tp>& b) +{ + a -= b; + return a; +} + template static inline 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 static inline bool operator != (const Size_<_Tp>& a, const Size_<_Tp>& b) { - return a.width != b.width || a.height != b.height; + return !(a == b); }