diff --git a/src/core/include/units/bits/derived_unit.h b/src/core/include/units/bits/derived_deduced_unit.h similarity index 92% rename from src/core/include/units/bits/derived_unit.h rename to src/core/include/units/bits/derived_deduced_unit.h index f078c26c..86f3f523 100644 --- a/src/core/include/units/bits/derived_unit.h +++ b/src/core/include/units/bits/derived_deduced_unit.h @@ -33,7 +33,7 @@ inline constexpr bool same_scaled_units = false; template inline constexpr bool same_scaled_units, Us...> = (UnitOf && ...); -// derived_unit +// derived_deduced_unit template constexpr ratio inverse_if_negative(const ratio& r) @@ -52,6 +52,7 @@ constexpr ratio derived_ratio(exponent_list) } template -using derived_unit = scaled_unit(typename D::recipe()), typename D::coherent_unit::reference>; +using derived_deduced_unit = + scaled_unit(typename D::recipe()), typename D::coherent_unit::reference>; } // namespace units::detail diff --git a/src/core/include/units/unit.h b/src/core/include/units/unit.h index be9c3ff2..278c9c7c 100644 --- a/src/core/include/units/unit.h +++ b/src/core/include/units/unit.h @@ -26,7 +26,7 @@ #include // IWYU pragma: begin_exports -#include +#include #include #include #include @@ -155,7 +155,7 @@ struct prefixed_unit : downcast_dispatch requires detail::same_scaled_units && (U::is_named && (URest::is_named && ... && true)) -struct derived_unit : downcast_dispatch> { +struct derived_deduced_unit : downcast_dispatch> { static constexpr bool is_named = false; static constexpr auto symbol = detail::derived_symbol_text(); using prefix_family = no_prefix; diff --git a/src/systems/isq-iec80000/include/units/isq/iec80000/transfer_rate.h b/src/systems/isq-iec80000/include/units/isq/iec80000/transfer_rate.h index bd2bb20c..0cd87928 100644 --- a/src/systems/isq-iec80000/include/units/isq/iec80000/transfer_rate.h +++ b/src/systems/isq-iec80000/include/units/isq/iec80000/transfer_rate.h @@ -39,14 +39,14 @@ struct dim_transfer_rate : derived_dimension, exponent> {}; -struct kilobyte_per_second : derived_unit {}; -struct megabyte_per_second : derived_unit {}; -struct gigabyte_per_second : derived_unit {}; -struct terabyte_per_second : derived_unit {}; -struct petabyte_per_second : derived_unit {}; -struct exabyte_per_second : derived_unit {}; -struct zettabyte_per_second : derived_unit {}; -struct yottabyte_per_second : derived_unit {}; +struct kilobyte_per_second : derived_deduced_unit {}; +struct megabyte_per_second : derived_deduced_unit {}; +struct gigabyte_per_second : derived_deduced_unit {}; +struct terabyte_per_second : derived_deduced_unit {}; +struct petabyte_per_second : derived_deduced_unit {}; +struct exabyte_per_second : derived_deduced_unit {}; +struct zettabyte_per_second : derived_deduced_unit {}; +struct yottabyte_per_second : derived_deduced_unit {}; template concept TransferRate = QuantityOf; diff --git a/src/systems/si-fps/include/units/isq/si/fps/energy.h b/src/systems/si-fps/include/units/isq/si/fps/energy.h index 7278f016..f0f69c65 100644 --- a/src/systems/si-fps/include/units/isq/si/fps/energy.h +++ b/src/systems/si-fps/include/units/isq/si/fps/energy.h @@ -40,7 +40,7 @@ struct foot_poundal : unit {}; struct dim_energy : isq::dim_energy {}; // https://en.wikipedia.org/wiki/Foot-pound_(energy) -struct foot_pound_force : derived_unit {}; +struct foot_pound_force : derived_deduced_unit {}; template U, Representation Rep = double> using energy = quantity; diff --git a/src/systems/si-fps/include/units/isq/si/fps/power.h b/src/systems/si-fps/include/units/isq/si/fps/power.h index d48d1f31..37fe6ff7 100644 --- a/src/systems/si-fps/include/units/isq/si/fps/power.h +++ b/src/systems/si-fps/include/units/isq/si/fps/power.h @@ -39,7 +39,8 @@ struct foot_poundal_per_second : unit {}; struct dim_power : isq::dim_power {}; -struct foot_pound_force_per_second : derived_unit {}; +struct foot_pound_force_per_second : + derived_deduced_unit {}; struct horse_power : named_scaled_unit {}; diff --git a/src/systems/si-fps/include/units/isq/si/fps/speed.h b/src/systems/si-fps/include/units/isq/si/fps/speed.h index 816aff3a..a2577253 100644 --- a/src/systems/si-fps/include/units/isq/si/fps/speed.h +++ b/src/systems/si-fps/include/units/isq/si/fps/speed.h @@ -41,8 +41,8 @@ struct dim_speed : isq::dim_speed U, Representation Rep = double> using speed = quantity; -struct mile_per_hour : derived_unit {}; -struct nautical_mile_per_hour : derived_unit {}; +struct mile_per_hour : derived_deduced_unit {}; +struct nautical_mile_per_hour : derived_deduced_unit {}; struct knot : alias_unit {}; #ifndef UNITS_NO_LITERALS diff --git a/src/systems/si-fps/include/units/isq/si/fps/volume.h b/src/systems/si-fps/include/units/isq/si/fps/volume.h index a461790c..b7b813a6 100644 --- a/src/systems/si-fps/include/units/isq/si/fps/volume.h +++ b/src/systems/si-fps/include/units/isq/si/fps/volume.h @@ -37,7 +37,7 @@ namespace units::isq::si::fps { struct cubic_foot : unit {}; struct dim_volume : isq::dim_volume {}; -struct cubic_yard : derived_unit {}; +struct cubic_yard : derived_deduced_unit {}; template U, Representation Rep = double> using volume = quantity; diff --git a/src/systems/si-international/include/units/isq/si/international/area.h b/src/systems/si-international/include/units/isq/si/international/area.h index 74bd6ad1..ce30183c 100644 --- a/src/systems/si-international/include/units/isq/si/international/area.h +++ b/src/systems/si-international/include/units/isq/si/international/area.h @@ -35,7 +35,7 @@ namespace units::isq::si::international { -struct square_foot : derived_unit {}; +struct square_foot : derived_deduced_unit {}; #ifndef UNITS_NO_LITERALS diff --git a/src/systems/si-international/include/units/isq/si/international/speed.h b/src/systems/si-international/include/units/isq/si/international/speed.h index 1f81a592..16ef5a66 100644 --- a/src/systems/si-international/include/units/isq/si/international/speed.h +++ b/src/systems/si-international/include/units/isq/si/international/speed.h @@ -34,9 +34,9 @@ namespace units::isq::si::international { -struct mile_per_hour : derived_unit {}; +struct mile_per_hour : derived_deduced_unit {}; struct nautical_mile_per_hour : - derived_unit {}; + derived_deduced_unit {}; struct knot : alias_unit {}; #ifndef UNITS_NO_LITERALS diff --git a/src/systems/si-international/include/units/isq/si/international/volume.h b/src/systems/si-international/include/units/isq/si/international/volume.h index 7c7b65cc..f4a5e5d5 100644 --- a/src/systems/si-international/include/units/isq/si/international/volume.h +++ b/src/systems/si-international/include/units/isq/si/international/volume.h @@ -35,7 +35,7 @@ namespace units::isq::si::international { -struct cubic_foot : derived_unit {}; +struct cubic_foot : derived_deduced_unit {}; #ifndef UNITS_NO_LITERALS diff --git a/src/systems/si/include/units/isq/si/area.h b/src/systems/si/include/units/isq/si/area.h index a321fdda..cd6efb2b 100644 --- a/src/systems/si/include/units/isq/si/area.h +++ b/src/systems/si/include/units/isq/si/area.h @@ -37,26 +37,26 @@ namespace units::isq::si { struct square_metre : unit {}; struct dim_area : isq::dim_area {}; -struct square_yoctometre : derived_unit {}; -struct square_zeptometre : derived_unit {}; -struct square_attometre : derived_unit {}; -struct square_femtometre : derived_unit {}; -struct square_picometre : derived_unit {}; -struct square_nanometre : derived_unit {}; -struct square_micrometre : derived_unit {}; -struct square_millimetre : derived_unit {}; -struct square_centimetre : derived_unit {}; -struct square_decimetre : derived_unit {}; -struct square_decametre : derived_unit {}; -struct square_hectometre : derived_unit {}; -struct square_kilometre : derived_unit {}; -struct square_megametre : derived_unit {}; -struct square_gigametre : derived_unit {}; -struct square_terametre : derived_unit {}; -struct square_petametre : derived_unit {}; -struct square_exametre : derived_unit {}; -struct square_zettametre : derived_unit {}; -struct square_yottametre : derived_unit {}; +struct square_yoctometre : derived_deduced_unit {}; +struct square_zeptometre : derived_deduced_unit {}; +struct square_attometre : derived_deduced_unit {}; +struct square_femtometre : derived_deduced_unit {}; +struct square_picometre : derived_deduced_unit {}; +struct square_nanometre : derived_deduced_unit {}; +struct square_micrometre : derived_deduced_unit {}; +struct square_millimetre : derived_deduced_unit {}; +struct square_centimetre : derived_deduced_unit {}; +struct square_decimetre : derived_deduced_unit {}; +struct square_decametre : derived_deduced_unit {}; +struct square_hectometre : derived_deduced_unit {}; +struct square_kilometre : derived_deduced_unit {}; +struct square_megametre : derived_deduced_unit {}; +struct square_gigametre : derived_deduced_unit {}; +struct square_terametre : derived_deduced_unit {}; +struct square_petametre : derived_deduced_unit {}; +struct square_exametre : derived_deduced_unit {}; +struct square_zettametre : derived_deduced_unit {}; +struct square_yottametre : derived_deduced_unit {}; struct are : alias_unit {}; struct centiare : prefixed_alias_unit {}; diff --git a/src/systems/si/include/units/isq/si/speed.h b/src/systems/si/include/units/isq/si/speed.h index 4d03d36b..ddb022cd 100644 --- a/src/systems/si/include/units/isq/si/speed.h +++ b/src/systems/si/include/units/isq/si/speed.h @@ -37,7 +37,7 @@ namespace units::isq::si { struct metre_per_second : unit {}; struct dim_speed : isq::dim_speed {}; -struct kilometre_per_hour : derived_unit {}; +struct kilometre_per_hour : derived_deduced_unit {}; template U, Representation Rep = double> using speed = quantity; diff --git a/src/systems/si/include/units/isq/si/volume.h b/src/systems/si/include/units/isq/si/volume.h index 8430e60b..6f0dc9b1 100644 --- a/src/systems/si/include/units/isq/si/volume.h +++ b/src/systems/si/include/units/isq/si/volume.h @@ -37,26 +37,26 @@ namespace units::isq::si { struct cubic_metre : unit {}; struct dim_volume : isq::dim_volume {}; -struct cubic_yoctometre : derived_unit {}; -struct cubic_zeptometre : derived_unit {}; -struct cubic_attometre : derived_unit {}; -struct cubic_femtometre : derived_unit {}; -struct cubic_picometre : derived_unit {}; -struct cubic_nanometre : derived_unit {}; -struct cubic_micrometre : derived_unit {}; -struct cubic_millimetre : derived_unit {}; -struct cubic_centimetre : derived_unit {}; -struct cubic_decimetre : derived_unit {}; -struct cubic_decametre : derived_unit {}; -struct cubic_hectometre : derived_unit {}; -struct cubic_kilometre : derived_unit {}; -struct cubic_megametre : derived_unit {}; -struct cubic_gigametre : derived_unit {}; -struct cubic_terametre : derived_unit {}; -struct cubic_petametre : derived_unit {}; -struct cubic_exametre : derived_unit {}; -struct cubic_zettametre : derived_unit {}; -struct cubic_yottametre : derived_unit {}; +struct cubic_yoctometre : derived_deduced_unit {}; +struct cubic_zeptometre : derived_deduced_unit {}; +struct cubic_attometre : derived_deduced_unit {}; +struct cubic_femtometre : derived_deduced_unit {}; +struct cubic_picometre : derived_deduced_unit {}; +struct cubic_nanometre : derived_deduced_unit {}; +struct cubic_micrometre : derived_deduced_unit {}; +struct cubic_millimetre : derived_deduced_unit {}; +struct cubic_centimetre : derived_deduced_unit {}; +struct cubic_decimetre : derived_deduced_unit {}; +struct cubic_decametre : derived_deduced_unit {}; +struct cubic_hectometre : derived_deduced_unit {}; +struct cubic_kilometre : derived_deduced_unit {}; +struct cubic_megametre : derived_deduced_unit {}; +struct cubic_gigametre : derived_deduced_unit {}; +struct cubic_terametre : derived_deduced_unit {}; +struct cubic_petametre : derived_deduced_unit {}; +struct cubic_exametre : derived_deduced_unit {}; +struct cubic_zettametre : derived_deduced_unit {}; +struct cubic_yottametre : derived_deduced_unit {}; struct litre : alias_unit {}; struct yoctolitre : prefixed_alias_unit {}; diff --git a/test/unit_test/runtime/fmt_test.cpp b/test/unit_test/runtime/fmt_test.cpp index abc595e6..78cb6a25 100644 --- a/test/unit_test/runtime/fmt_test.cpp +++ b/test/unit_test/runtime/fmt_test.cpp @@ -189,7 +189,7 @@ TEST_CASE("operator<< on a quantity", "[text][ostream][fmt]") SECTION("surface tension") { struct newton_per_centimetre : - derived_unit {}; + derived_deduced_unit {}; const surface_tension q(123); os << q; diff --git a/test/unit_test/static/custom_unit_test.cpp b/test/unit_test/static/custom_unit_test.cpp index 9ea04d20..15216be8 100644 --- a/test/unit_test/static/custom_unit_test.cpp +++ b/test/unit_test/static/custom_unit_test.cpp @@ -73,7 +73,7 @@ struct kilogram_per_second : unit {}; struct dim_mass_rate : derived_dimension, units::exponent> { }; -struct kilogram_per_hour : derived_unit {}; +struct kilogram_per_hour : derived_deduced_unit {}; [[maybe_unused]] constexpr auto a = 1_q_kg / 1_q_h; } // namespace diff --git a/test/unit_test/static/unit_test.cpp b/test/unit_test/static/unit_test.cpp index 4856b09a..059ef739 100644 --- a/test/unit_test/static/unit_test.cpp +++ b/test/unit_test/static/unit_test.cpp @@ -55,7 +55,7 @@ static_assert([](P) { struct metre_per_second : unit {}; struct dim_speed : derived_dimension, units::exponent> {}; -struct kilometre_per_hour : derived_unit {}; +struct kilometre_per_hour : derived_deduced_unit {}; static_assert(equivalent); static_assert(equivalent);