@@ -60,8 +60,7 @@ concept meta_associative_container_like = requires(Type value) {
6060 * @tparam Type Type of underlying sequence container.
6161 */
6262template <cvref_unqualified Type>
63- requires internal::meta_sequence_container_like<Type>
64- struct meta_sequence_container_traits <Type> {
63+ struct basic_meta_sequence_container_traits {
6564 /* ! @brief Unsigned integer type. */
6665 using size_type = meta_sequence_container::size_type;
6766 /* ! @brief Meta iterator type. */
@@ -183,8 +182,7 @@ struct meta_sequence_container_traits<Type> {
183182 * @tparam Type Type of underlying associative container.
184183 */
185184template <cvref_unqualified Type>
186- requires internal::meta_associative_container_like<Type>
187- struct meta_associative_container_traits <Type> {
185+ struct basic_meta_associative_container_traits {
188186 /* ! @brief Unsigned integer type. */
189187 using size_type = meta_associative_container::size_type;
190188 /* ! @brief Meta iterator type. */
@@ -281,6 +279,20 @@ struct meta_associative_container_traits<Type> {
281279 }
282280};
283281
282+ /* *
283+ * @brief Traits meta sequence container like types.
284+ * @tparam Type Container type to inspect.
285+ */
286+ template <internal::meta_sequence_container_like Type>
287+ struct meta_sequence_container_traits <Type>: basic_meta_sequence_container_traits<Type> {};
288+
289+ /* *
290+ * @brief Traits for meta associative container like types.
291+ * @tparam Type Container type to inspect.
292+ */
293+ template <internal::meta_associative_container_like Type>
294+ struct meta_associative_container_traits <Type>: basic_meta_associative_container_traits<Type> {};
295+
284296} // namespace entt
285297
286298#endif
0 commit comments