diff --git a/src/core/include/mp-units/framework/dimension_concepts.h b/src/core/include/mp-units/framework/dimension_concepts.h index 8b868b87..cd864853 100644 --- a/src/core/include/mp-units/framework/dimension_concepts.h +++ b/src/core/include/mp-units/framework/dimension_concepts.h @@ -42,7 +42,7 @@ struct dimension_interface; * Satisfied by all dimension types in the library. */ MP_UNITS_EXPORT template -concept Dimension = detail::SymbolicConstant && std::derived_from; +concept Dimension = std::derived_from && detail::SymbolicConstant; MP_UNITS_EXPORT template struct base_dimension; diff --git a/src/core/include/mp-units/framework/quantity_point_concepts.h b/src/core/include/mp-units/framework/quantity_point_concepts.h index 71c07e62..398200c8 100644 --- a/src/core/include/mp-units/framework/quantity_point_concepts.h +++ b/src/core/include/mp-units/framework/quantity_point_concepts.h @@ -65,7 +65,7 @@ struct point_origin_interface; * Satisfied by either quantity points or by all types derived from `absolute_point_origin` class template. */ MP_UNITS_EXPORT template -concept PointOrigin = detail::SymbolicConstant && std::derived_from; +concept PointOrigin = std::derived_from && detail::SymbolicConstant; /** * @brief A concept matching all quantity point origins for a specified quantity type in the library diff --git a/src/core/include/mp-units/framework/quantity_spec_concepts.h b/src/core/include/mp-units/framework/quantity_spec_concepts.h index 6047c0ac..354c9096 100644 --- a/src/core/include/mp-units/framework/quantity_spec_concepts.h +++ b/src/core/include/mp-units/framework/quantity_spec_concepts.h @@ -36,7 +36,7 @@ struct quantity_spec_interface_base; } MP_UNITS_EXPORT template -concept QuantitySpec = detail::SymbolicConstant && std::derived_from; +concept QuantitySpec = std::derived_from && detail::SymbolicConstant; template struct kind_of_; diff --git a/src/core/include/mp-units/framework/unit_concepts.h b/src/core/include/mp-units/framework/unit_concepts.h index c36521a7..060728f4 100644 --- a/src/core/include/mp-units/framework/unit_concepts.h +++ b/src/core/include/mp-units/framework/unit_concepts.h @@ -42,7 +42,7 @@ struct unit_interface; * Satisfied by all unit types provided by the library. */ MP_UNITS_EXPORT template -concept Unit = detail::SymbolicConstant && std::derived_from; +concept Unit = std::derived_from && detail::SymbolicConstant; MP_UNITS_EXPORT template struct named_unit; diff --git a/src/core/include/mp-units/framework/unit_magnitude_concepts.h b/src/core/include/mp-units/framework/unit_magnitude_concepts.h index 2586cfef..7f04a232 100644 --- a/src/core/include/mp-units/framework/unit_magnitude_concepts.h +++ b/src/core/include/mp-units/framework/unit_magnitude_concepts.h @@ -52,7 +52,7 @@ template struct unit_magnitude; template -constexpr bool is_mag_constant = detail::SymbolicConstant && is_derived_from_specialization_of_v; +constexpr bool is_mag_constant = is_derived_from_specialization_of_v && detail::SymbolicConstant; } // namespace detail