quantity_cast<U, Rep> support added

This commit is contained in:
Mateusz Pusz
2019-09-16 00:21:58 -06:00
parent fc2b1add84
commit 90a7dbe3fa
2 changed files with 8 additions and 1 deletions

View File

@ -46,7 +46,7 @@ void example_2(double distance_v, double duration_v)
{
stde::units::quantity<stde::units::kilometre> distance(distance_v);
stde::units::quantity<stde::units::hour> duration(duration_v);
const auto kmph = avg_speed(distance, duration);
const auto kmph = quantity_cast<stde::units::kilometre_per_hour>(avg_speed(distance, duration));
std::cout << "Average speed of a car that makes " << distance.count() << " km in "
<< duration.count() << " hours is " << kmph.count() << " km/h.\n";
}

View File

@ -135,6 +135,13 @@ namespace std::experimental::units {
return cast::cast(q);
}
template<Unit ToU, Scalar ToRep = double, typename U, typename Rep>
constexpr quantity<ToU, ToRep> quantity_cast(const quantity<U, Rep>& q)
{
return quantity_cast<quantity<ToU, ToRep>>(q);
}
// quantity_values
template<Scalar Rep>