summaryrefslogtreecommitdiff
path: root/debug_metadata/smallvec.natvis
blob: b38d47cb76fd0acbb1b62c41bfb08c175f7a2e5e (plain)
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
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="Medium">
    <Intrinsic Name="is_inline" Expression="$T2 &gt; capacity" />
    <Intrinsic Name="len" Expression="is_inline() ? capacity : data.variant1.value.__0.__1" />
    <Intrinsic Name="data_ptr" Expression="is_inline() ? data.variant0.value.__0.value.value : data.variant1.value.__0.__0" />

    <DisplayString>{{ len={len()} }}</DisplayString>
    <Expand>
        <Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
        <Item Name="[len]">len()</Item>

        <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>data_ptr()</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>

  <Type Name="smallvec::SmallVec&lt;array$&lt;*,*&gt;&gt;" Priority="MediumLow">
    <Intrinsic Name="is_inline" Expression="$T2 &gt; capacity" />
    <Intrinsic Name="len" Expression="is_inline() ? capacity : data.heap.__1" />
    <Intrinsic Name="data_ptr" Expression="is_inline() ? data.inline.value.value.value : data.heap.__0" />

    <DisplayString>{{ len={len()} }}</DisplayString>
    <Expand>
        <Item Name="[capacity]">is_inline() ? $T2 : capacity</Item>
        <Item Name="[len]">len()</Item>

        <ArrayItems>
            <Size>len()</Size>
            <ValuePointer>data_ptr()</ValuePointer>
        </ArrayItems>
    </Expand>
  </Type>
</AutoVisualizer>