diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index 0c1c96eff..7a684e727 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -49,6 +49,7 @@ public: template meta_sequence_container(const meta_ctx &area, Type &instance) noexcept : ctx{&area}, + data{&instance}, value_type_node{&internal::resolve}, const_reference_node{&internal::resolve>>}, size_fn{meta_sequence_container_traits>::size}, @@ -59,8 +60,7 @@ public: end_fn{meta_sequence_container_traits>::end}, insert_fn{meta_sequence_container_traits>::insert}, erase_fn{meta_sequence_container_traits>::erase}, - const_only{std::is_const_v}, - data{&instance} {} + const_only{std::is_const_v} {} [[nodiscard]] inline meta_type value_type() const noexcept; [[nodiscard]] inline size_type size() const noexcept; @@ -76,6 +76,7 @@ public: private: const meta_ctx *ctx{}; + const void *data{}; internal::meta_type_node (*value_type_node)(const internal::meta_context &){}; internal::meta_type_node (*const_reference_node)(const internal::meta_context &){}; size_type (*size_fn)(const void *){}; @@ -86,7 +87,6 @@ private: iterator (*end_fn)(const meta_ctx &, void *, const void *){}; iterator (*insert_fn)(const meta_ctx &, void *, const void *, const void *, const iterator &){}; iterator (*erase_fn)(const meta_ctx &, void *, const iterator &){}; - const void *data{}; bool const_only{}; }; @@ -112,6 +112,7 @@ public: template meta_associative_container(const meta_ctx &area, Type &instance) noexcept : ctx{&area}, + data{&instance}, key_type_node{&internal::resolve}, value_type_node{&internal::resolve}, size_fn{&meta_associative_container_traits>::size}, @@ -122,8 +123,7 @@ public: insert_fn{&meta_associative_container_traits>::insert}, erase_fn{&meta_associative_container_traits>::erase}, find_fn{&meta_associative_container_traits>::find}, - const_only{std::is_const_v}, - data{&instance} { + const_only{std::is_const_v} { if constexpr(!meta_associative_container_traits>::key_only) { mapped_type_node = &internal::resolve; } @@ -144,6 +144,7 @@ public: private: const meta_ctx *ctx{}; + const void *data{}; internal::meta_type_node (*key_type_node)(const internal::meta_context &){}; internal::meta_type_node (*mapped_type_node)(const internal::meta_context &){}; internal::meta_type_node (*value_type_node)(const internal::meta_context &){}; @@ -155,7 +156,6 @@ private: bool (*insert_fn)(void *, const void *, const void *){}; size_type (*erase_fn)(void *, const void *){}; iterator (*find_fn)(const meta_ctx &, void *, const void *, const void *){}; - const void *data{}; bool const_only{}; };