Skip to content

Commit d973876

Browse files
committed
Fixup
1 parent e0dda4b commit d973876

File tree

9 files changed

+648
-718
lines changed

9 files changed

+648
-718
lines changed

axmol/axmol.natvis

Lines changed: 128 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3-
<Type Name="tlx::pod_vector&lt;*&gt;">
4-
<DisplayString>{{ size={_Mylast - _Myfirst} capacity={_Myend - _Myfirst} }}</DisplayString>
5-
<Expand>
6-
<Item Name="[size]" ExcludeView="simple">_Mylast - _Myfirst</Item>
7-
<Item Name="[capacity]" ExcludeView="simple">_Myend - _Myfirst</Item>
8-
<ArrayItems>
9-
<Size>_Mylast - _Myfirst</Size>
10-
<ValuePointer>_Myfirst</ValuePointer>
11-
</ArrayItems>
12-
</Expand>
13-
</Type>
14-
<!-- flat_set visualizer -->
15-
<Type Name="tlx::detail::flat_set_base&lt;*&gt;">
3+
<!-- flat_set_base visualizer -->
4+
<Type Name="tlx::flat_set_base&lt;*&gt;">
165
<DisplayString>{{size = {_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst}}}</DisplayString>
176
<Expand>
187
<Item Name="[size]">_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
@@ -24,42 +13,141 @@
2413
</Expand>
2514
</Type>
2615

27-
<!-- flat_map visualizer -->
28-
<Type Name="tlx::flat_map*&lt;*&gt;">
29-
<DisplayString>{{size = {_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst}}}</DisplayString>
16+
17+
<!-- Visualize tlx::detail::flat_map_base<_Traits> -->
18+
<!-- KeyContainer: vector, MappedContainer: vector -->
19+
<Type Name="tlx::flat_map&lt;*,*,*,std::vector&lt;*&gt;,std::vector&lt;*&gt;&gt;">
20+
<Intrinsic Name="size" Expression="(size_t)(_Mykeys._Mypair._Myval2._Mylast - _Mykeys._Mypair._Myval2._Myfirst)"/>
21+
<Intrinsic Name="key_at" Expression="&amp;_Mykeys._Mypair._Myval2._Myfirst[index]">
22+
<Parameter Name="index" Type="size_t" />
23+
</Intrinsic>
24+
<Intrinsic Name="value_at" Expression="&amp;_Myvals._Mypair._Myval2._Myfirst[index]">
25+
<Parameter Name="index" Type="size_t" />
26+
</Intrinsic>
27+
28+
<DisplayString>{{ size={size()} }}</DisplayString>
29+
3030
<Expand>
31-
<Item Name="[size]">_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
32-
<Item Name="[capacity]" ExcludeView="simple">_Mypair._Myval2._Mypair._Myval2._Myend - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
33-
<ArrayItems>
34-
<Size>_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Size>
35-
<ValuePointer>_Mypair._Myval2._Mypair._Myval2._Myfirst</ValuePointer>
36-
</ArrayItems>
31+
<Item Name="[comparator]" ExcludeView="simple">_Key_compare</Item>
32+
<Item Name="[size]">size()</Item>
33+
<CustomListItems>
34+
<Variable Name="i" InitialValue="0" />
35+
<Size>size()</Size>
36+
<Loop>
37+
<Item Name="[{*key_at(i)}]">*value_at(i)</Item>
38+
<Exec>++i</Exec>
39+
</Loop>
40+
</CustomListItems>
3741
</Expand>
3842
</Type>
3943

40-
<!-- flat_multiset visualizer -->
41-
<Type Name="tlx::flat_multiset&lt;*&gt;">
42-
<DisplayString>{{size = {_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst}}}</DisplayString>
44+
<!-- KeyContainer: std::deque, MappedContainer: std::vector -->
45+
<Type Name="tlx::flat_map&lt;*,*,*,std::deque&lt;*&gt;,std::vector&lt;*&gt;&gt;">
46+
<Intrinsic Name="size" Expression="_Mykeys._Mypair._Myval2._Mysize" />
47+
<Intrinsic Name="key_at" Expression="&amp;_Mykeys._Mypair._Myval2._Map[((index + _Mykeys._Mypair._Myval2._Myoff) / _Mykeys._EEN_DS) %
48+
_Mykeys._Mypair._Myval2._Mapsize][(index + _Mykeys._Mypair._Myval2._Myoff) % _Mykeys._EEN_DS]">
49+
<Parameter Name="index" Type="size_t" />
50+
</Intrinsic>
51+
<Intrinsic Name="value_at" Expression="&amp;_Myvals._Mypair._Myval2._Myfirst[index]">
52+
<Parameter Name="index" Type="size_t" />
53+
</Intrinsic>
54+
55+
<DisplayString>{{ size={size()} }}</DisplayString>
56+
4357
<Expand>
44-
<Item Name="[size]">_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
45-
<Item Name="[capacity]" ExcludeView="simple">_Mypair._Myval2._Mypair._Myval2._Myend - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
46-
<ArrayItems>
47-
<Size>_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Size>
48-
<ValuePointer>_Mypair._Myval2._Mypair._Myval2._Myfirst</ValuePointer>
49-
</ArrayItems>
58+
<Item Name="[comparator]" ExcludeView="simple">_Key_compare</Item>
59+
<Item Name="[size]">size()</Item>
60+
<CustomListItems>
61+
<Variable Name="i" InitialValue="0" />
62+
<Size>size()</Size>
63+
<Loop>
64+
<Item Name="[{*key_at(i)}]">*value_at(i)</Item>
65+
<Exec>++i</Exec>
66+
</Loop>
67+
</CustomListItems>
5068
</Expand>
5169
</Type>
5270

53-
<!-- flat_multimap visualizer -->
54-
<Type Name="tlx::flat_multimap&lt;*&gt;">
55-
<DisplayString>{{size = {_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst}}}</DisplayString>
71+
<!-- KeyContainer: std::vector, MappedContainer: std::deque -->
72+
<Type Name="tlx::flat_map&lt;*,*,*,std::vector&lt;*&gt;,std::deque&lt;*&gt;&gt;">
73+
<Intrinsic Name="size" Expression="(size_t)(_Mykeys._Mypair._Myval2._Mylast - _Mykeys._Mypair._Myval2._Myfirst)" />
74+
<Intrinsic Name="key_at" Expression="&amp;_Mykeys._Mypair._Myval2._Myfirst[index]">
75+
<Parameter Name="index" Type="size_t" />
76+
</Intrinsic>
77+
<Intrinsic Name="value_at" Expression="&amp;_Myvals._Mypair._Myval2._Map[((index + _Myvals._Mypair._Myval2._Myoff) / _Myvals._EEN_DS) %
78+
_Myvals._Mypair._Myval2._Mapsize][(index + _Myvals._Mypair._Myval2._Myoff) % _Myvals._EEN_DS]">
79+
<Parameter Name="index" Type="size_t" />
80+
</Intrinsic>
81+
82+
<DisplayString>{{ size={size()} }}</DisplayString>
83+
5684
<Expand>
57-
<Item Name="[size]">_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
58-
<Item Name="[capacity]" ExcludeView="simple">_Mypair._Myval2._Mypair._Myval2._Myend - _Mypair._Myval2._Mypair._Myval2._Myfirst</Item>
59-
<ArrayItems>
60-
<Size>_Mypair._Myval2._Mypair._Myval2._Mylast - _Mypair._Myval2._Mypair._Myval2._Myfirst</Size>
61-
<ValuePointer>_Mypair._Myval2._Mypair._Myval2._Myfirst</ValuePointer>
62-
</ArrayItems>
85+
<Item Name="[comparator]" ExcludeView="simple">_Key_compare</Item>
86+
<Item Name="[size]">size()</Item>
87+
<CustomListItems>
88+
<Variable Name="i" InitialValue="0" />
89+
<Size>size()</Size>
90+
<Loop>
91+
<Item Name="[{*key_at(i)}]">*value_at(i)</Item>
92+
<Exec>++i</Exec>
93+
</Loop>
94+
</CustomListItems>
95+
</Expand>
96+
</Type>
97+
98+
<!-- KeyContainer: std::deque, MappedContainer: std::deque -->
99+
<Type Name="tlx::flat_map&lt;*,*,*,std::deque&lt;*&gt;,std::deque&lt;*&gt;&gt;">
100+
<Intrinsic Name="size" Expression="_Mykeys._Mypair._Myval2._Mysize" />
101+
<Intrinsic Name="key_at" Expression="&amp;_Mykeys._Mypair._Myval2._Map[((index + _Mykeys._Mypair._Myval2._Myoff) / _Mykeys._EEN_DS) %
102+
_Mykeys._Mypair._Myval2._Mapsize][(index + _Mykeys._Mypair._Myval2._Myoff) % _Mykeys._EEN_DS]">
103+
<Parameter Name="index" Type="size_t" />
104+
</Intrinsic>
105+
<Intrinsic Name="value_at" Expression="&amp;_Myvals._Mypair._Myval2._Map[((index + _Myvals._Mypair._Myval2._Myoff) / _Myvals._EEN_DS) %
106+
_Myvals._Mypair._Myval2._Mapsize][(index + _Myvals._Mypair._Myval2._Myoff) % _Myvals._EEN_DS]">
107+
<Parameter Name="index" Type="size_t" />
108+
</Intrinsic>
109+
110+
<DisplayString>{{ size={size()} }}</DisplayString>
111+
112+
<Expand>
113+
<Item Name="[comparator]" ExcludeView="simple">_Key_compare</Item>
114+
<Item Name="[size]">size()</Item>
115+
<CustomListItems>
116+
<Variable Name="i" InitialValue="0" />
117+
<Size>size()</Size>
118+
<Loop>
119+
<Item Name="[{*key_at(i)}]">*value_at(i)</Item>
120+
<Exec>++i</Exec>
121+
</Loop>
122+
</CustomListItems>
123+
</Expand>
124+
</Type>
125+
126+
<!-- fallback for a custom container -->
127+
<Type Name="tlx::flat_map_base&lt;*&gt;">
128+
<DisplayString>{_Data}</DisplayString>
129+
<Expand>
130+
<Item Name="[comparator]" ExcludeView="simple">_Key_compare</Item>
131+
<Item Name="[keys]">_Mykeys</Item>
132+
<Item Name="[values]">_Myvals</Item>
133+
</Expand>
134+
</Type>
135+
136+
<!-- iterator -->
137+
<Type Name="tlx::flat_map_base&lt;*&gt;::iterator">
138+
<DisplayString>({_Key_it}, {_Mapped_it})</DisplayString>
139+
<Expand>
140+
<Item Name="[key]">_Key_it</Item>
141+
<Item Name="[value]">_Mapped_it</Item>
142+
</Expand>
143+
</Type>
144+
145+
<!-- const_iterator -->
146+
<Type Name="tlx::flat_map_base&lt;*&gt;::const_iterator">
147+
<DisplayString>({_Key_it}, {_Mapped_it})</DisplayString>
148+
<Expand>
149+
<Item Name="[key]">_Key_it</Item>
150+
<Item Name="[value]">_Mapped_it</Item>
63151
</Expand>
64152
</Type>
65153
</AutoVisualizer>

0 commit comments

Comments
 (0)