From 5157abc439659f0a15a9a0f9b0acd468c75a8517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Fri, 17 Aug 2012 02:16:49 +0200 Subject: [PATCH] Disabled original Vector div/mult for non-arithmetic types. --- src/Math/Vector.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Math/Vector.h b/src/Math/Vector.h index 88adce375..c4569f485 100644 --- a/src/Math/Vector.h +++ b/src/Math/Vector.h @@ -188,7 +188,11 @@ template class Vector { * cause ambiguity in some cases. * @see operator*=(U) */ + #ifndef DOXYGEN_GENERATING_OUTPUT + template inline typename std::enable_if::value, Vector>::type operator*(U number) const { + #else template inline Vector operator*(U number) const { + #endif return Vector(*this)*=number; } @@ -198,7 +202,11 @@ template class Vector { * More efficient than operator*(U) const, because it does the * computation in-place. */ + #ifndef DOXYGEN_GENERATING_OUTPUT + template typename std::enable_if::value, Vector&>::type operator*=(U number) { + #else template Vector& operator*=(U number) { + #endif for(size_t i = 0; i != size; ++i) (*this)[i] *= number; @@ -232,7 +240,11 @@ template class Vector { * * @see operator/=(U) */ + #ifndef DOXYGEN_GENERATING_OUTPUT + template inline typename std::enable_if::value, Vector>::type operator/(U number) const { + #else template inline Vector operator/(U number) const { + #endif return Vector(*this)/=number; } @@ -242,7 +254,11 @@ template class Vector { * More efficient than operator/(U) const, because it does the * computation in-place. */ + #ifndef DOXYGEN_GENERATING_OUTPUT + template typename std::enable_if::value, Vector&>::type operator/=(U number) { + #else template Vector& operator/=(U number) { + #endif for(size_t i = 0; i != size; ++i) (*this)[i] /= number;