Downcasting facility refactored so the user does not have to write the boilerplate code anymore

This commit is contained in:
Mateusz Pusz committed 2019-09-26 22:30:57 +02:00
1 parent ad69f338b8
commit 2e1ce83024
28 files changed
+348 -299

No files matched your search

+2 -2
View File
@@ -32,7 +32,7 @@ namespace units {
{
using dim = dimension_pow_t<typename U::dimension, N>;
using r = ratio_pow<typename U::ratio, N>;
return quantity<downcast_traits_t<unit<dim, r>>, Rep>(static_cast<Rep>(std::pow(q.count(), N)));
return quantity<downcast_target<unit<dim, r>>, Rep>(static_cast<Rep>(std::pow(q.count(), N)));
}
template<typename U, typename Rep>
@@ -40,7 +40,7 @@ namespace units {
{
using dim = dimension_sqrt_t<typename U::dimension>;
using r = ratio_sqrt<typename U::ratio>;
return quantity<downcast_traits_t<unit<dim, r>>, Rep>(static_cast<Rep>(std::sqrt(q.count())));
return quantity<downcast_target<unit<dim, r>>, Rep>(static_cast<Rep>(std::sqrt(q.count())));
}
} // namespace units