Create phmap.natvis

This commit is contained in:
greg
2019-06-05 09:31:16 -04:00
parent f84de40fcd
commit 0ba4233a65
+49
View File
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- VC 2015 -->
<Type Name="phmap::flat_hash_set&lt;*,*,*,*&gt;">
<AlternativeType Name="phmap::flat_hash_map&lt;*,*,*,*,*&gt;" />
<AlternativeType Name="phmap::node_hash_set&lt;*,*,*,*&gt;" />
<AlternativeType Name="phmap::node_hash_map&lt;*,*,*,*,*&gt;" />
<DisplayString>{{size = {size_}}}</DisplayString>
<Expand>
<CustomListItems MaxItemsPerView="1000" ExcludeView="Test">
<Variable Name="ctrl" InitialValue="ctrl_" />
<Variable Name="slot" InitialValue="slots_" />
<Variable Name="ctrl_end" InitialValue="ctrl_ + capacity_" />
<Variable Name="slot_end" InitialValue="slots_ + capacity_" />
<Size>size_</Size>
<Loop>
<Break Condition="slot == slot_end" />
<If Condition="*ctrl >= -1">
<Item>*slot,na</Item>
</If>
<Exec>++slot</Exec>
<Exec>++ctrl</Exec>
</Loop>
</CustomListItems>
</Expand>
</Type>
<Type Name="phmap::container_internal::map_slot_type&lt;*,*&gt;">
<DisplayString>{value}</DisplayString>
</Type>
<Type Name="phmap::container_internal::raw_hash_set&lt;*,*,*,*&gt;::iterator">
<DisplayString Condition="ctrl_ == 0">unset</DisplayString>
<DisplayString Condition="!(*ctrl_ >= 0)">end()</DisplayString>
<DisplayString>{*slot_,na}</DisplayString>
</Type>
<Type Name="spp::raw_hash_set&lt;*,*,*,*&gt;">
<DisplayString Condition="row_current==0">end()</DisplayString>
<DisplayString Condition="row_current->_group == -1">end()</DisplayString>
<DisplayString>{*col_current}</DisplayString>
<Expand>
<ExpandedItem Condition="row_current->_group != -1">*col_current</ExpandedItem>
</Expand>
</Type>
</AutoVisualizer>