From 2f6ecb113a303c09cd584d0f516ec5c6268cf1cb Mon Sep 17 00:00:00 2001 From: Ramzi Sabra Date: Thu, 7 May 2020 21:49:20 +0300 Subject: [PATCH] removed base_prefix_family from unit classes, added PrefixFamily template argument to alias_unit --- src/include/units/physical/si/area.h | 2 +- src/include/units/physical/si/mass.h | 2 +- src/include/units/physical/si/volume.h | 2 +- src/include/units/unit.h | 13 +++---------- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/include/units/physical/si/area.h b/src/include/units/physical/si/area.h index 69990d58..f7e5e9fe 100644 --- a/src/include/units/physical/si/area.h +++ b/src/include/units/physical/si/area.h @@ -52,7 +52,7 @@ struct square_exametre : deduced_unit {}; struct square_zettametre : deduced_unit {}; struct square_yottametre : deduced_unit {}; -struct hectare : alias_unit {}; +struct hectare : alias_unit {}; template using area = quantity; diff --git a/src/include/units/physical/si/mass.h b/src/include/units/physical/si/mass.h index 1e0d6c90..f72aef2a 100644 --- a/src/include/units/physical/si/mass.h +++ b/src/include/units/physical/si/mass.h @@ -50,7 +50,7 @@ struct exagram : prefixed_unit {}; struct zettagram : prefixed_unit {}; struct yottagram : prefixed_unit {}; -struct tonne : alias_unit {}; +struct tonne : alias_unit {}; struct yoctotonne : prefixed_alias_unit {}; struct zeptotonne : prefixed_alias_unit {}; struct attotonne : prefixed_alias_unit {}; diff --git a/src/include/units/physical/si/volume.h b/src/include/units/physical/si/volume.h index 840bbc5a..a2f34826 100644 --- a/src/include/units/physical/si/volume.h +++ b/src/include/units/physical/si/volume.h @@ -52,7 +52,7 @@ struct cubic_exametre : deduced_unit {}; struct cubic_zettametre : deduced_unit {}; struct cubic_yottametre : deduced_unit {}; -struct litre : alias_unit {}; +struct litre : alias_unit {}; struct yoctolitre : prefixed_alias_unit {}; struct zeptolitre : prefixed_unit {}; struct attolitre : prefixed_unit {}; diff --git a/src/include/units/unit.h b/src/include/units/unit.h index b787274c..568b6aa5 100644 --- a/src/include/units/unit.h +++ b/src/include/units/unit.h @@ -74,7 +74,6 @@ template struct unit : downcast_child, Child>> { static constexpr bool is_named = false; using prefix_family = no_prefix; - using base_prefix_family = no_prefix; }; /** @@ -101,7 +100,6 @@ struct named_unit : downcast_child, Child>> { static constexpr bool is_named = true; static constexpr auto symbol = Symbol; using prefix_family = PT; - using base_prefix_family = PT; }; /** @@ -123,7 +121,6 @@ struct named_scaled_unit : downcast_child(); using prefix_family = no_prefix; - using base_prefix_family = U::base_prefix_family; }; // template @@ -177,20 +172,18 @@ struct deduced_unit : downcast_child +template struct alias_unit : U { static constexpr bool is_named = true; static constexpr auto symbol = Symbol; - using prefix_family = U::base_prefix_family; - using base_prefix_family = U::base_prefix_family; + using prefix_family = PT; }; template struct prefixed_alias_unit : U { static constexpr bool is_named = true; static constexpr auto symbol = P::symbol + AU::symbol; - using prefix_family = no_prefix; - using base_prefix_family = AU::base_prefix_family; + using prefix_family = AU::prefix_family; }; } // namespace units