diff --git a/src/core/include/mp-units/framework/representation_concepts.h b/src/core/include/mp-units/framework/representation_concepts.h index 69668c74..44cbf4a3 100644 --- a/src/core/include/mp-units/framework/representation_concepts.h +++ b/src/core/include/mp-units/framework/representation_concepts.h @@ -340,11 +340,22 @@ concept SomeRepresentation = } // namespace detail +#ifdef MP_UNITS_XCODE15_HACKS +MP_UNITS_EXPORT template +concept RepresentationOf = + detail::SomeRepresentation && + ((QuantitySpec && + (detail::QuantityKindSpec || detail::IsOfCharacter)) || + (std::same_as && detail::IsOfCharacter)); + +#else + MP_UNITS_EXPORT template concept RepresentationOf = ((QuantitySpec && ((detail::QuantityKindSpec && detail::SomeRepresentation) || detail::IsOfCharacter)) || (std::same_as && detail::IsOfCharacter)); +#endif } // namespace mp_units