mp_units::value_cast

Explicit cast of a quantity's unit

Synopsis

Declared in <mp-units/framework/value_cast.h>
template<
    auto ToU,
    typename FwdQ,
    Quantity Q = std::remove_cvref_t<FwdQ>>
requires (MP_UNITS_WEAK_UNIT_OF(MP_UNITS_REMOVE_CONST(decltype(ToU)), Q::quantity_spec)) &&
          detail::SaneScaling<Q::unit, ToU, typename Q::rep>
[[nodiscard]]
constexpr
Quantity auto
value_cast(FwdQ&& q);


Description

Implicit conversions between quantities of different types are allowed only for "safe" (e.g. non-truncating) conversion. In truncating cases an explicit cast have to be used.

auto d = value_cast<si::second>(1234 ms);

Template Parameters

Name Description
ToU a unit to use for a target quantity

Created with MrDocs