mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-04 12:54:25 +02:00
refactor: constraints for common_unit
improved
This commit is contained in:
@@ -602,10 +602,10 @@ inline constexpr struct per_mille : named_unit<basic_symbol_text{"‰", "%o"}, m
|
||||
}
|
||||
|
||||
// Common unit
|
||||
[[nodiscard]] consteval auto common_unit(Unit auto u) { return u; }
|
||||
[[nodiscard]] consteval Unit auto common_unit(Unit auto u) { return u; }
|
||||
|
||||
template<Unit U1, Unit U2>
|
||||
[[nodiscard]] consteval auto common_unit(U1 u1, U2 u2)
|
||||
[[nodiscard]] consteval Unit auto common_unit(U1 u1, U2 u2)
|
||||
requires(detail::have_same_canonical_reference_unit(u1, u2))
|
||||
{
|
||||
if constexpr (U1{} == U2{}) {
|
||||
@@ -628,7 +628,7 @@ template<Unit U1, Unit U2>
|
||||
}
|
||||
}
|
||||
|
||||
[[nodiscard]] consteval auto common_unit(Unit auto u1, Unit auto u2, Unit auto u3, Unit auto... rest)
|
||||
[[nodiscard]] consteval Unit auto common_unit(Unit auto u1, Unit auto u2, Unit auto u3, Unit auto... rest)
|
||||
requires requires { common_unit(common_unit(u1, u2), u3, rest...); }
|
||||
{
|
||||
return common_unit(common_unit(u1, u2), u3, rest...);
|
||||
|
Reference in New Issue
Block a user