diff --git a/example/example.cpp b/example/example.cpp index ef262987..27685ce1 100644 --- a/example/example.cpp +++ b/example/example.cpp @@ -46,7 +46,7 @@ void example_2(double distance_v, double duration_v) { stde::units::quantity distance(distance_v); stde::units::quantity duration(duration_v); - const auto kmph = avg_speed(distance, duration); + const auto kmph = quantity_cast(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"; } diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index 5886914f..321c0ad7 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -135,6 +135,13 @@ namespace std::experimental::units { return cast::cast(q); } + template + constexpr quantity quantity_cast(const quantity& q) + { + return quantity_cast>(q); + } + + // quantity_values template