1<?xml version="1.0" encoding="utf-8"?> 2<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> 3 <Type Name="Base::array_view<*>"> 4 <DisplayString>{{size={size_}}}</DisplayString> 5 <Expand> 6 <Item Name="[size]">size_</Item> 7 <ArrayItems> 8 <Size>size_</Size> 9 <ValuePointer>begin_</ValuePointer> 10 </ArrayItems> 11 </Expand> 12 </Type> 13 14 <Type Name="Base::vector<*>"> 15 <DisplayString>{{size={size_}}}</DisplayString> 16 <Expand> 17 <Item Name="[size]">size_</Item> 18 <Item Name="[allocator]">allocator_</Item> 19 <Item Name="[capacity]">capacity_</Item> 20 <ArrayItems> 21 <Size>size_</Size> 22 <ValuePointer>($T1*)data_</ValuePointer> 23 </ArrayItems> 24 </Expand> 25 </Type> 26 27 <Type Name="Base::basic_string<*>"> 28 <DisplayString Condition="!data_.longString.isShort && (data_.longString.size == 0)">empty</DisplayString> 29 <DisplayString Condition="!data_.longString.isShort && (data_.longString.size > 0)">{($T1*)(data_.longString.begin),s}</DisplayString> 30 <DisplayString Condition="data_.longString.isShort && ((shortCapacity - data_.shortString.size) == 0)">empty</DisplayString> 31 <DisplayString Condition="data_.longString.isShort && ((shortCapacity - data_.shortString.size) > 0)">{data_.shortString.begin + 1,s}</DisplayString> 32 <StringView Condition="!data_.longString.isShort && (data_.longString.size > 0)">($T1*)(data_.longString.begin),s</StringView> 33 <StringView Condition="data_.longString.isShort && ((shortCapacity - data_.shortString.size) > 0)">data_.shortString.begin + 1,s</StringView> 34 <Expand> 35 <CustomListItems> 36 <If Condition="data_.longString.isShort"> 37 <Item Name="[capacity]">shortCapacity</Item> 38 <Item Name="[size]">shortCapacity - data_.shortString.size</Item> 39 <Item Name="[ptr]">($T1*)(data_.shortString.begin + 1)</Item> 40 </If> 41 <If Condition="!data_.longString.isShort"> 42 <Item Name="[capacity]">data_.longString.capacity</Item> 43 <Item Name="[size]">data_.longString.size</Item> 44 <Item Name="[ptr]">($T1*)data_.longString.begin</Item> 45 </If> 46 </CustomListItems> 47 </Expand> 48 </Type> 49 <Type Name="Base::basic_string_view<*>"> 50 <DisplayString Condition="size_==0">empty</DisplayString> 51 <DisplayString Condition="size_>0">{begin_,[size_]}</DisplayString> 52 <StringView Condition="size_>0">begin_,[size_]</StringView> 53 <Expand> 54 <ArrayItems> 55 <Size>size_</Size> 56 <ValuePointer>($T1*)begin_</ValuePointer> 57 </ArrayItems> 58 </Expand> 59 </Type> 60 <Type Name="Base::basic_fixed_string<*>"> 61 <DisplayString Condition="len_==0">empty</DisplayString> 62 <DisplayString Condition="len_>0">{data_,[len_]}</DisplayString> 63 <StringView Condition="len_>0">data_,[len_]</StringView> 64 <Expand> 65 <ArrayItems> 66 <Size>len_</Size> 67 <ValuePointer>($T1*)data_</ValuePointer> 68 </ArrayItems> 69 </Expand> 70 </Type> 71 72 <Type Name="Base::pair<*>"> 73 <DisplayString>{first}, {second}</DisplayString> 74 <Expand> 75 <Item Name="first">first</Item> 76 <Item Name="second">second</Item> 77 </Expand> 78 </Type> 79 80 <Type Name="Base::unordered_map_base<*>"> 81 <DisplayString Condition="size_==0">empty</DisplayString> 82 <DisplayString Condition="size_>0">{{size={size_}}}</DisplayString> 83 <Expand> 84 <CustomListItems MaxItemsPerView="5000" ExcludeView="Test"> 85 <Variable Name="index" InitialValue="0" /> 86 <Variable Name="buckets" InitialValue="buckets_.size_" /> 87 <Variable Name="pBucket" InitialValue="buckets_.data_" /> 88 <Variable Name="node" InitialValue="*buckets_.data_" /> 89 90 <Loop> 91 <If Condition="index >= buckets"> 92 <Break/> 93 </If> 94 <If Condition="pBucket[index] != nullptr"> 95 <Exec>node = *(pBucket + index)</Exec> 96 <Item Name="[{node->data.first}]">node->data.second</Item> 97 <Exec>node = node->next</Exec> 98 <Loop> 99 <If Condition="node != nullptr"> 100 <Item Name="[{node->data.first}]">node->data.second</Item> 101 <Exec>node = node->next</Exec> 102 </If> 103 <Else> 104 <Break/> 105 </Else> 106 </Loop> 107 </If> 108 <Exec>index+=1</Exec> 109 </Loop> 110 </CustomListItems> 111 </Expand> 112 </Type> 113 114 <Type Name="Base::unique_ptr<*>"> 115 <DisplayString Condition="ptr_ == nullptr">null</DisplayString> 116 <DisplayString>unique_ptr {*ptr_}</DisplayString> 117 <Expand> 118 <ExpandedItem>ptr_</ExpandedItem> 119 </Expand> 120 </Type> 121 122 <Type Name="Base::Uid"> 123 <DisplayString>"{(uint32_t)(data[0]>>32U),nvoXb}-{(uint16_t)(data[0]>>16),nvoXb}-{(uint16_t)(data[0]),nvoXb}-{(uint16_t)(data[1]>>48U),nvoXb}-{(uint16_t)((data[1]<<16U)>>48U),nvoXb}{(uint32_t)(data[1]),nvoXb}"</DisplayString> 124 </Type> 125 126</AutoVisualizer>