From 628bfbd4caa6e9aab633546b70558147f36f28df Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Tue, 3 Sep 2024 15:11:41 +0200 Subject: [PATCH] natvis: meta --- TODO | 5 +- natvis/entt/meta.natvis | 196 +++++++++------------------------------- 2 files changed, 46 insertions(+), 155 deletions(-) diff --git a/TODO b/TODO index baeab6a34..3fbae3818 100644 --- a/TODO +++ b/TODO @@ -41,12 +41,9 @@ TODO: * review cmake warning about FetchContent_Populate (need .28 and EXCLUDE_FROM_ALL for FetchContent) * deprecate meta properties in favor of custom data * make meta objects safe to use with null nodes -* meta: vectors for details and props * suppress -Wself-move on CI with g++13 * view and view iterator specializations for multi, single and filtered elements * organizer support to groups * meta factory: share code and cleanup after the map-to-vector rework -* update natvis for meta, many nodes changes due to the map-to-vector switch * meta range: move id to meta objects and return plain types (?), then remove id from meta base and meta ctor too -* refine find_member in meta and use it also for conv and the others -* move find_member/find_overload to node.hpp, reuse them ie in meta_type::invoke +* reuse find_member/find_overload ie in meta_type::invoke diff --git a/natvis/entt/meta.natvis b/natvis/entt/meta.natvis index 4a1e977c6..8383be8bc 100644 --- a/natvis/entt/meta.natvis +++ b/natvis/entt/meta.natvis @@ -1,16 +1,24 @@ + {{ type={ type } }} {{}} - + + type + + {{ type={ type } }} {{}} - + + type + - {{ arity={ arity } }} + {{ id={ id } }} + {{}} + id arity @@ -19,184 +27,68 @@ {{}} type - value + value - - - - {{ arity={ arity } }} + {{ id={ id } }} + {{}} + id arity has_trait(entt::internal::meta_traits::is_const) has_trait(entt::internal::meta_traits::is_static) - custom - - { prop.size() } - - - - - - - prop_at(pos).second - ++pos - - - - + prop,view(simple) + custom + + {{}} + + - - - - {{ arity={ arity } }} + {{ id={ id } }} + {{}} + id + arity has_trait(entt::internal::meta_traits::is_const) has_trait(entt::internal::meta_traits::is_static) *next - custom - - { prop.size() } - - - - - - - prop_at(pos).second - ++pos - - - - + prop,view(simple) + custom - { value } + {{ key={ id } }} + {{}} - value + id + value - {{ arity={ arity } }} + {{ arity={ arity } }} + {{}} arity - - - - - - - - - - - - - - - - - - - - { ctor.size() } - - - - - - - ctor_at(pos).second - ++pos - - - - - - { base.size() } - - - - - - - base_at(pos).second - ++pos - - - - - - { conv.size() } - - - - - - - conv_at(pos).second - ++pos - - - - - - { data.size() } - - - - - - - data_at(pos).second - ++pos - - - - - - { func.size() } - - - - - - - func_at(pos).second - ++pos - - - - - - { prop.size() } - - - - - - - prop_at(pos).second - ++pos - - - - + ctor,view(simple) + base,view(simple) + conv,view(simple) + data,view(simple) + func,view(simple) + prop,view(simple) @@ -221,9 +113,9 @@ default_constructor != nullptr conversion_helper != nullptr from_void != nullptr - templ - custom - *details + templ + custom + *details @@ -236,7 +128,9 @@ { any } - + + any + { storage }