Michele Caini 4 лет назад
Родитель
Сommit
0096f6d962
1 измененных файлов с 179 добавлено и 1 удалено
  1. 179 1
      natvis/entt/meta.natvis

+ 179 - 1
natvis/entt/meta.natvis

@@ -2,6 +2,184 @@
 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
 	<Type Name="entt::meta_any">
 		<DisplayString Condition="node != nullptr">{{ type={ node->info->alias,na }, policy={ storage.mode,en } }}</DisplayString>
-		<DisplayString Condition="node == nullptr">{{}}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::meta_associative_container">
+		<DisplayString Condition="mapped_type_node != nullptr">{{ key_type={ key_type_node->info->alias,na }, mapped_type={ mapped_type_node->info->alias,na } }}</DisplayString>
+		<DisplayString Condition="key_type_node != nullptr">{{ key_type={ key_type_node->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_base_node">
+		<DisplayString Condition="type != nullptr">{{ type={ type->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_conv_node">
+		<DisplayString Condition="type != nullptr">{{ type={ type->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_ctor_node">
+		<DisplayString Condition="arg != nullptr">{{ arity={ arity } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_data_node">
+		<DisplayString Condition="type != nullptr">{{ type={ type->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<Item Name="[id]">id</Item>
+			<Item Name="[arity]">arity</Item>
+			<Item Name="[is_const]">!!(traits &amp; entt::internal::meta_traits::is_const)</Item>
+			<Item Name="[is_static]">!!(traits &amp; entt::internal::meta_traits::is_static)</Item>
+			<Synthetic Name="[properties]" Condition="prop != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>prop</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_data">
+		<DisplayString Condition="node != nullptr">{ *node }</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<ExpandedItem Condition="node != nullptr">node</ExpandedItem>
+		</Expand>
+	</Type>
+	<Type Name="entt::internal::meta_func_node"	>
+		<DisplayString Condition="ret != nullptr">{{ arity={ arity }, ret={ ret->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<Item Name="[id]">id</Item>
+			<Item Name="[is_const]">!!(traits &amp; entt::internal::meta_traits::is_const)</Item>
+			<Item Name="[is_static]">!!(traits &amp; entt::internal::meta_traits::is_static)</Item>
+			<Synthetic Name="[properties]" Condition="prop != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>prop</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_func">
+		<DisplayString Condition="node != nullptr">{ *node }</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<ExpandedItem Condition="node != nullptr">node</ExpandedItem>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_handle">
+		<DisplayString>{ any }</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_prop_node">
+		<DisplayString Condition="value.node != nullptr">{{ key_type={ id.node->info->alias,na }, mapped_type={ value.node->info->alias,na } }}</DisplayString>
+		<DisplayString Condition="id.node != nullptr">{{ key_type={ id.node->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<Item Name="[key]">id</Item>
+			<Item Name="[value]">value</Item>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_prop">
+		<DisplayString Condition="node != nullptr">{ *node }</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<ExpandedItem Condition="node != nullptr">node</ExpandedItem>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_sequence_container">
+		<DisplayString Condition="value_type_node != nullptr">{{ value_type={ value_type_node->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+	</Type>
+	<Type Name="entt::internal::meta_template_node">
+		<DisplayString Condition="type != nullptr">{{ type={ type->info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<Item Name="[arity]">arity</Item>
+		</Expand>
+	</Type>
+	<Type Name="entt::internal::meta_type_node">
+		<DisplayString Condition="info != nullptr">{{ type={ info->alias,na } }}</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<Item Name="[id]">id</Item>
+			<Item Name="[sizeof]">size_of</Item>
+			<Item Name="[is_arithmetic]">!!(traits &amp; entt::internal::meta_traits::is_arithmetic)</Item>
+			<Item Name="[is_array]">!!(traits &amp; entt::internal::meta_traits::is_array)</Item>
+			<Item Name="[is_enum]">!!(traits &amp; entt::internal::meta_traits::is_enum)</Item>
+			<Item Name="[is_class]">!!(traits &amp; entt::internal::meta_traits::is_class)</Item>
+			<Item Name="[is_pointer]">!!(traits &amp; entt::internal::meta_traits::is_pointer)</Item>
+			<Item Name="[is_meta_pointer_like]">!!(traits &amp; entt::internal::meta_traits::is_meta_pointer_like)</Item>
+			<Item Name="[is_meta_sequence_container]">!!(traits &amp; entt::internal::meta_traits::is_meta_sequence_container)</Item>
+			<Item Name="[is_meta_associative_container]">!!(traits &amp; entt::internal::meta_traits::is_meta_associative_container)</Item>
+			<Item Name="[default_constructor]">default_constructor != nullptr</Item>
+			<Item Name="[conversion_helper]">conversion_helper != nullptr</Item>
+			<Item Name="[template_info]" Condition="templ != nullptr">*templ</Item>
+			<Synthetic Name="[ctor]" Condition="ctor != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>ctor</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+			<Synthetic Name="[base]" Condition="base != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>base</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+			<Synthetic Name="[conv]" Condition="conv != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>conv</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+			<Synthetic Name="[data]" Condition="data != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>data</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+			<Synthetic Name="[func]" Condition="func != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>func</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+			<Synthetic Name="[properties]" Condition="prop != nullptr">
+				<Expand>
+					<LinkedListItems>
+						<HeadPointer>prop</HeadPointer>
+						<NextPointer>next</NextPointer>
+						<ValueNode>*this</ValueNode>
+					</LinkedListItems>
+				</Expand>
+			</Synthetic>
+		</Expand>
+	</Type>
+	<Type Name="entt::meta_type">
+		<DisplayString Condition="node != nullptr">{ *node }</DisplayString>
+		<DisplayString>{{}}</DisplayString>
+		<Expand>
+			<ExpandedItem Condition="node != nullptr">node</ExpandedItem>
+		</Expand>
 	</Type>
 </AutoVisualizer>