From 040c7034610b3433e668177aa7676d857e8745e4 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 8 Oct 2019 21:26:18 +0200 Subject: [PATCH] Scalar constraint added for quantity operators --- src/include/units/quantity.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index b1c1c17a..b38de83b 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -155,11 +155,13 @@ namespace units { { return quantity_cast>(q); } + template [[nodiscard]] constexpr quantity quantity_cast(const quantity& q) { return quantity_cast>(q); } + template [[nodiscard]] constexpr quantity quantity_cast(const quantity& q) { @@ -295,8 +297,7 @@ namespace units { return ret(ret(lhs).count() - ret(rhs).count()); } -// template - template + template [[nodiscard]] constexpr Quantity operator*(const quantity& q, const Rep2& v) requires (!Quantity) @@ -306,8 +307,7 @@ namespace units { return ret(ret(q).count() * v); } -// template - template + template [[nodiscard]] constexpr Quantity operator*(const Rep1& v, const quantity& q) requires (!Quantity) @@ -338,8 +338,7 @@ namespace units { return ret(lhs.count() * rhs.count()); } -// template - template + template [[nodiscard]] constexpr Quantity operator/(const Rep1& v, const quantity& q) requires (!Quantity) @@ -353,8 +352,7 @@ namespace units { return ret(v / den(q).count()); } -// template - template + template [[nodiscard]] constexpr Quantity operator/(const quantity& q, const Rep2& v) requires (!Quantity)