fix: ValuePreservingTo fixed to apply std::remove_cvref_t on FromRep
This commit is contained in:
1 parent
8b46723fe2
commit
2a1edbe47a
1 file changed
+5
-3
@@ -63,9 +63,11 @@ template<typename T>
|
||||
concept IsFloatingPoint = treat_as_floating_point<T>;
|
||||
|
||||
template<typename FromRep, typename ToRep, auto FromUnit = one, auto ToUnit = one>
|
||||
concept ValuePreservingTo = requires(FromRep&& from, ToRep to) {
|
||||
{ to = std::forward<FromRep>(from) } -> std::same_as<ToRep&>;
|
||||
} && (IsFloatingPoint<ToRep> || (!IsFloatingPoint<FromRep> && (integral_conversion_factor(FromUnit, ToUnit))));
|
||||
concept ValuePreservingTo =
|
||||
requires(FromRep&& from, ToRep to) {
|
||||
{ to = std::forward<FromRep>(from) } -> std::same_as<ToRep&>;
|
||||
} && (IsFloatingPoint<ToRep> ||
|
||||
(!IsFloatingPoint<std::remove_cvref_t<FromRep>> && (integral_conversion_factor(FromUnit, ToUnit))));
|
||||
|
||||
template<typename QFrom, typename QTo>
|
||||
concept QuantityConvertibleTo =
|
||||
|
||||
Reference in new issue
Block a user