tsl-robin-map.natvis
1 <?xml version="1.0" encoding="utf-8"?> 2 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> 3 <!-- Written in VC 2017 15.7 but is expected to be compatible with VC 2015 --> 4 5 <!-- Visualization that shows the index in the name column and the key-value pair in the value column --> 6 <Type Name="tsl::robin_map<*>" Priority="Medium"> 7 <AlternativeType Name="tsl::robin_set<*>"/> 8 <DisplayString>{{ size={m_ht.m_nb_elements} }}</DisplayString> 9 <Expand> 10 <Item Name="[bucket_count]" IncludeView="detailed">m_ht.m_buckets_data._Mypair._Myval2._Mylast - m_ht.m_buckets_data._Mypair._Myval2._Myfirst</Item> 11 <Item Name="[load_factor]" Condition="m_ht.m_buckets_data._Mypair._Myval2._Myfirst != m_ht.m_buckets_data._Mypair._Myval2._Mylast" IncludeView="detailed"> 12 ((float)m_ht.m_nb_elements) / ((float)(m_ht.m_buckets_data._Mypair._Myval2._Mylast - m_ht.m_buckets_data._Mypair._Myval2._Myfirst)) 13 </Item> 14 <Item Name="[load_factor]" Condition="m_ht.m_buckets_data._Mypair._Myval2._Myfirst == m_ht.m_buckets_data._Mypair._Myval2._Mylast" IncludeView="detailed"> 15 0 16 </Item> 17 <Item Name="[max_load_factor]" IncludeView="detailed">m_ht.m_max_load_factor</Item> 18 <CustomListItems> 19 <Variable Name="bucket" InitialValue="m_ht.m_buckets"/> 20 21 <Size>m_ht.m_nb_elements</Size> 22 <Loop> 23 <Item Condition="bucket->m_dist_from_ideal_bucket != -1">*bucket</Item> 24 <Break Condition="bucket->m_last_bucket"/> 25 <Exec>++bucket</Exec> 26 </Loop> 27 </CustomListItems> 28 </Expand> 29 </Type> 30 31 <!-- Visualization that shows the key in the name column and the key-value pair in the value column --> 32 <Type Name="tsl::robin_map<*>" ExcludeView="ShowElementsByIndex" Priority="MediumHigh"> 33 <DisplayString>{{ size={m_ht.m_nb_elements} }}</DisplayString> 34 <Expand> 35 <Item Name="[bucket_count]" IncludeView="detailed">m_ht.m_buckets_data._Mypair._Myval2._Mylast - m_ht.m_buckets_data._Mypair._Myval2._Myfirst</Item> 36 <Item Name="[load_factor]" Condition="m_ht.m_buckets_data._Mypair._Myval2._Myfirst != m_ht.m_buckets_data._Mypair._Myval2._Mylast" IncludeView="detailed"> 37 ((float)m_ht.m_nb_elements) / ((float)(m_ht.m_buckets_data._Mypair._Myval2._Mylast - m_ht.m_buckets_data._Mypair._Myval2._Myfirst)) 38 </Item> 39 <Item Name="[load_factor]" Condition="m_ht.m_buckets_data._Mypair._Myval2._Myfirst == m_ht.m_buckets_data._Mypair._Myval2._Mylast" IncludeView="detailed"> 40 0 41 </Item> 42 <Item Name="[max_load_factor]" IncludeView="detailed">m_ht.m_max_load_factor</Item> 43 <CustomListItems> 44 <Variable Name="bucket" InitialValue="m_ht.m_buckets"/> 45 46 <Size>m_ht.m_nb_elements</Size> 47 <Loop> 48 <Item Condition="bucket->m_dist_from_ideal_bucket != -1" Name="[{reinterpret_cast<std::pair<$T1,$T2>*>(&bucket->m_value)->first}]">*bucket</Item> 49 <Break Condition="bucket->m_last_bucket"/> 50 <Exec>++bucket</Exec> 51 </Loop> 52 </CustomListItems> 53 </Expand> 54 </Type> 55 56 <Type Name="tsl::detail_robin_hash::robin_hash<*>::robin_iterator<*>"> 57 <DisplayString>{*m_bucket}</DisplayString> 58 <Expand> 59 <ExpandedItem>*m_bucket</ExpandedItem> 60 </Expand> 61 </Type> 62 63 <Type Name="tsl::detail_robin_hash::bucket_entry<*>"> 64 <DisplayString Condition="m_dist_from_ideal_bucket == -1">empty</DisplayString> 65 <DisplayString Condition="m_dist_from_ideal_bucket != -1">{*reinterpret_cast<$T1*>(&m_value)}</DisplayString> 66 <Expand> 67 <ExpandedItem Condition="m_dist_from_ideal_bucket != -1">*reinterpret_cast<$T1*>(&m_value)</ExpandedItem> 68 </Expand> 69 </Type> 70 71 <Type Name="tsl::detail_robin_hash::bucket_entry<*>" IncludeView="MapHelper"> 72 <DisplayString Condition="m_dist_from_ideal_bucket == -1">empty</DisplayString> 73 <DisplayString Condition="m_dist_from_ideal_bucket != -1">{reinterpret_cast<$T1*>(&m_value)->second}</DisplayString> 74 <Expand> 75 <ExpandedItem Condition="m_dist_from_ideal_bucket != -1">*reinterpret_cast<$T1*>(&m_value)</ExpandedItem> 76 </Expand> 77 </Type> 78 </AutoVisualizer>