fix: clang compilation fixed

This commit is contained in:
Mateusz Pusz committed 2023-09-30 21:35:16 -06:00
1 parent b2423bfded
commit f15baf4c2a
2 files changed
+6 -8

No files matched your search

+4 -4
View File
@@ -403,7 +403,7 @@ template<auto R1, typename Rep1, auto R2, typename Rep2>
}
template<auto R, typename Rep, typename Value>
requires(!Quantity<Value>) &&
requires(!Quantity<Value>) && (!Reference<Value>) &&
detail::InvokeResultOf<get_quantity_spec(R).character, std::multiplies<>, Rep, const Value&>
[[nodiscard]] constexpr Quantity auto operator*(const quantity<R, Rep>& q, const Value& v)
{
@@ -411,7 +411,7 @@ template<auto R, typename Rep, typename Value>
}
template<typename Value, auto R, typename Rep>
requires(!Quantity<Value>) &&
requires(!Quantity<Value>) && (!Reference<Value>) &&
detail::InvokeResultOf<get_quantity_spec(R).character, std::multiplies<>, const Value&, Rep>
[[nodiscard]] constexpr Quantity auto operator*(const Value& v, const quantity<R, Rep>& q)
{
@@ -427,7 +427,7 @@ template<auto R1, typename Rep1, auto R2, typename Rep2>
}
template<auto R, typename Rep, typename Value>
requires(!Quantity<Value>) &&
requires(!Quantity<Value>) && (!Reference<Value>) &&
detail::InvokeResultOf<get_quantity_spec(R).character, std::divides<>, Rep, const Value&>
[[nodiscard]] constexpr Quantity auto operator/(const quantity<R, Rep>& q, const Value& v)
{
@@ -436,7 +436,7 @@ template<auto R, typename Rep, typename Value>
}
template<typename Value, auto R, typename Rep>
requires(!Quantity<Value>) &&
requires(!Quantity<Value>) && (!Reference<Value>) &&
detail::InvokeResultOf<get_quantity_spec(R).character, std::divides<>, const Value&, Rep>
[[nodiscard]] constexpr Quantity auto operator/(const Value& v, const quantity<R, Rep>& q)
{
+2 -4
View File
@@ -166,16 +166,14 @@ template<typename Rep, Reference R>
template<typename Q, Reference R>
requires Quantity<std::remove_cvref_t<Q>>
[[nodiscard]] constexpr quantity<std::remove_cvref_t<Q>::reference * R{}, typename std::remove_cvref_t<Q>::rep>
operator*(Q&& q, R)
[[nodiscard]] constexpr Quantity auto operator*(Q&& q, R)
{
return make_quantity<std::remove_cvref_t<Q>::reference * R{}>(std::forward<Q>(q).numerical_value_);
}
template<typename Q, Reference R>
requires Quantity<std::remove_cvref_t<Q>>
[[nodiscard]] constexpr quantity<std::remove_cvref_t<Q>::reference / R{}, typename std::remove_cvref_t<Q>::rep>
operator/(Q&& q, R)
[[nodiscard]] constexpr Quantity auto operator/(Q&& q, R)
{
return make_quantity<std::remove_cvref_t<Q>::reference / R{}>(std::forward<Q>(q).numerical_value_);
}