From cc77c50e59e9e3e4d5394d5fcf6905372fb7fe86 Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Fri, 10 Aug 2012 13:05:24 +0200 Subject: [PATCH] added -= operators for Point/Vector --- src/geometry/operators.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/geometry/operators.h b/src/geometry/operators.h index 2dfa54e..295daa1 100644 --- a/src/geometry/operators.h +++ b/src/geometry/operators.h @@ -26,13 +26,11 @@ inline Point operator +(const Point &lhs, const Vector &rhs) { template inline Vector &operator +=(Vector &lhs, const Vector &rhs) { - lhs = lhs + rhs; - return lhs; + return lhs = lhs + rhs; } template inline Point &operator +=(Point &lhs, const Vector &rhs) { - lhs = lhs + rhs; - return lhs; + return lhs = lhs + rhs; } template @@ -44,6 +42,15 @@ inline Point operator -(const Point &lhs, const Vector &rhs) { return Point(lhs.X() - rhs.X(), lhs.Y() - rhs.Y()); } +template +inline Vector &operator -=(Vector &lhs, const Vector &rhs) { + return lhs = lhs - rhs; +} +template +inline Point &operator -=(Point &lhs, const Vector &rhs) { + return lhs = lhs - rhs; +} + template inline Vector operator -(const Vector &v) { return Vector(-v.X(), -v.Y()); -- 2.39.2