forked from mpusz/mp-units
downcasting_traits renamed to downcast_traits
- downcasting_traits -> downcast_traits - downcasting_traits_t -> downcast_traits_t - downcast_from -> downcast_base_t - downcast_to removed
This commit is contained in:
@@ -119,7 +119,7 @@ namespace units {
|
||||
template<typename T>
|
||||
concept bool Dimension =
|
||||
std::is_empty_v<T> &&
|
||||
detail::is_dimension<downcast_from<T>>;
|
||||
detail::is_dimension<downcast_base_t<T>>;
|
||||
|
||||
|
||||
// dim_invert
|
||||
@@ -128,7 +128,7 @@ namespace units {
|
||||
struct dim_invert;
|
||||
|
||||
template<Exponent... Es>
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcasting_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcast_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
|
||||
template<Dimension D>
|
||||
using dim_invert_t = dim_invert<typename D::base_type>::type;
|
||||
@@ -195,7 +195,7 @@ namespace units {
|
||||
struct dimension_multiply;
|
||||
|
||||
template<Exponent... E1, Exponent... E2>
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcasting_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcast_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
|
||||
template<Dimension D1, Dimension D2>
|
||||
using dimension_multiply_t = dimension_multiply<typename D1::base_type, typename D2::base_type>::type;
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace units {
|
||||
template<typename T>
|
||||
concept bool Dimension =
|
||||
std::is_empty_v<T> &&
|
||||
detail::is_dimension<downcast_from<T>>;
|
||||
detail::is_dimension<downcast_base_t<T>>;
|
||||
|
||||
|
||||
// dim_invert
|
||||
@@ -128,7 +128,7 @@ namespace units {
|
||||
struct dim_invert;
|
||||
|
||||
template<typename... Es>
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcasting_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcast_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
|
||||
template<Dimension D>
|
||||
using dim_invert_t = dim_invert<typename D::base_type>::type;
|
||||
@@ -195,7 +195,7 @@ namespace units {
|
||||
struct dimension_multiply;
|
||||
|
||||
template<typename... E1, typename... E2>
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcasting_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcast_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
|
||||
template<Dimension D1, Dimension D2>
|
||||
using dimension_multiply_t = dimension_multiply<typename D1::base_type, typename D2::base_type>::type;
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace units {
|
||||
struct dim_invert;
|
||||
|
||||
template<typename... Es>
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcasting_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
struct dim_invert<dimension<Es...>> : std::type_identity<downcast_traits_t<dimension<exp_invert_t<Es>...>>> {};
|
||||
|
||||
template<typename D>
|
||||
using dim_invert_t = dim_invert<typename D::base_type>::type;
|
||||
@@ -166,7 +166,7 @@ namespace units {
|
||||
struct dimension_multiply;
|
||||
|
||||
template<typename... E1, typename... E2>
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcasting_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
struct dimension_multiply<dimension<E1...>, dimension<E2...>> : std::type_identity<downcast_traits_t<merge_dimension_t<dimension<E1...>, dimension<E2...>>>> {};
|
||||
|
||||
template<typename D1, typename D2>
|
||||
using dimension_multiply_t = dimension_multiply<typename D1::base_type, typename D2::base_type>::type;
|
||||
|
||||
@@ -40,15 +40,12 @@ namespace units {
|
||||
std::derived_from<T, downcast_base<typename T::base_type>>;
|
||||
|
||||
template<Downcastable T>
|
||||
using downcast_from = T::base_type;
|
||||
using downcast_base_t = T::base_type;
|
||||
|
||||
template<Downcastable T>
|
||||
using downcast_to = std::type_identity<T>;
|
||||
struct downcast_traits : std::type_identity<T> {};
|
||||
|
||||
template<Downcastable T>
|
||||
struct downcasting_traits : downcast_to<T> {};
|
||||
|
||||
template<Downcastable T>
|
||||
using downcasting_traits_t = downcasting_traits<T>::type;
|
||||
using downcast_traits_t = downcast_traits<T>::type;
|
||||
|
||||
} // namespace units
|
||||
|
||||
@@ -33,15 +33,12 @@ namespace units {
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
using downcast_from = T::base_type;
|
||||
using downcast_base_t = T::base_type;
|
||||
|
||||
template<typename T>
|
||||
using downcast_to = std::type_identity<T>;
|
||||
struct downcast_traits : std::type_identity<T> {};
|
||||
|
||||
template<typename T>
|
||||
struct downcasting_traits : downcast_to<T> {};
|
||||
|
||||
template<typename T>
|
||||
using downcasting_traits_t = downcasting_traits<T>::type;
|
||||
using downcast_traits_t = downcast_traits<T>::type;
|
||||
|
||||
} // namespace units
|
||||
|
||||
@@ -49,9 +49,9 @@ namespace {
|
||||
}
|
||||
}
|
||||
|
||||
template<> struct units::downcasting_traits<units::downcast_from<digital_information>> : units::downcast_to<digital_information> {};
|
||||
template<> struct units::downcasting_traits<units::downcast_from<bit>> : units::downcast_to<bit> {};
|
||||
template<> struct units::downcasting_traits<units::downcast_from<::byte>> : units::downcast_to<::byte> {};
|
||||
template<> struct units::downcast_traits<units::downcast_base_t<digital_information>> : std::type_identity<digital_information> {};
|
||||
template<> struct units::downcast_traits<units::downcast_base_t<bit>> : std::type_identity<bit> {};
|
||||
template<> struct units::downcast_traits<units::downcast_base_t<::byte>> : std::type_identity<::byte> {};
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -76,11 +76,11 @@ namespace {
|
||||
|
||||
namespace units {
|
||||
|
||||
template<> struct downcasting_traits<downcast_from<power_spectral_density>> : downcast_to<power_spectral_density> {};
|
||||
template<> struct downcasting_traits<downcast_from<sq_volt_per_hertz>> : downcast_to<sq_volt_per_hertz> {};
|
||||
template<> struct downcast_traits<downcast_base_t<power_spectral_density>> : std::type_identity<power_spectral_density> {};
|
||||
template<> struct downcast_traits<downcast_base_t<sq_volt_per_hertz>> : std::type_identity<sq_volt_per_hertz> {};
|
||||
|
||||
template<> struct downcasting_traits<downcast_from<amplitude_spectral_density>> : downcast_to<amplitude_spectral_density> {};
|
||||
template<> struct downcasting_traits<downcast_from<volt_per_sqrt_hertz>> : downcast_to<volt_per_sqrt_hertz> {};
|
||||
template<> struct downcast_traits<downcast_base_t<amplitude_spectral_density>> : std::type_identity<amplitude_spectral_density> {};
|
||||
template<> struct downcast_traits<downcast_base_t<volt_per_sqrt_hertz>> : std::type_identity<volt_per_sqrt_hertz> {};
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user