diff --git a/src/core/include/mp-units/framework/representation_concepts.h b/src/core/include/mp-units/framework/representation_concepts.h index 6019d215..5adbbee0 100644 --- a/src/core/include/mp-units/framework/representation_concepts.h +++ b/src/core/include/mp-units/framework/representation_concepts.h @@ -79,10 +79,14 @@ concept Scalable = CastableNumber || (requires { typename wrapped_type_t; } && CastableNumber> && ScalableNumber, std::intmax_t>>); +template +concept WeaklyRegular = std::copyable && std::equality_comparable; + } // namespace detail MP_UNITS_EXPORT template -concept Representation = (is_scalar || is_vector || is_tensor)&&std::regular && detail::Scalable; +concept Representation = + (is_scalar || is_vector || is_tensor)&&detail::WeaklyRegular && detail::Scalable; MP_UNITS_EXPORT template concept RepresentationOf = Representation && ((Ch == quantity_character::scalar && is_scalar) ||