mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-31 19:04:27 +02:00
fix constexpr and format
This commit is contained in:
@@ -56,7 +56,8 @@ template<QuantitySpec auto ToQS, typename Q>
|
|||||||
requires Quantity<std::remove_cvref_t<Q>> && (castable(std::remove_reference_t<Q>::quantity_spec, ToQS))
|
requires Quantity<std::remove_cvref_t<Q>> && (castable(std::remove_reference_t<Q>::quantity_spec, ToQS))
|
||||||
[[nodiscard]] constexpr Quantity auto quantity_cast(Q&& q)
|
[[nodiscard]] constexpr Quantity auto quantity_cast(Q&& q)
|
||||||
{
|
{
|
||||||
return quantity{std::forward<Q>(q).numerical_value_is_an_implementation_detail_, make_reference(ToQS, q.unit)};
|
return quantity{std::forward<Q>(q).numerical_value_is_an_implementation_detail_,
|
||||||
|
make_reference(ToQS, std::remove_reference_t<Q>::unit)};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,7 +82,7 @@ template<QuantitySpec auto ToQS, typename QP>
|
|||||||
[[nodiscard]] constexpr QuantityPoint auto quantity_cast(QP&& qp)
|
[[nodiscard]] constexpr QuantityPoint auto quantity_cast(QP&& qp)
|
||||||
{
|
{
|
||||||
return QP{quantity_cast<ToQS>(std::forward<QP>(qp).quantity_from_origin_is_an_implementation_detail_),
|
return QP{quantity_cast<ToQS>(std::forward<QP>(qp).quantity_from_origin_is_an_implementation_detail_),
|
||||||
qp.point_origin};
|
std::remove_reference_t<QP>::point_origin};
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace mp_units
|
} // namespace mp_units
|
||||||
|
@@ -938,7 +938,8 @@ static_assert(is_of_type<quantity_cast<isq::distance>(isq::length(1 * m)), quant
|
|||||||
static_assert(is_of_type<quantity_cast<kind_of<isq::length>>(isq::length(1 * m)), quantity<si::metre, int>>);
|
static_assert(is_of_type<quantity_cast<kind_of<isq::length>>(isq::length(1 * m)), quantity<si::metre, int>>);
|
||||||
static_assert(is_of_type<quantity_cast<kind_of<isq::length>>(isq::distance(1 * m)), quantity<si::metre, int>>);
|
static_assert(is_of_type<quantity_cast<kind_of<isq::length>>(isq::distance(1 * m)), quantity<si::metre, int>>);
|
||||||
// lvalue references in quantity_cast
|
// lvalue references in quantity_cast
|
||||||
inline constexpr quantity<isq::distance[m], int> to_distance(quantity<m,int> arg){
|
inline constexpr quantity<isq::distance[m], int> to_distance(quantity<m, int> arg)
|
||||||
|
{
|
||||||
return quantity_cast<isq::distance>(arg);
|
return quantity_cast<isq::distance>(arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user