Browse Source

natvis: dispatcher

Michele Caini 4 years ago
parent
commit
92c5c656c7
1 changed files with 29 additions and 6 deletions
  1. 29 6
      natvis/entt/signal.natvis

+ 29 - 6
natvis/entt/signal.natvis

@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
+	<Type Name="entt::connection">
+		<DisplayString>{{ bound={ signal != nullptr } }}</DisplayString>
+	</Type>
 	<Type Name="entt::delegate&lt;*&gt;">
 	<Type Name="entt::delegate&lt;*&gt;">
 		<DisplayString>{{ type={ "$T1" } }}</DisplayString>
 		<DisplayString>{{ type={ "$T1" } }}</DisplayString>
 		<Expand>
 		<Expand>
@@ -7,6 +10,32 @@
 			<Item Name="[data]">data</Item>
 			<Item Name="[data]">data</Item>
 		</Expand>
 		</Expand>
 	</Type>
 	</Type>
+	<Type Name="entt::dispatcher">
+		<Intrinsic Name="pool_at" Expression="pools.packed.first_base::value[idx].element.second">
+			<Parameter Name="idx" Type="int"/>
+		</Intrinsic>
+		<DisplayString>{{ size={ pools.size() } }}</DisplayString>
+		<Expand>
+			<Synthetic Name="[pools]">
+				<DisplayString>{ pools.size() }</DisplayString>
+				<Expand>
+					<IndexListItems>
+						<Size>pools.size()</Size>
+						<ValueNode>pool_at($i)</ValueNode>
+					</IndexListItems>
+				</Expand>
+			</Synthetic>
+		</Expand>
+	</Type>
+	<Type Name="entt::dispatcher::pool_handler&lt;*&gt;">
+		<DisplayString>{{ size={ events.size() }, event={ "$T1" } }}</DisplayString>
+		<Expand>
+			<Item Name="[signal]">signal</Item>
+		</Expand>
+	</Type>
+	<Type Name="entt::scoped_connection">
+		<DisplayString>{ conn }</DisplayString>
+	</Type>
 	<Type Name="entt::sigh&lt;*&gt;">
 	<Type Name="entt::sigh&lt;*&gt;">
 		<DisplayString>{{ size={ calls.size() }, type={ "$T1" } }}</DisplayString>
 		<DisplayString>{{ size={ calls.size() }, type={ "$T1" } }}</DisplayString>
 		<Expand>
 		<Expand>
@@ -23,10 +52,4 @@
 			<Item Name="[offset]">offset</Item>
 			<Item Name="[offset]">offset</Item>
 		</Expand>
 		</Expand>
 	</Type>
 	</Type>
-	<Type Name="entt::connection">
-		<DisplayString>{{ bound={ signal != nullptr } }}</DisplayString>
-	</Type>
-	<Type Name="entt::scoped_connection">
-		<DisplayString>{ conn }</DisplayString>
-	</Type>
 </AutoVisualizer>
 </AutoVisualizer>