From 38ced92d7e8995bc06bb45a01d45bd6e2e32079a Mon Sep 17 00:00:00 2001 From: Axel Naumann <Axel.Naumann@cern.ch> Date: Sat, 26 Aug 2017 12:09:12 -0700 Subject: [PATCH] Add unary -op for UDLs to work nicely. --- graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx b/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx index bf7955b2028..2e0a392c03a 100644 --- a/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx +++ b/graf2d/gpad/v7/inc/ROOT/TPadCoord.hxx @@ -33,6 +33,8 @@ protected: CoordSysBase(double val): fVal(val) {} DERIVED &ToDerived() { return static_cast<DERIVED &>(*this); } + DERIVED operator-() { return DERIVED(-fVal); } + friend DERIVED operator+(DERIVED lhs, DERIVED rhs) { return DERIVED{lhs.fVal + rhs.fVal}; } friend DERIVED operator-(DERIVED lhs, DERIVED rhs) { return DERIVED{lhs.fVal - rhs.fVal}; } friend double operator/(DERIVED lhs, DERIVED rhs) { return lhs.fVal / rhs.fVal; } @@ -124,6 +126,11 @@ public: return TPadCoord{lhs.fNormal - rhs.fNormal, lhs.fPixel - rhs.fPixel, lhs.fUser - rhs.fUser}; } + /// Unary -. + TPadCoord operator-() { + return TPadCoord(-fNormal, -fPixel, -fUser); + } + /// Add a `TPadCoord`. TPadCoord &operator+=(const TPadCoord &rhs) { -- GitLab