From 6f1832ceb3d3d862936f551a190184d3e39375bc Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Fri, 25 Aug 2023 20:27:38 +0200 Subject: [PATCH] feat: `BaseQuantitySpec` concept removed as it had no use --- .../mp-units/bits/quantity_spec_concepts.h | 21 ------------------- test/unit_test/static/concepts_test.cpp | 12 ----------- test/unit_test/static/quantity_spec_test.cpp | 18 ---------------- 3 files changed, 51 deletions(-) diff --git a/src/core/include/mp-units/bits/quantity_spec_concepts.h b/src/core/include/mp-units/bits/quantity_spec_concepts.h index e0e8e975..d685c923 100644 --- a/src/core/include/mp-units/bits/quantity_spec_concepts.h +++ b/src/core/include/mp-units/bits/quantity_spec_concepts.h @@ -60,18 +60,6 @@ template inline constexpr bool is_derived_from_specialization_of_quantity_spec = requires(T* t) { to_base_specialization_of_quantity_spec(t); }; -#ifdef __cpp_explicit_this_parameter -template -void to_base_specialization_of_base_quantity_spec(const volatile quantity_spec*); -#else -template -void to_base_specialization_of_base_quantity_spec(const volatile quantity_spec*); -#endif - -template -inline constexpr bool is_derived_from_specialization_of_base_quantity_spec = - requires(T* t) { to_base_specialization_of_base_quantity_spec(t); }; - template inline constexpr bool is_specialization_of_quantity_spec = false; @@ -92,15 +80,6 @@ template concept NamedQuantitySpec = is_derived_from_specialization_of_quantity_spec && (!is_specialization_of_quantity_spec)&&(!QuantityKindSpec); -/** - * @brief Concept matching all named base quantity specification types - * - * Satisfied by all types that derive from `quantity_spec` taking a base dimension - * as a template parameter. - */ -template -concept BaseQuantitySpec = NamedQuantitySpec && is_derived_from_specialization_of_base_quantity_spec; - template struct is_dimensionless : std::false_type {}; diff --git a/test/unit_test/static/concepts_test.cpp b/test/unit_test/static/concepts_test.cpp index e591a4af..8095275d 100644 --- a/test/unit_test/static/concepts_test.cpp +++ b/test/unit_test/static/concepts_test.cpp @@ -107,18 +107,6 @@ static_assert(!detail::NamedQuantitySpec); static_assert(!detail::NamedQuantitySpec); static_assert(!detail::NamedQuantitySpec); -// BaseQuantitySpec -static_assert(detail::BaseQuantitySpec); -static_assert(detail::BaseQuantitySpec); -static_assert(!detail::BaseQuantitySpec)>>); -static_assert(!detail::BaseQuantitySpec); -static_assert(!detail::BaseQuantitySpec>); -static_assert(!detail::BaseQuantitySpec(isq::length))>>); -static_assert(!detail::BaseQuantitySpec); -static_assert(!detail::BaseQuantitySpec); -static_assert(!detail::BaseQuantitySpec); -static_assert(!detail::BaseQuantitySpec); - // IntermediateDerivedQuantitySpec static_assert(!detail::IntermediateDerivedQuantitySpec); static_assert(!detail::IntermediateDerivedQuantitySpec); diff --git a/test/unit_test/static/quantity_spec_test.cpp b/test/unit_test/static/quantity_spec_test.cpp index c113f63b..2183fb5f 100644 --- a/test/unit_test/static/quantity_spec_test.cpp +++ b/test/unit_test/static/quantity_spec_test.cpp @@ -88,111 +88,93 @@ QUANTITY_SPEC_(kinetic_energy, mechanical_energy, mass* pow<2>(speed)); // concepts verification static_assert(QuantitySpec); -static_assert(detail::BaseQuantitySpec); static_assert(detail::NamedQuantitySpec); static_assert(!detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec); -static_assert(!detail::BaseQuantitySpec); static_assert(detail::NamedQuantitySpec); static_assert(!detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec); -static_assert(!detail::BaseQuantitySpec); static_assert(!detail::NamedQuantitySpec); static_assert(detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec); -static_assert(!detail::BaseQuantitySpec); static_assert(detail::NamedQuantitySpec); static_assert(!detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec>); -static_assert(!detail::BaseQuantitySpec>); static_assert(!detail::NamedQuantitySpec>); static_assert(!detail::IntermediateDerivedQuantitySpec>); static_assert(detail::QuantityKindSpec>); static_assert(QuantitySpec); -static_assert(!detail::BaseQuantitySpec); static_assert(detail::NamedQuantitySpec); static_assert(!detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec); -static_assert(!detail::BaseQuantitySpec); static_assert(!detail::NamedQuantitySpec); static_assert(detail::IntermediateDerivedQuantitySpec); static_assert(!detail::QuantityKindSpec); static_assert(QuantitySpec>); -static_assert(!detail::BaseQuantitySpec>); static_assert(!detail::NamedQuantitySpec>); static_assert(detail::IntermediateDerivedQuantitySpec>); static_assert(detail::QuantityKindSpec>); static_assert(QuantitySpec / kind_of