Beefy.natvis 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  3. <Type Name="System::String">
  4. <DisplayString>{&amp;start_char,su}</DisplayString>
  5. </Type>
  6. <Type Name="BFArray1&lt;*&gt;">
  7. <DisplayString>{{length = {mLength}}</DisplayString>
  8. <Expand>
  9. <Item Name="[length]">mLength</Item>
  10. <IndexListItems>
  11. <Size>mLength</Size>
  12. <ValueNode>*(&amp;mFirstElement + $i)</ValueNode>
  13. </IndexListItems>
  14. </Expand>
  15. </Type>
  16. <Type Name="BFArrayLB1&lt;*&gt;">
  17. <DisplayString>{{length = {mLength}}</DisplayString>
  18. <Expand>
  19. <Item Name="[length]">mLength</Item>
  20. <Item Name="[lowerBound]">mLowerBound0</Item>
  21. <IndexListItems>
  22. <Size>mLength</Size>
  23. <ValueNode>*(&amp;mFirstElement + $i)</ValueNode>
  24. </IndexListItems>
  25. </Expand>
  26. </Type>
  27. <Type Name="BFArray2&lt;*&gt;">
  28. <DisplayString>{{length = {mLength}}</DisplayString>
  29. <Expand>
  30. <ArrayItems>
  31. <Direction>Forward</Direction>
  32. <Rank>2</Rank>
  33. <Size>mDim[$i]</Size>
  34. <ValuePointer>&amp;mFirstElement</ValuePointer>
  35. </ArrayItems>
  36. </Expand>
  37. </Type>
  38. <Type Name="BFArrayLB2&lt;*&gt;">
  39. <DisplayString>{{length = {mLength}}</DisplayString>
  40. <Expand>
  41. <Item Name="[lowerBound]">mLowerBound</Item>
  42. <ArrayItems>
  43. <Direction>Forward</Direction>
  44. <Rank>2</Rank>
  45. <Size>mDim[$i]</Size>
  46. <ValuePointer>&amp;mFirstElement</ValuePointer>
  47. </ArrayItems>
  48. </Expand>
  49. </Type>
  50. <Type Name="BFTypeRoot">
  51. <DisplayString>{mDebugTypeData->mName,s}@{mDebugTypeData->mNamespace,s}</DisplayString>
  52. </Type>
  53. <Type Name="Beefy::DLIList&lt;*&gt;">
  54. <DisplayString>{{Head:{mHead}}}</DisplayString>
  55. <Expand>
  56. <LinkedListItems>
  57. <Size>100</Size>
  58. <HeadPointer>mHead</HeadPointer>
  59. <NextPointer>mNext</NextPointer>
  60. <ValueNode>this</ValueNode>
  61. </LinkedListItems>
  62. </Expand>
  63. </Type>
  64. <Type Name="Beefy::SLIList&lt;*&gt;">
  65. <DisplayString>{{Head:{mHead}}}</DisplayString>
  66. <Expand>
  67. <LinkedListItems>
  68. <Size>100</Size>
  69. <HeadPointer>mHead</HeadPointer>
  70. <NextPointer>mNext</NextPointer>
  71. <ValueNode>this</ValueNode>
  72. </LinkedListItems>
  73. </Expand>
  74. </Type>
  75. <Type Name="Beefy::BumpList&lt;*&gt;">
  76. <DisplayString>{{Head:{mHead}}}</DisplayString>
  77. <Expand>
  78. <LinkedListItems>
  79. <Size>100</Size>
  80. <HeadPointer>mHead</HeadPointer>
  81. <NextPointer>mNext</NextPointer>
  82. <ValueNode>this</ValueNode>
  83. </LinkedListItems>
  84. </Expand>
  85. </Type>
  86. <Type Name="Beefy::Array&lt;*&gt;">
  87. <DisplayString>{{ size={mSize} }}</DisplayString>
  88. <Expand>
  89. <Item Name="[Size]" ExcludeView="simple">mSize</Item>
  90. <Item Name="[AllocSize]" ExcludeView="simple">mAllocSize</Item>
  91. <ArrayItems>
  92. <Size>mSize</Size>
  93. <ValuePointer>mVals</ValuePointer>
  94. </ArrayItems>
  95. </Expand>
  96. </Type>
  97. <Type Name="Beefy::SizedArrayImpl&lt;*&gt;">
  98. <DisplayString>{{ size={mSize} }}</DisplayString>
  99. <Expand>
  100. <Item Name="[Size]" ExcludeView="simple">mSize</Item>
  101. <Item Name="[AllocSize]" ExcludeView="simple">mAllocSize</Item>
  102. <ArrayItems>
  103. <Size>mSize</Size>
  104. <ValuePointer>mVals</ValuePointer>
  105. </ArrayItems>
  106. </Expand>
  107. </Type>
  108. <Type Name="Beefy::Dictionary&lt;*, *&gt;">
  109. <DisplayString>{{ count={mCount - mFreeCount} }}</DisplayString>
  110. <Expand>
  111. <Item Name="[Count]">mCount - mFreeCount</Item>
  112. <ArrayItems>
  113. <Size>mCount</Size>
  114. <ValuePointer>mEntries</ValuePointer>
  115. </ArrayItems>
  116. </Expand>
  117. </Type>
  118. <Type Name="Beefy::Dictionary&lt;*, *&gt;::Entry">
  119. <DisplayString Condition="mHashCode != -1">{{ [{*($T1*)&amp;mKey}, {*($T2*)&amp;mValue}] }}</DisplayString>
  120. <DisplayString>free</DisplayString>
  121. <Expand>
  122. <Item Name="[Key]">*($T1*)&amp;mKey</Item>
  123. <Item Name="[Value]">*($T2*)&amp;mValue</Item>
  124. </Expand>
  125. </Type>
  126. <Type Name="Beefy::HashSet&lt;*&gt;">
  127. <DisplayString>{{ count={mCount - mFreeCount} }}</DisplayString>
  128. <Expand>
  129. <Item Name="[Count]">mCount - mFreeCount</Item>
  130. <ArrayItems>
  131. <Size>mCount</Size>
  132. <ValuePointer>mEntries</ValuePointer>
  133. </ArrayItems>
  134. </Expand>
  135. </Type>
  136. <Type Name="Beefy::HashSet&lt;*&gt;::Entry">
  137. <DisplayString Condition="mHashCode != -1">{{ [{*($T1*)&amp;mKey}] }}</DisplayString>
  138. <DisplayString>free</DisplayString>
  139. <Expand>
  140. <Item Name="[Key]">*($T1*)&amp;mKey</Item>
  141. </Expand>
  142. </Type>
  143. <Type Name="Beefy::StringImpl">
  144. <DisplayString Condition="(mAllocSizeAndFlags &amp; 0x40000000) == 0">{(char*) &amp; mPtr,s8}</DisplayString>
  145. <DisplayString>{mPtr,s8}</DisplayString>
  146. <StringView Condition="(mAllocSizeAndFlags &amp; 0x40000000) == 0">(char*) &amp; mPtr,s8</StringView>
  147. <StringView>mPtr,s8</StringView>
  148. <Expand>
  149. <Item Name="[Length]">mLength</Item>
  150. <Item Condition="(mAllocSizeAndFlags &amp; 0xC0000000) == 0xC0000000" Name="[AllocSize]">
  151. mAllocSizeAndFlags &amp; 0x3FFFFFFF
  152. </Item>
  153. <Item Condition="(mAllocSizeAndFlags &amp; 0xC0000000) == 0x40000000" Name="[RefSize]">
  154. mAllocSizeAndFlags &amp; 0x3FFFFFFF
  155. </Item>
  156. <Item Condition="(mAllocSizeAndFlags &amp; 0xC0000000) == 0x00000000" Name="[InternalSize]">
  157. mAllocSizeAndFlags &amp; 0x3FFFFFFF
  158. </Item>
  159. <Item Condition="(mAllocSizeAndFlags &amp; 0x40000000) == 0" Name="[RawChars]">
  160. (char*) &amp;mPtr, [mLength]
  161. </Item>
  162. <Item Condition="(mAllocSizeAndFlags &amp; 0x40000000) != 0" Name="[RawChars]">
  163. mPtr, [mLength]
  164. </Item>
  165. </Expand>
  166. </Type>
  167. </AutoVisualizer>