-
Notifications
You must be signed in to change notification settings - Fork 14
/
std containers.natvis
72 lines (68 loc) · 3.6 KB
/
std containers.natvis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="std::array<*,*>" ExcludeView="stl">
<DisplayString Condition="$T2 == 0">{{empty}}</DisplayString>
<DisplayString Condition="$T2 == 1">{_Elems[0],g}</DisplayString>
<DisplayString Condition="$T2 == 2">({_Elems[0],g}, {_Elems[1],g})</DisplayString>
<DisplayString Condition="$T2 == 3">({_Elems[0],g}, {_Elems[1],g}, {_Elems[2],g})</DisplayString>
<DisplayString>({_Elems[0],g}) .. {{size={$T2-2}}} .. ({_Elems[$T2-1],g})</DisplayString>
<Expand>
<ArrayItems>
<Size>$T2</Size>
<ValuePointer>_Elems</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="std::vector<*>" ExcludeView="stl">
<Intrinsic Name="pointer" Expression="_Mypair._Myval2._Myfirst" />
<Intrinsic Name="pointerLast" Expression="_Mypair._Myval2._Mylast" />
<Intrinsic Name="size" Expression="pointerLast() - pointer()" />
<Intrinsic Name="capacity" Expression="_Mypair._Myval2._Myend - pointer()" />
<DisplayString Condition="size() == 0">{{empty}}</DisplayString>
<DisplayString Condition="size() == 1">{pointer()[0],g}</DisplayString>
<DisplayString Condition="size() == 2">({pointer()[0],g}), ({pointerLast()[-1],g})</DisplayString>
<DisplayString>({pointer()[0],g}) .. {{size={size()-2}}} .. ({pointerLast()[-1],g})</DisplayString>
<Expand>
<ArrayItems>
<Size>size()</Size>
<ValuePointer>pointer()</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="std::set<*>" ExcludeView="stl">
<AlternativeType Name="std::multiset<*>" />
<Intrinsic Name="head" Expression="_Mypair._Myval2._Myval2._Myhead" />
<Intrinsic Name="size" Expression="_Mypair._Myval2._Myval2._Mysize" />
<DisplayString Condition="size()==0">{{empty}}</DisplayString>
<DisplayString Condition="size()==1">{head()->_Left->_Myval}</DisplayString>
<DisplayString Condition="size()==2">({head()->_Left->_Myval}), ({head()->_Right->_Myval})</DisplayString>
<DisplayString >({head()->_Left->_Myval}) .. {{size={size()-2}}} .. ({head()->_Right->_Myval})</DisplayString>
<Expand>
<TreeItems>
<Size>_Mypair._Myval2._Myval2._Mysize</Size>
<HeadPointer>_Mypair._Myval2._Myval2._Myhead->_Parent</HeadPointer>
<LeftPointer>_Left</LeftPointer>
<RightPointer>_Right</RightPointer>
<ValueNode Condition="_Isnil == 0">_Myval</ValueNode>
</TreeItems>
</Expand>
</Type>
<Type Name="std::map<*>" ExcludeView="stl">
<AlternativeType Name="std::multimap<*>" />
<Intrinsic Name="head" Expression="_Mypair._Myval2._Myval2._Myhead" />
<Intrinsic Name="size" Expression="_Mypair._Myval2._Myval2._Mysize" />
<DisplayString Condition="size()==0">{{empty}}</DisplayString>
<DisplayString Condition="size()==1">{head()->_Left->_Myval}</DisplayString>
<DisplayString Condition="size()==2">({head()->_Left->_Myval}), ({head()->_Right->_Myval})</DisplayString>
<DisplayString >({head()->_Left->_Myval}) .. {{size={size()-2}}} .. ({head()->_Right->_Myval})</DisplayString>
<Expand>
<TreeItems>
<Size>_Mypair._Myval2._Myval2._Mysize</Size>
<HeadPointer>_Mypair._Myval2._Myval2._Myhead->_Parent</HeadPointer>
<LeftPointer>_Left</LeftPointer>
<RightPointer>_Right</RightPointer>
<ValueNode Condition="_Isnil == 0" Name="[{_Myval.first}]">_Myval,view(MapHelper)</ValueNode>
</TreeItems>
</Expand>
</Type>
</AutoVisualizer>