Skip to content

Commit f0b7aa9

Browse files
committed
fix: add plg types for VS natvis
1 parent 44e8d12 commit f0b7aa9

File tree

1 file changed

+163
-0
lines changed

1 file changed

+163
-0
lines changed

debug/vs/plg_types.natvis

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3+
4+
<Type Name="plg::basic_string&lt;*&gt;">
5+
<Intrinsic Name="minCap" Expression="((sizeof(rep_.l) - 1) / sizeof($T1) > 2 ? (sizeof(rep_.l) - 1) / sizeof($T1) : 2) + 1" />
6+
<DisplayString Condition="rep_.l.is_long_">
7+
{{ data={rep_.l.data_} }}
8+
</DisplayString>
9+
<DisplayString Condition="!rep_.l.is_long_">
10+
{{ data={rep_.s.data_} }}
11+
</DisplayString>
12+
<Expand>
13+
<!-- Long string -->
14+
<Item Name="[size]" Condition="rep_.l.is_long_">rep_.l.size_</Item>
15+
<Item Name="[capacity]" Condition="rep_.l.is_long_">rep_.l.cap_</Item>
16+
<ArrayItems Condition="rep_.l.is_long_">
17+
<Size>rep_.l.size_</Size>
18+
<ValuePointer>rep_.l.data_</ValuePointer>
19+
</ArrayItems>
20+
21+
<!-- Short string -->
22+
<Item Name="[size]" Condition="!rep_.l.is_long_">minCap() - rep_.s.spare_size_</Item>
23+
<ArrayItems Condition="!rep_.l.is_long_">
24+
<Size>minCap() - rep_.s.spare_size_</Size>
25+
<ValuePointer>rep_.s.data_</ValuePointer>
26+
</ArrayItems>
27+
</Expand>
28+
</Type>
29+
30+
<Type Name="plg::vector&lt;*&gt;">
31+
<Intrinsic Name="size" Expression="(size_t)(cap_ - begin_)" />
32+
<Intrinsic Name="capacity" Expression="(size_t)(end_ - begin_)" />
33+
<DisplayString>{{ size={size()} }}</DisplayString>
34+
<Expand>
35+
<Item Name="[capacity]" ExcludeView="simple">capacity()</Item>
36+
<Item Name="[allocator]" ExcludeView="simple">alloc_</Item>
37+
<ArrayItems>
38+
<Size>size()</Size>
39+
<ValuePointer>begin_</ValuePointer>
40+
</ArrayItems>
41+
</Expand>
42+
</Type>
43+
44+
<Type Name="plg::variant&lt;*&gt;">
45+
<Intrinsic Name="index" Expression="(int)current_"/>
46+
<DisplayString Condition="index() &lt; 0">[valueless_by_exception]</DisplayString>
47+
<DisplayString Condition="index() == 0" Optional="true">{{ index=0, value={storage_.b} }}</DisplayString>
48+
<DisplayString Condition="index() == 1" Optional="true">{{ index=1, value={storage_.a.b} }}</DisplayString>
49+
<DisplayString Condition="index() == 2" Optional="true">{{ index=2, value={storage_.a.a.b} }}</DisplayString>
50+
<DisplayString Condition="index() == 3" Optional="true">{{ index=3, value={storage_.a.a.a.b} }}</DisplayString>
51+
<DisplayString Condition="index() == 4" Optional="true">{{ index=4, value={storage_.a.a.a.a.b} }}</DisplayString>
52+
<DisplayString Condition="index() == 5" Optional="true">{{ index=5, value={storage_.a.a.a.a.a.b} }}</DisplayString>
53+
<DisplayString Condition="index() == 6" Optional="true">{{ index=6, value={storage_.a.a.a.a.a.a.b} }}</DisplayString>
54+
<DisplayString Condition="index() == 7" Optional="true">{{ index=7, value={storage_.a.a.a.a.a.a.a.b} }}</DisplayString>
55+
<DisplayString Condition="index() == 8" Optional="true">{{ index=8, value={storage_.a.a.a.a.a.a.a.a.b} }}</DisplayString>
56+
<DisplayString Condition="index() == 9" Optional="true">{{ index=9, value={storage_.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
57+
<DisplayString Condition="index() == 10" Optional="true">{{ index=10, value={storage_.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
58+
<DisplayString Condition="index() == 11" Optional="true">{{ index=11, value={storage_.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
59+
<DisplayString Condition="index() == 12" Optional="true">{{ index=12, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
60+
<DisplayString Condition="index() == 13" Optional="true">{{ index=13, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
61+
<DisplayString Condition="index() == 14" Optional="true">{{ index=14, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
62+
<DisplayString Condition="index() == 15" Optional="true">{{ index=15, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
63+
<DisplayString Condition="index() == 16" Optional="true">{{ index=16, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
64+
<DisplayString Condition="index() == 17" Optional="true">{{ index=17, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
65+
<DisplayString Condition="index() == 18" Optional="true">{{ index=18, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
66+
<DisplayString Condition="index() == 19" Optional="true">{{ index=19, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
67+
<DisplayString Condition="index() == 20" Optional="true">{{ index=20, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
68+
<DisplayString Condition="index() == 21" Optional="true">{{ index=21, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
69+
<DisplayString Condition="index() == 22" Optional="true">{{ index=22, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
70+
<DisplayString Condition="index() == 23" Optional="true">{{ index=23, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
71+
<DisplayString Condition="index() == 24" Optional="true">{{ index=24, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
72+
<DisplayString Condition="index() == 25" Optional="true">{{ index=25, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
73+
<DisplayString Condition="index() == 26" Optional="true">{{ index=26, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
74+
<DisplayString Condition="index() == 27" Optional="true">{{ index=27, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
75+
<DisplayString Condition="index() == 28" Optional="true">{{ index=28, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
76+
<DisplayString Condition="index() == 29" Optional="true">{{ index=29, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
77+
<DisplayString Condition="index() == 30" Optional="true">{{ index=30, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
78+
<DisplayString Condition="index() == 31" Optional="true">{{ index=31, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
79+
<DisplayString Condition="index() == 32" Optional="true">{{ index=32, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
80+
<DisplayString Condition="index() == 33" Optional="true">{{ index=33, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
81+
<DisplayString Condition="index() == 34" Optional="true">{{ index=34, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
82+
<DisplayString Condition="index() == 35" Optional="true">{{ index=35, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
83+
<DisplayString Condition="index() == 36" Optional="true">{{ index=36, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
84+
<DisplayString Condition="index() == 37" Optional="true">{{ index=37, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
85+
<DisplayString Condition="index() == 38" Optional="true">{{ index=38, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
86+
<DisplayString Condition="index() == 39" Optional="true">{{ index=39, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
87+
<DisplayString Condition="index() == 40" Optional="true">{{ index=40, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
88+
<DisplayString Condition="index() == 41" Optional="true">{{ index=41, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
89+
<DisplayString Condition="index() == 42" Optional="true">{{ index=42, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
90+
<DisplayString Condition="index() == 43" Optional="true">{{ index=43, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
91+
<DisplayString Condition="index() == 44" Optional="true">{{ index=44, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
92+
<DisplayString Condition="index() == 45" Optional="true">{{ index=45, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
93+
<DisplayString Condition="index() == 46" Optional="true">{{ index=46, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
94+
<DisplayString Condition="index() == 47" Optional="true">{{ index=47, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
95+
<DisplayString Condition="index() == 48" Optional="true">{{ index=48, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
96+
<DisplayString Condition="index() == 49" Optional="true">{{ index=49, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
97+
<DisplayString Condition="index() == 50" Optional="true">{{ index=50, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
98+
<DisplayString Condition="index() == 51" Optional="true">{{ index=51, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
99+
<DisplayString Condition="index() == 52" Optional="true">{{ index=52, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
100+
<DisplayString Condition="index() == 53" Optional="true">{{ index=53, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
101+
<DisplayString Condition="index() == 54" Optional="true">{{ index=54, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
102+
<DisplayString Condition="index() == 55" Optional="true">{{ index=55, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
103+
<DisplayString Condition="index() == 56" Optional="true">{{ index=56, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
104+
<DisplayString Condition="index() == 57" Optional="true">{{ index=57, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
105+
<DisplayString Condition="index() == 58" Optional="true">{{ index=58, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
106+
<DisplayString Condition="index() == 59" Optional="true">{{ index=59, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
107+
<DisplayString Condition="index() == 60" Optional="true">{{ index=60, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
108+
<DisplayString Condition="index() == 61" Optional="true">{{ index=61, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
109+
<DisplayString Condition="index() == 62" Optional="true">{{ index=62, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
110+
<DisplayString Condition="index() == 63" Optional="true">{{ index=63, value={storage_.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.b} }}</DisplayString>
111+
112+
<Expand>
113+
114+
</Expand>
115+
</Type>
116+
117+
<Type Name="plg::monostate">
118+
<DisplayString>monostate</DisplayString>
119+
</Type>
120+
121+
<Type Name="plg::unexpected&lt;*&gt;">
122+
<Intrinsic Name="unex" Expression="val"/>
123+
<DisplayString>{unex()}</DisplayString>
124+
<Expand>
125+
<Item Name="unex">unex()</Item>
126+
</Expand>
127+
</Type>
128+
129+
<Type Name="plg::bad_expected_access&lt;*&gt;">
130+
<Intrinsic Name="unex" Expression="val"/>
131+
<DisplayString>{unex()}</DisplayString>
132+
<Expand>
133+
<Item Name="unex">unex()</Item>
134+
</Expand>
135+
</Type>
136+
137+
<Type Name="plg::expected&lt;*,*&gt;">
138+
<Intrinsic Name="has_value" Expression="has_val"/>
139+
<Intrinsic Name="value" Expression="val"/>
140+
<Intrinsic Name="unex" Expression="unex"/>
141+
<DisplayString Condition="has_value()">{value()}</DisplayString>
142+
<DisplayString Condition="!has_value()">{unex()}</DisplayString>
143+
<Expand>
144+
<Item Condition="has_value()" Name="value">value()</Item>
145+
<Item Condition="!has_value()" Name="unex">unex()</Item>
146+
</Expand>
147+
</Type>
148+
149+
<Type Name="plg::expected&lt;void,*&gt;">
150+
<Intrinsic Name="has_value" Expression="has_val"/>
151+
<Intrinsic Name="unex" Expression="unex"/>
152+
<DisplayString Condition="has_value()">void</DisplayString>
153+
<DisplayString Condition="!has_value()">{unex()}</DisplayString>
154+
<Expand>
155+
<Item Condition="!has_value()" Name="unex">unex()</Item>
156+
</Expand>
157+
</Type>
158+
159+
<Type Name="plg::allocator&lt;*&gt;">
160+
<DisplayString>allocator</DisplayString>
161+
<Expand/>
162+
</Type>
163+
</AutoVisualizer>

0 commit comments

Comments
 (0)