mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-07 06:04:27 +02:00
fix: clang compilation fixed
This commit is contained in:
@@ -403,7 +403,7 @@ template<auto R1, typename Rep1, auto R2, typename Rep2>
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<auto R, typename Rep, typename Value>
|
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&>
|
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)
|
[[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>
|
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>
|
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)
|
[[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>
|
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&>
|
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)
|
[[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>
|
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>
|
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)
|
[[nodiscard]] constexpr Quantity auto operator/(const Value& v, const quantity<R, Rep>& q)
|
||||||
{
|
{
|
||||||
|
@@ -166,16 +166,14 @@ template<typename Rep, Reference R>
|
|||||||
|
|
||||||
template<typename Q, Reference R>
|
template<typename Q, Reference R>
|
||||||
requires Quantity<std::remove_cvref_t<Q>>
|
requires Quantity<std::remove_cvref_t<Q>>
|
||||||
[[nodiscard]] constexpr quantity<std::remove_cvref_t<Q>::reference * R{}, typename std::remove_cvref_t<Q>::rep>
|
[[nodiscard]] constexpr Quantity auto operator*(Q&& q, R)
|
||||||
operator*(Q&& q, R)
|
|
||||||
{
|
{
|
||||||
return make_quantity<std::remove_cvref_t<Q>::reference * R{}>(std::forward<Q>(q).numerical_value_);
|
return make_quantity<std::remove_cvref_t<Q>::reference * R{}>(std::forward<Q>(q).numerical_value_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Q, Reference R>
|
template<typename Q, Reference R>
|
||||||
requires Quantity<std::remove_cvref_t<Q>>
|
requires Quantity<std::remove_cvref_t<Q>>
|
||||||
[[nodiscard]] constexpr quantity<std::remove_cvref_t<Q>::reference / R{}, typename std::remove_cvref_t<Q>::rep>
|
[[nodiscard]] constexpr Quantity auto operator/(Q&& q, R)
|
||||||
operator/(Q&& q, R)
|
|
||||||
{
|
{
|
||||||
return make_quantity<std::remove_cvref_t<Q>::reference / R{}>(std::forward<Q>(q).numerical_value_);
|
return make_quantity<std::remove_cvref_t<Q>::reference / R{}>(std::forward<Q>(q).numerical_value_);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user