From bb3e3bfa1f99f5d7935959699c6324b56965e156 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Fri, 6 Nov 2020 14:58:22 +0100 Subject: [PATCH] meta: containers traits are no longer internal details only --- src/entt/meta/container.hpp | 77 ++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/src/entt/meta/container.hpp b/src/entt/meta/container.hpp index bb1bbdf80..f7fc2df66 100644 --- a/src/entt/meta/container.hpp +++ b/src/entt/meta/container.hpp @@ -16,9 +16,11 @@ namespace entt { -namespace internal { - - +/** + * @brief Container traits. + * @tparam Container Type of the underlying container. + * @tparam Trait Traits associated with the underlying container. + */ template class... Trait> struct container_traits: public Trait... {}; @@ -263,9 +265,6 @@ struct fixed_sequence_container { }; -} - - /** * @brief Meta sequence container traits for `std::vector`s of any type. * @tparam Type The type of elements. @@ -273,12 +272,12 @@ struct fixed_sequence_container { */ template struct meta_sequence_container_traits> - : internal::container_traits< + : container_traits< std::vector, - internal::basic_container, - internal::basic_dynamic_container, - internal::basic_sequence_container, - internal::dynamic_sequence_container + basic_container, + basic_dynamic_container, + basic_sequence_container, + dynamic_sequence_container > {}; @@ -290,11 +289,11 @@ struct meta_sequence_container_traits> */ template struct meta_sequence_container_traits> - : internal::container_traits< + : container_traits< std::array, - internal::basic_container, - internal::basic_sequence_container, - internal::fixed_sequence_container + basic_container, + basic_sequence_container, + fixed_sequence_container > {}; @@ -307,13 +306,13 @@ struct meta_sequence_container_traits> */ template struct meta_associative_container_traits> - : internal::container_traits< + : container_traits< std::map, - internal::basic_container, - internal::basic_associative_container, - internal::basic_dynamic_container, - internal::basic_dynamic_associative_container, - internal::dynamic_associative_key_value_container + basic_container, + basic_associative_container, + basic_dynamic_container, + basic_dynamic_associative_container, + dynamic_associative_key_value_container > { /*! @brief Mapped type of the sequence container. */ @@ -330,13 +329,13 @@ struct meta_associative_container_traits> */ template struct meta_associative_container_traits> - : internal::container_traits< + : container_traits< std::unordered_map, - internal::basic_container, - internal::basic_associative_container, - internal::basic_dynamic_container, - internal::basic_dynamic_associative_container, - internal::dynamic_associative_key_value_container + basic_container, + basic_associative_container, + basic_dynamic_container, + basic_dynamic_associative_container, + dynamic_associative_key_value_container > { /*! @brief Mapped type of the sequence container. */ @@ -351,13 +350,13 @@ struct meta_associative_container_traits */ template struct meta_associative_container_traits> - : internal::container_traits< + : container_traits< std::set, - internal::basic_container, - internal::basic_associative_container, - internal::basic_dynamic_container, - internal::basic_dynamic_associative_container, - internal::dynamic_associative_key_only_container + basic_container, + basic_associative_container, + basic_dynamic_container, + basic_dynamic_associative_container, + dynamic_associative_key_only_container > {}; @@ -370,13 +369,13 @@ struct meta_associative_container_traits> */ template struct meta_associative_container_traits> - : internal::container_traits< + : container_traits< std::unordered_set, - internal::basic_container, - internal::basic_associative_container, - internal::basic_dynamic_container, - internal::basic_dynamic_associative_container, - internal::dynamic_associative_key_only_container + basic_container, + basic_associative_container, + basic_dynamic_container, + basic_dynamic_associative_container, + dynamic_associative_key_only_container > {};