This commit is contained in:
Mateusz Pusz
2021-09-17 20:42:55 +02:00

View File

@@ -312,18 +312,16 @@ public:
return units::quantity(lhs - rhs.number()); return units::quantity(lhs - rhs.number());
} }
template<typename Value> template<Representation Value>
requires (!Quantity<Value>) && requires invoke_result_convertible_to_<rep, std::multiplies<>, rep, const Value&>
invoke_result_convertible_to_<rep, std::multiplies<>, rep, const Value&>
[[nodiscard]] friend constexpr Quantity auto operator*(const quantity& q, const Value& v) [[nodiscard]] friend constexpr Quantity auto operator*(const quantity& q, const Value& v)
{ {
using ret = quantity<D, U, std::invoke_result_t<std::multiplies<>, rep, Value>>; using ret = quantity<D, U, std::invoke_result_t<std::multiplies<>, rep, Value>>;
return ret(q.number() * v); return ret(q.number() * v);
} }
template<typename Value> template<Representation Value>
requires (!Quantity<Value>) && requires invoke_result_convertible_to_<rep, std::multiplies<>, const Value&, rep>
invoke_result_convertible_to_<rep, std::multiplies<>, const Value&, rep>
[[nodiscard]] friend constexpr Quantity auto operator*(const Value& v, const quantity& q) [[nodiscard]] friend constexpr Quantity auto operator*(const Value& v, const quantity& q)
{ {
using ret = quantity<D, U, std::invoke_result_t<std::multiplies<>, Value, rep>>; using ret = quantity<D, U, std::invoke_result_t<std::multiplies<>, Value, rep>>;