From 1bbbd02f1cff2e0def2eb0a1e8e81c9a18873073 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 8 May 2019 20:43:52 -0600 Subject: [PATCH] Concepts workaround added to operator/() --- src/include/units/quantity.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index ecf9cb70..5ec07c05 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -258,9 +258,9 @@ namespace units { // template template - requires !Quantity - /* [[nodiscard]]*/ constexpr Quantity operator*(const quantity& q, - const Rep2& v) + [[nodiscard]] constexpr Quantity operator*(const quantity& q, + const Rep2& v) + requires (!Quantity) { using common_rep = decltype(q.count()* v); using ret = quantity; @@ -269,16 +269,16 @@ namespace units { //template template - requires !Quantity - /* [[nodiscard]]*/ constexpr Quantity operator*(const Rep1& v, - const quantity& q) + [[nodiscard]] constexpr Quantity operator*(const Rep1& v, + const quantity& q) + requires (!Quantity) { return q * v; } template [[nodiscard]] constexpr Quantity operator*(const quantity& lhs, - const quantity& rhs) + const quantity& rhs) requires treat_as_floating_point || (std::ratio_multiply::den == 1) { @@ -292,6 +292,7 @@ namespace units { template [[nodiscard]] constexpr Quantity operator/(const Rep1& v, const quantity& q) + requires (!Quantity) { Expects(q != std::decay_t(0)); @@ -306,6 +307,7 @@ namespace units { template [[nodiscard]] constexpr Quantity operator/(const quantity& q, const Rep2& v) + requires (!Quantity) { Expects(v != Rep2{0});