stlport.natvis 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  3. <!-- stlport::basic_string -->
  4. <Type Name="stlpmtx_std::basic_string&lt;char,*&gt;">
  5. <AlternativeType Name="stlp_std::basic_string&lt;char,*&gt;" />
  6. <AlternativeType Name="stlpx_std::basic_string&lt;char,*&gt;" />
  7. <AlternativeType Name="stlpxmtx_std::basic_string&lt;char,*&gt;" />
  8. <AlternativeType Name="stlpd_std::priv::_NonDbg_str&lt;char,*&gt;" />
  9. <AlternativeType Name="stlpdx_std::priv::_NonDbg_str&lt;char,*&gt;" />
  10. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_str&lt;char,*&gt;" />
  11. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_str&lt;char,*&gt;" />
  12. <DisplayString>{_M_start_of_storage._M_data, s}</DisplayString>
  13. <StringView>_M_start_of_storage._M_data, s</StringView>
  14. <Expand>
  15. <Item Name="[buffer]">_M_start_of_storage._M_data, s</Item>
  16. <Item Name="[length]">_M_finish - _M_start_of_storage._M_data</Item>
  17. <Item Name="[capacity]" Condition="_M_start_of_storage._M_data == _M_buffers._M_static_buf">_DEFAULT_SIZE</Item>
  18. <Item Name="[capacity]" Condition="_M_start_of_storage._M_data != _M_buffers._M_static_buf">_M_buffers._M_end_of_storage - _M_start_of_storage._M_data</Item>
  19. <ArrayItems>
  20. <Size>_M_finish - _M_start_of_storage._M_data</Size>
  21. <ValuePointer>_M_start_of_storage._M_data</ValuePointer>
  22. </ArrayItems>
  23. </Expand>
  24. </Type>
  25. <Type Name="stlpmtx_std::basic_string&lt;unsigned short,*&gt;">
  26. <AlternativeType Name="stlpmtx_std::basic_string&lt;wchar_t,*&gt;" />
  27. <AlternativeType Name="stlp_std::basic_string&lt;unsigned short,*&gt;" />
  28. <AlternativeType Name="stlp_std::basic_string&lt;wchar_t,*&gt;" />
  29. <AlternativeType Name="stlpx_std::basic_string&lt;unsigned short,*&gt;" />
  30. <AlternativeType Name="stlpx_std::basic_string&lt;wchar_t,*&gt;" />
  31. <AlternativeType Name="stlpxmtx_std::basic_string&lt;unsigned short,*&gt;" />
  32. <AlternativeType Name="stlpxmtx_std::basic_string&lt;wchar_t,*&gt;" />
  33. <AlternativeType Name="stlpd_std::priv::_NonDbg_str&lt;unsigned short,*&gt;" />
  34. <AlternativeType Name="stlpd_std::priv::_NonDbg_str&lt;wchar_t,*&gt;" />
  35. <AlternativeType Name="stlpdx_std::priv::_NonDbg_str&lt;unsigned short,*&gt;" />
  36. <AlternativeType Name="stlpdx_std::priv::_NonDbg_str&lt;wchar_t,*&gt;" />
  37. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_str&lt;unsigned short,*&gt;" />
  38. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_str&lt;wchar_t,*&gt;" />
  39. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_str&lt;unsigned short,*&gt;" />
  40. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_str&lt;wchar_t,*&gt;" />
  41. <DisplayString>{_M_start_of_storage._M_data, su}</DisplayString>
  42. <StringView>_M_start_of_storage._M_data, su</StringView>
  43. <Expand>
  44. <Item Name="[buffer]">_M_start_of_storage._M_data, su</Item>
  45. <Item Name="[length]">_M_finish - _M_start_of_storage._M_data</Item>
  46. <Item Name="[capacity]" Condition="_M_start_of_storage._M_data == _M_buffers._M_static_buf">_DEFAULT_SIZE</Item>
  47. <Item Name="[capacity]" Condition="_M_start_of_storage._M_data != _M_buffers._M_static_buf">_M_buffers._M_end_of_storage - _M_start_of_storage._M_data</Item>
  48. <ArrayItems>
  49. <Size>_M_finish - _M_start_of_storage._M_data</Size>
  50. <ValuePointer>_M_start_of_storage._M_data</ValuePointer>
  51. </ArrayItems>
  52. </Expand>
  53. </Type>
  54. <Type Name="stlpmtx_std::basic_string&lt;*&gt;">
  55. <AlternativeType Name="stlp_std::basic_string&lt;*&gt;" />
  56. <AlternativeType Name="stlpx_std::basic_string&lt;*&gt;" />
  57. <AlternativeType Name="stlpxmtx_std::basic_string&lt;*&gt;" />
  58. <DisplayString>{_M_non_dbg_impl}</DisplayString>
  59. <StringView>_M_non_dbg_impl</StringView>
  60. <Expand>
  61. <Item Name="[string]">_M_non_dbg_impl</Item>
  62. </Expand>
  63. </Type>
  64. <!-- stlport::vector -->
  65. <Type Name="stlpmtx_std::vector&lt;bool,*&gt;">
  66. <AlternativeType Name="stlp_std::vector&lt;bool,*&gt;" />
  67. <AlternativeType Name="stlpx_std::vector&lt;bool,*&gt;" />
  68. <AlternativeType Name="stlpxmtx_std::vector&lt;bool,*&gt;" />
  69. <AlternativeType Name="stlpd_std::priv::_NonDbg_vector&lt;bool,*&gt;" />
  70. <AlternativeType Name="stlpdx_std::priv::_NonDbg_vector&lt;bool,*&gt;" />
  71. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_vector&lt;bool,*&gt;" />
  72. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_vector&lt;bool,*&gt;" />
  73. <DisplayString>{{ size = {(_M_finish._M_p - _M_start._M_p) * sizeof(unsigned int) * 8 + _M_finish._M_offset} }}</DisplayString>
  74. <Expand>
  75. <Item Name="[buffer]">_M_start._M_p, x</Item>
  76. <Item Name="[size]">(_M_finish._M_p - _M_start._M_p) * sizeof(unsigned int) * 8 + _M_finish._M_offset</Item>
  77. <!-- <Item Name="[capacity]">(_M_end_of_storage._M_data - _M_start._M_p) * sizeof(unsigned int) * 8 - _M_start._M_offset</Item> -->
  78. <IndexListItems>
  79. <Size>(_M_finish._M_p - _M_start._M_p) * sizeof(unsigned int) * 8 + _M_finish._M_offset</Size>
  80. <ValueNode>(bool)((_M_start._M_p[$i / (sizeof(unsigned int) * 8)] &gt;&gt; ($i % (sizeof(unsigned int) * 8))) &amp; 1)</ValueNode>
  81. </IndexListItems>
  82. </Expand>
  83. </Type>
  84. <Type Name="stlpmtx_std::priv::_Bit_iter&lt;*&gt;">
  85. <AlternativeType Name="stlp_std::priv::_Bit_iter&lt;*&gt;" />
  86. <AlternativeType Name="stlpx_std::priv::_Bit_iter&lt;*&gt;" />
  87. <AlternativeType Name="stlpxmtx_std::priv::_Bit_iter&lt;*&gt;" />
  88. <AlternativeType Name="stlpd_std::priv::_Bit_iter&lt;*&gt;" />
  89. <AlternativeType Name="stlpdx_std::priv::_Bit_iter&lt;*&gt;" />
  90. <AlternativeType Name="stlpdmtx_std::priv::_Bit_iter&lt;*&gt;" />
  91. <AlternativeType Name="stlpdxmtx_std::priv::_Bit_iter&lt;*&gt;" />
  92. <DisplayString>{(bool)(((*_M_p) &gt;&gt; _M_offset) &amp; 1)}</DisplayString>
  93. <Expand>
  94. <Item Name="[value]">(bool)(((*_M_p) &gt;&gt; _M_offset) &amp; 1)</Item>
  95. </Expand>
  96. </Type>
  97. <Type Name="stlpmtx_std::vector&lt;*&gt;">
  98. <AlternativeType Name="stlp_std::vector&lt;*&gt;" />
  99. <AlternativeType Name="stlpx_std::vector&lt;*&gt;" />
  100. <AlternativeType Name="stlpxmtx_std::vector&lt;*&gt;" />
  101. <AlternativeType Name="stlpd_std::priv::_NonDbg_vector&lt;*&gt;" />
  102. <AlternativeType Name="stlpdx_std::priv::_NonDbg_vector&lt;*&gt;" />
  103. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_vector&lt;*&gt;" />
  104. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_vector&lt;*&gt;" />
  105. <DisplayString>{{ size = {_M_finish - _M_start} }}</DisplayString>
  106. <Expand>
  107. <Item Name="[size]">_M_finish - _M_start</Item>
  108. <Item Name="[capacity]">_M_end_of_storage._M_data - _M_start</Item>
  109. <ArrayItems>
  110. <Size>_M_finish - _M_start</Size>
  111. <ValuePointer>_M_start</ValuePointer>
  112. </ArrayItems>
  113. </Expand>
  114. </Type>
  115. <Type Name="stlpdmtx_std::vector&lt;*&gt;">
  116. <AlternativeType Name="stlpd_std::vector&lt;*&gt;" />
  117. <AlternativeType Name="stlpdx_std::vector&lt;*&gt;" />
  118. <AlternativeType Name="stlpdxmtx_std::vector&lt;*&gt;" />
  119. <DisplayString>{_M_non_dbg_impl}</DisplayString>
  120. <Expand>
  121. <Item Name="[vector]">_M_non_dbg_impl</Item>
  122. </Expand>
  123. </Type>
  124. <!-- stlport::deque -->
  125. <Type Name="stlpmtx_std::deque&lt;*,*&gt;">
  126. <AlternativeType Name="stlp_std::deque&lt;*,*&gt;" />
  127. <AlternativeType Name="stlpx_std::deque&lt;*,*&gt;" />
  128. <AlternativeType Name="stlpxmtx_std::deque&lt;*,*&gt;" />
  129. <AlternativeType Name="stlpd_std::priv::_NonDbg_deque&lt;*,*&gt;" />
  130. <AlternativeType Name="stlpdx_std::priv::_NonDbg_deque&lt;*,*&gt;" />
  131. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_deque&lt;*,*&gt;" />
  132. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_deque&lt;*,*&gt;" />
  133. <DisplayString Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &lt; _MAX_BYTES">{{ size = {((_M_finish._M_node - _M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1))) - (_M_start._M_cur - _M_start._M_first) - (_M_finish._M_last - _M_finish._M_cur)} }}</DisplayString>
  134. <DisplayString Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &gt;= _MAX_BYTES">{{ size = {_M_finish._M_node - _M_start._M_node} }}</DisplayString>
  135. <Expand>
  136. <Item Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &lt; _MAX_BYTES" Name="[size]">((_M_finish._M_node - _M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1))) - (_M_start._M_cur - _M_start._M_first) - (_M_finish._M_last - _M_finish._M_cur)</Item>
  137. <Item Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &gt;= _MAX_BYTES" Name="[size]">_M_finish._M_node - _M_start._M_node</Item>
  138. <Item Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &lt; _MAX_BYTES" Name="[capacity]">(_M_finish._M_node - _M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1)) - 1</Item>
  139. <Item Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &gt;= _MAX_BYTES" Name="[capacity]">_M_finish._M_node - _M_start._M_node</Item>
  140. <IndexListItems>
  141. <Size Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &lt; _MAX_BYTES">((_M_finish._M_node - _M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1))) - (_M_start._M_cur - _M_start._M_first) - (_M_finish._M_last - _M_finish._M_cur)</Size>
  142. <Size Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &gt;= _MAX_BYTES">_M_finish._M_node - _M_start._M_node</Size>
  143. <ValueNode Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &lt; _MAX_BYTES">*(*(_M_start._M_node + (($i + (_M_start._M_cur - _M_start._M_first)) / (_MAX_BYTES / sizeof($T1)))) + (($i + (_M_start._M_cur - _M_start._M_first)) % (_MAX_BYTES / sizeof($T1))))</ValueNode>
  144. <ValueNode Condition="((unsigned int)(_M_start._M_cur + 1) - ((unsigned int)_M_start._M_cur)) &gt;= _MAX_BYTES">**(_M_start._M_node + $i)</ValueNode>
  145. </IndexListItems>
  146. </Expand>
  147. </Type>
  148. <Type Name="stlpmtx_std::priv::_Deque_iterator&lt;*&gt;">
  149. <AlternativeType Name="stlp_std::priv::_Deque_iterator&lt;*&gt;" />
  150. <AlternativeType Name="stlpx_std::priv::_Deque_iterator&lt;*&gt;" />
  151. <AlternativeType Name="stlpxmtx_std::priv::_Deque_iterator&lt;*&gt;" />
  152. <AlternativeType Name="stlpd_std::priv::_Deque_iterator&lt;*&gt;" />
  153. <AlternativeType Name="stlpdx_std::priv::_Deque_iterator&lt;*&gt;" />
  154. <AlternativeType Name="stlpdmtx_std::priv::_Deque_iterator&lt;*&gt;" />
  155. <AlternativeType Name="stlpdxmtx_std::priv::_Deque_iterator&lt;*&gt;" />
  156. <DisplayString>{*_M_cur}</DisplayString>
  157. <Expand>
  158. <Item Name="[ptr]">_M_cur, x</Item>
  159. <Item Name="[value]">*(_M_cur)</Item>
  160. </Expand>
  161. </Type>
  162. <Type Name="stlpdmtx_std::deque&lt;*&gt;">
  163. <AlternativeType Name="stlpd_std::deque&lt;*&gt;" />
  164. <AlternativeType Name="stlpdx_std::deque&lt;*&gt;" />
  165. <AlternativeType Name="stlpdxmtx_std::deque&lt;*&gt;" />
  166. <DisplayString>{_M_non_dbg_impl}</DisplayString>
  167. <Expand>
  168. <Item Name="[deque]">_M_non_dbg_impl</Item>
  169. </Expand>
  170. </Type>
  171. <!-- stlport::list -->
  172. <Type Name="stlpmtx_std::list&lt;*,*&gt;">
  173. <AlternativeType Name="stlp_std::list&lt;*,*&gt;" />
  174. <AlternativeType Name="stlpx_std::list&lt;*,*&gt;" />
  175. <AlternativeType Name="stlpxmtx_std::list&lt;*,*&gt;" />
  176. <AlternativeType Name="stlpd_std::priv::_NonDbg_list&lt;*,*&gt;" />
  177. <AlternativeType Name="stlpdx_std::priv::_NonDbg_list&lt;*,*&gt;" />
  178. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_list&lt;*,*&gt;" />
  179. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_list&lt;*,*&gt;" />
  180. <DisplayString>{{ size= ':(' }}</DisplayString>
  181. <Expand>
  182. <LinkedListItems>
  183. <!-- TODO: <Size> </Size> -->
  184. <HeadPointer>_M_node._M_data._M_next</HeadPointer>
  185. <NextPointer>_M_next</NextPointer>
  186. <ValueNode>*($T1 *)(this + 1)</ValueNode>
  187. </LinkedListItems>
  188. </Expand>
  189. </Type>
  190. <Type Name="stlpmtx_std::priv::_List_iterator&lt;*,*&gt;">
  191. <AlternativeType Name="stlp_std::priv::_List_iterator&lt;*,*&gt;" />
  192. <AlternativeType Name="stlpx_std::priv::_List_iterator&lt;*,*&gt;" />
  193. <AlternativeType Name="stlpxmtx_std::priv::_List_iterator&lt;*,*&gt;" />
  194. <AlternativeType Name="stlpd_std::priv::_List_iterator&lt;*,*&gt;" />
  195. <AlternativeType Name="stlpdx_std::priv::_List_iterator&lt;*,*&gt;" />
  196. <AlternativeType Name="stlpdmtx_std::priv::_List_iterator&lt;*,*&gt;" />
  197. <AlternativeType Name="stlpdxmtx_std::priv::_List_iterator&lt;*,*&gt;" />
  198. <DisplayString>{*($T1 *)(_M_node + 1)}</DisplayString>
  199. <Expand>
  200. <Item Name="[ptr]">($T1 *)(_M_node + 1), x</Item>
  201. <Item Name="[value]">*($T1 *)(_M_node + 1)</Item>
  202. </Expand>
  203. </Type>
  204. <Type Name="stlpdmtx_std::list&lt;*,*&gt;">
  205. <AlternativeType Name="stlpd_std::list&lt;*,*&gt;" />
  206. <AlternativeType Name="stlpdx_std::list&lt;*,*&gt;" />
  207. <AlternativeType Name="stlpdxmtx_std::list&lt;*,*&gt;" />
  208. <DisplayString>{_M_non_dbg_impl}</DisplayString>
  209. <Expand>
  210. <Item Name="[list]">_M_non_dbg_impl</Item>
  211. </Expand>
  212. </Type>
  213. <!-- TODO: add stlport::slist -->
  214. <!-- stlport::pair -->
  215. <Type Name="stlpmtx_std::pair&lt;*,*&gt;">
  216. <AlternativeType Name="stlp_std::pair&lt;*,*&gt;" />
  217. <AlternativeType Name="stlpx_std::pair&lt;*,*&gt;" />
  218. <AlternativeType Name="stlpxmtx_std::pair&lt;*,*&gt;" />
  219. <AlternativeType Name="stlpd_std::pair&lt;*,*&gt;" />
  220. <AlternativeType Name="stlpdx_std::pair&lt;*,*&gt;" />
  221. <AlternativeType Name="stlpdmtx_std::pair&lt;*,*&gt;" />
  222. <AlternativeType Name="stlpdxmtx_std::pair&lt;*,*&gt;" />
  223. <DisplayString>({first}, {second})</DisplayString>
  224. <Expand>
  225. <Item Name="first">first</Item>
  226. <Item Name="second">second</Item>
  227. </Expand>
  228. </Type>
  229. <!-- stlport::map -->
  230. <Type Name="stlpmtx_std::map&lt;*&gt;">
  231. <AlternativeType Name="stlp_std::map&lt;*&gt;" />
  232. <AlternativeType Name="stlpx_std::map&lt;*&gt;" />
  233. <AlternativeType Name="stlpxmtx_std::map&lt;*&gt;" />
  234. <AlternativeType Name="stlp_std::multimap&lt;*&gt;" />
  235. <AlternativeType Name="stlpx_std::multimap&lt;*&gt;" />
  236. <AlternativeType Name="stlpmtx_std::multimap&lt;*&gt;" />
  237. <AlternativeType Name="stlpxmtx_std::multimap&lt;*&gt;" />
  238. <AlternativeType Name="stlp_std::set&lt;*&gt;" />
  239. <AlternativeType Name="stlpx_std::set&lt;*&gt;" />
  240. <AlternativeType Name="stlpmtx_std::set&lt;*&gt;" />
  241. <AlternativeType Name="stlpxmtx_std::set&lt;*&gt;" />
  242. <AlternativeType Name="stlp_std::multiset&lt;*&gt;" />
  243. <AlternativeType Name="stlpx_std::multiset&lt;*&gt;" />
  244. <AlternativeType Name="stlpmtx_std::multiset&lt;*&gt;" />
  245. <AlternativeType Name="stlpxmtx_std::multiset&lt;*&gt;" />
  246. <DisplayString>{{ size = {_M_t._M_node_count} }}</DisplayString>
  247. <Expand>
  248. <Item Name="[size]">_M_t._M_node_count</Item>
  249. <Item Name="[tree]">_M_t</Item>
  250. </Expand>
  251. </Type>
  252. <Type Name="stlpdmtx_std::map&lt;*&gt;">
  253. <AlternativeType Name="stlpd_std::map&lt;*&gt;" />
  254. <AlternativeType Name="stlpdx_std::map&lt;*&gt;" />
  255. <AlternativeType Name="stlpdxmtx_std::map&lt;*&gt;" />
  256. <AlternativeType Name="stlpd_std::multimap&lt;*&gt;" />
  257. <AlternativeType Name="stlpdx_std::multimap&lt;*&gt;" />
  258. <AlternativeType Name="stlpdmtx_std::multimap&lt;*&gt;" />
  259. <AlternativeType Name="stlpdxmtx_std::multimap&lt;*&gt;" />
  260. <AlternativeType Name="stlpd_std::set&lt;*&gt;" />
  261. <AlternativeType Name="stlpdx_std::set&lt;*&gt;" />
  262. <AlternativeType Name="stlpdmtx_std::set&lt;*&gt;" />
  263. <AlternativeType Name="stlpdxmtx_std::set&lt;*&gt;" />
  264. <AlternativeType Name="stlpd_std::multiset&lt;*&gt;" />
  265. <AlternativeType Name="stlpdx_std::multiset&lt;*&gt;" />
  266. <AlternativeType Name="stlpdmtx_std::multiset&lt;*&gt;" />
  267. <AlternativeType Name="stlpdxmtx_std::multiset&lt;*&gt;" />
  268. <DisplayString>{{ size = {_M_t._M_non_dbg_impl._M_node_count} }}</DisplayString>
  269. <Expand>
  270. <Item Name="[size]">_M_t._M_non_dbg_impl._M_node_count</Item>
  271. <Item Name="[tree]">_M_t._M_non_dbg_impl</Item>
  272. </Expand>
  273. </Type>
  274. <Type Name="stlpmtx_std::priv::_Rb_tree&lt;*,*,*,*,*&gt;">
  275. <AlternativeType Name="stlp_std::priv::_Rb_tree&lt;*,*,*,*,*&gt;" />
  276. <AlternativeType Name="stlpx_std::priv::_Rb_tree&lt;*,*,*,*,*&gt;" />
  277. <AlternativeType Name="stlpxmtx_std::priv::_Rb_tree&lt;*,*,*,*,*&gt;" />
  278. <AlternativeType Name="stlpd_std::priv::_NonDbg_Rb_tree&lt;*,*,*,*,*&gt;" />
  279. <AlternativeType Name="stlpdx_std::priv::_NonDbg_Rb_tree&lt;*,*,*,*,*&gt;" />
  280. <AlternativeType Name="stlpdmtx_std::priv::_NonDbg_Rb_tree&lt;*,*,*,*,*&gt;" />
  281. <AlternativeType Name="stlpdxmtx_std::priv::_NonDbg_Rb_tree&lt;*,*,*,*,*&gt;" />
  282. <DisplayString>{*($T3 *)(&amp;(_M_header._M_data) + 1)}</DisplayString>
  283. <Expand>
  284. <TreeItems>
  285. <Size>_M_node_count</Size>
  286. <HeadPointer>_M_header._M_data._M_parent</HeadPointer>
  287. <LeftPointer>_M_left</LeftPointer>
  288. <RightPointer>_M_right</RightPointer>
  289. <ValueNode>*($T3 *)(this + 1)</ValueNode>
  290. </TreeItems>
  291. </Expand>
  292. </Type>
  293. <Type Name="stlpmtx_std::priv::_Rb_tree_iterator&lt;*,*&gt;">
  294. <AlternativeType Name="stlp_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  295. <AlternativeType Name="stlpx_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  296. <AlternativeType Name="stlpxmtx_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  297. <AlternativeType Name="stlpd_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  298. <AlternativeType Name="stlpdx_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  299. <AlternativeType Name="stlpdmtx_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  300. <AlternativeType Name="stlpdxmtx_std::priv::_Rb_tree_iterator&lt;*,*&gt;" />
  301. <DisplayString>{*($T1 *)(_M_node + 1)}</DisplayString>
  302. <Expand>
  303. <Item Name="[ptr]">($T1 *)(_M_node + 1), x</Item>
  304. <Item Name="[value]">*($T1 *)(_M_node + 1)</Item>
  305. </Expand>
  306. </Type>
  307. <!-- TODO: add
  308. stlport::hash_map, stlport::hash_multimap, stlport::hash_set, stlport::hash_multiset
  309. stlport::unordered_map, stlport::unordered_multimap, stlport::unordered_set, stlport::unordered_multiset
  310. -->
  311. <!-- stlport::queue, stlport::priority_queue, stlport::stack -->
  312. <Type Name="stlpmtx_std::queue&lt;*&gt;">
  313. <AlternativeType Name="stlp_std::queue&lt;*&gt;" />
  314. <AlternativeType Name="stlpx_std::queue&lt;*&gt;" />
  315. <AlternativeType Name="stlpxmtx_std::queue&lt;*&gt;" />
  316. <AlternativeType Name="stlpd_std::queue&lt;*&gt;" />
  317. <AlternativeType Name="stlpdx_std::queue&lt;*&gt;" />
  318. <AlternativeType Name="stlpdmtx_std::queue&lt;*&gt;" />
  319. <AlternativeType Name="stlpdxmtx_std::queue&lt;*&gt;" />
  320. <AlternativeType Name="stlp_std::priority_queue&lt;*&gt;" />
  321. <AlternativeType Name="stlpx_std::priority_queue&lt;*&gt;" />
  322. <AlternativeType Name="stlpmtx_std::priority_queue&lt;*&gt;" />
  323. <AlternativeType Name="stlpxmtx_std::priority_queue&lt;*&gt;" />
  324. <AlternativeType Name="stlpd_std::priority_queue&lt;*&gt;" />
  325. <AlternativeType Name="stlpdx_std::priority_queue&lt;*&gt;" />
  326. <AlternativeType Name="stlpdmtx_std::priority_queue&lt;*&gt;" />
  327. <AlternativeType Name="stlpdxmtx_std::priority_queue&lt;*&gt;" />
  328. <AlternativeType Name="stlp_std::stack&lt;*&gt;" />
  329. <AlternativeType Name="stlpx_std::stack&lt;*&gt;" />
  330. <AlternativeType Name="stlpmtx_std::stack&lt;*&gt;" />
  331. <AlternativeType Name="stlpxmtx_std::stack&lt;*&gt;" />
  332. <AlternativeType Name="stlpd_std::stack&lt;*&gt;" />
  333. <AlternativeType Name="stlpdx_std::stack&lt;*&gt;" />
  334. <AlternativeType Name="stlpdmtx_std::stack&lt;*&gt;" />
  335. <AlternativeType Name="stlpdxmtx_std::stack&lt;*&gt;" />
  336. <DisplayString>{c}</DisplayString>
  337. <Expand>
  338. <Item Name="[container]">c</Item>
  339. </Expand>
  340. </Type>
  341. <!-- stlport debug iterator -->
  342. <Type Name="stlpmtx_std::priv::_DBG_iter&lt;*&gt;">
  343. <AlternativeType Name="stlp_std::priv::_DBG_iter&lt;*&gt;" />
  344. <AlternativeType Name="stlpx_std::priv::_DBG_iter&lt;*&gt;" />
  345. <AlternativeType Name="stlpxmtx_std::priv::_DBG_iter&lt;*&gt;" />
  346. <AlternativeType Name="stlpd_std::priv::_DBG_iter&lt;*&gt;" />
  347. <AlternativeType Name="stlpdx_std::priv::_DBG_iter&lt;*&gt;" />
  348. <AlternativeType Name="stlpdmtx_std::priv::_DBG_iter&lt;*&gt;" />
  349. <AlternativeType Name="stlpdxmtx_std::priv::_DBG_iter&lt;*&gt;" />
  350. <DisplayString Condition="_M_owner != 0">{_M_iterator}</DisplayString>
  351. <DisplayString Condition="_M_owner == 0">{"undefined"}</DisplayString>
  352. <Expand>
  353. <Item Name="[iterator]" Condition="_M_owner != 0">_M_iterator</Item>
  354. <Item Name="[valid]" Condition="_M_owner != 0">true</Item>
  355. <Item Name="[valid]" Condition="_M_owner == 0">false</Item>
  356. </Expand>
  357. </Type>
  358. <!-- stlport::bitset -->
  359. <Type Name="stlpmtx_std::bitset&lt;*&gt;">
  360. <AlternativeType Name="stlp_std::bitset&lt;*&gt;" />
  361. <AlternativeType Name="stlpx_std::bitset&lt;*&gt;" />
  362. <AlternativeType Name="stlpxmtx_std::bitset&lt;*&gt;" />
  363. <AlternativeType Name="stlpd_std::bitset&lt;*&gt;" />
  364. <AlternativeType Name="stlpdx_std::bitset&lt;*&gt;" />
  365. <AlternativeType Name="stlpdmtx_std::bitset&lt;*&gt;" />
  366. <AlternativeType Name="stlpdxmtx_std::bitset&lt;*&gt;" />
  367. <DisplayString>{{ size = {$T1} }}</DisplayString>
  368. <Expand>
  369. <IndexListItems Condition="_Words == 1">
  370. <Size>$T1</Size>
  371. <ValueNode>(((_WordT)_M_w) &gt;&gt; ($i % (sizeof(_WordT) * 8))) &amp; 1, d</ValueNode>
  372. </IndexListItems>
  373. <IndexListItems Condition="_Words &gt; 1">
  374. <Size>$T1</Size>
  375. <ValueNode>(((_WordT *)_M_w)[$i / (sizeof(_WordT) * 8)] &gt;&gt; ($i % (sizeof(_WordT) * 8))) &amp; 1, d</ValueNode>
  376. </IndexListItems>
  377. </Expand>
  378. </Type>
  379. <Type Name="stlpmtx_std::bitset&lt;0&gt;">
  380. <AlternativeType Name="stlp_std::bitset&lt;0&gt;" />
  381. <AlternativeType Name="stlpx_std::bitset&lt;0&gt;" />
  382. <AlternativeType Name="stlpxmtx_std::bitset&lt;0&gt;" />
  383. <AlternativeType Name="stlpd_std::bitset&lt;0&gt;" />
  384. <AlternativeType Name="stlpdx_std::bitset&lt;0&gt;" />
  385. <AlternativeType Name="stlpdmtx_std::bitset&lt;0&gt;" />
  386. <AlternativeType Name="stlpdxmtx_std::bitset&lt;0&gt;" />
  387. <DisplayString>{{ size = 0 }}</DisplayString>
  388. <Expand>
  389. <!-- raw view -->
  390. </Expand>
  391. </Type>
  392. <Type Name="stlpmtx_std::bitset&lt;*&gt;::reference">
  393. <AlternativeType Name="stlp_std::bitset&lt;*&gt;::reference" />
  394. <AlternativeType Name="stlpx_std::bitset&lt;*&gt;::reference" />
  395. <AlternativeType Name="stlpxmtx_std::bitset&lt;*&gt;::reference" />
  396. <AlternativeType Name="stlpd_std::bitset&lt;*&gt;::reference" />
  397. <AlternativeType Name="stlpdx_std::bitset&lt;*&gt;::reference" />
  398. <AlternativeType Name="stlpdmtx_std::bitset&lt;*&gt;::reference" />
  399. <AlternativeType Name="stlpdxmtx_std::bitset&lt;*&gt;::reference" />
  400. <DisplayString>{(*(_M_wp) &gt;&gt; _M_bpos) &amp; 1, d}</DisplayString>
  401. <Expand>
  402. <Item Name="[pos]">_M_wp</Item>
  403. <Item Name="[offset]">_M_bpos</Item>
  404. </Expand>
  405. </Type>
  406. <!-- stlport::auto_ptr -->
  407. <Type Name="stlpmtx_std::auto_ptr&lt;*&gt;">
  408. <AlternativeType Name="stlp_std::auto_ptr&lt;*&gt;" />
  409. <AlternativeType Name="stlpx_std::auto_ptr&lt;*&gt;" />
  410. <AlternativeType Name="stlpxmtx_std::auto_ptr&lt;*&gt;" />
  411. <AlternativeType Name="stlpd_std::auto_ptr&lt;*&gt;" />
  412. <AlternativeType Name="stlpdx_std::auto_ptr&lt;*&gt;" />
  413. <AlternativeType Name="stlpdmtx_std::auto_ptr&lt;*&gt;" />
  414. <AlternativeType Name="stlpdxmtx_std::auto_ptr&lt;*&gt;" />
  415. <DisplayString Condition="_M_p != 0">{*($T1 *)_M_p}</DisplayString>
  416. <DisplayString Condition="_M_p == 0">{"null"}</DisplayString>
  417. <Expand>
  418. <Item Condition="_M_p != 0" Name="[ptr]">($T1 *)_M_p, x</Item>
  419. <Item Condition="_M_p != 0" Name="[value]">*($T1 *)_M_p</Item>
  420. </Expand>
  421. </Type>
  422. <!-- stlport::complex -->
  423. <Type Name="stlpmtx_std::complex&lt;*&gt;">
  424. <AlternativeType Name="stlp_std::complex&lt;*&gt;" />
  425. <AlternativeType Name="stlpx_std::complex&lt;*&gt;" />
  426. <AlternativeType Name="stlpxmtx_std::complex&lt;*&gt;" />
  427. <AlternativeType Name="stlpd_std::complex&lt;*&gt;" />
  428. <AlternativeType Name="stlpdx_std::complex&lt;*&gt;" />
  429. <AlternativeType Name="stlpdmtx_std::complex&lt;*&gt;" />
  430. <AlternativeType Name="stlpdxmtx_std::complex&lt;*&gt;" />
  431. <DisplayString Condition="_M_im == 0">{_M_re}</DisplayString>
  432. <DisplayString Condition="(_M_re != 0) &amp;&amp; (_M_im &gt; 0)">{_M_re}+i*{_M_im}</DisplayString>
  433. <DisplayString Condition="(_M_re != 0) &amp;&amp; (_M_im &lt; 0)">{_M_re}-i*{-_M_im}</DisplayString>
  434. <DisplayString Condition="(_M_re == 0) &amp;&amp; (_M_im &gt; 0)">i*{_M_im}</DisplayString>
  435. <DisplayString Condition="(_M_re == 0) &amp;&amp; (_M_im &lt; 0)">-i*{-_M_im}</DisplayString>
  436. <Expand>
  437. <Item Name="real">_M_re</Item>
  438. <Item Name="imaginary">_M_im</Item>
  439. </Expand>
  440. </Type>
  441. <!-- stlport::valarray -->
  442. <Type Name="stlpmtx_std::valarray&lt;*&gt;">
  443. <AlternativeType Name="stlp_std::valarray&lt;*&gt;" />
  444. <AlternativeType Name="stlpx_std::valarray&lt;*&gt;" />
  445. <AlternativeType Name="stlpxmtx_std::valarray&lt;*&gt;" />
  446. <AlternativeType Name="stlpd_std::valarray&lt;*&gt;" />
  447. <AlternativeType Name="stlpdx_std::valarray&lt;*&gt;" />
  448. <AlternativeType Name="stlpdmtx_std::valarray&lt;*&gt;" />
  449. <AlternativeType Name="stlpdxmtx_std::valarray&lt;*&gt;" />
  450. <DisplayString>{{ size = {_M_size} }}</DisplayString>
  451. <Expand>
  452. <ArrayItems>
  453. <Size>_M_size</Size>
  454. <ValuePointer>_M_first</ValuePointer>
  455. </ArrayItems>
  456. </Expand>
  457. </Type>
  458. <Type Name="stlpmtx_std::slice">
  459. <AlternativeType Name="stlp_std::slice" />
  460. <AlternativeType Name="stlpx_std::slice" />
  461. <AlternativeType Name="stlpxmtx_std::slice" />
  462. <AlternativeType Name="stlpd_std::slice" />
  463. <AlternativeType Name="stlpdx_std::slice" />
  464. <AlternativeType Name="stlpdmtx_std::slice" />
  465. <AlternativeType Name="stlpdxmtx_std::slice" />
  466. <DisplayString>{{ start = {_M_start}, size = {_M_length}, stride = {_M_stride} }}</DisplayString>
  467. <Expand>
  468. <Item Name="[start]">_M_start</Item>
  469. <Item Name="[size]">_M_length</Item>
  470. <Item Name="[stride]">_M_stride</Item>
  471. </Expand>
  472. </Type>
  473. <Type Name="stlpmtx_std::gslice">
  474. <AlternativeType Name="stlp_std::gslice" />
  475. <AlternativeType Name="stlpx_std::gslice" />
  476. <AlternativeType Name="stlpxmtx_std::gslice" />
  477. <AlternativeType Name="stlpd_std::gslice" />
  478. <AlternativeType Name="stlpdx_std::gslice" />
  479. <AlternativeType Name="stlpdmtx_std::gslice" />
  480. <AlternativeType Name="stlpdxmtx_std::gslice" />
  481. <DisplayString>{{ start = {_M_start}, sizes = {_M_lengths}, strides = {_M_strides} }}</DisplayString>
  482. <Expand>
  483. <Item Name="[start]">_M_start</Item>
  484. <Item Name="[sizes]">_M_lengths</Item>
  485. <Item Name="[strides]">_M_strides</Item>
  486. </Expand>
  487. </Type>
  488. </AutoVisualizer>