Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
- <Type Name="tsl::array_map<*>">
- <!--
- # Template parameters
- $T1: typename CharT
- $T2: typename T
- $T3: typename Hash
- $T4: typename KeyEqual
- $T5: bool StoreNullTerminator
- $T6: typename KeySizeT
- $T7: typename IndexSizeT
- $T8: typename GrowthPolicy
- -->
- <Intrinsic Name="size" Expression="m_ht.m_nb_elements" />
- <!-- Accessing intrinsics 'size' of std::vector -->
- <Intrinsic Name="bucket_count" Expression="m_ht.m_buckets_data.size()" />
- <DisplayString>{{ size={size()} }}</DisplayString>
- <Expand>
- <Item Name="[bucket_count]">bucket_count()</Item>
- <Item Name="[load_factor]">bucket_count() == 0 ? 0 : (int)((float)size() / (float)bucket_count())</Item>
- <Item Name="[max_load_factor]">m_ht.m_max_load_factor</Item>
- <Item Name="[load_threshold]">m_ht.m_load_threshold</Item>
- <CustomListItems>
- <Variable Name="i" InitialValue="0" />
- <Variable Name="bucket" InitialValue="m_ht.m_buckets" />
- <Variable Name="position" InitialValue="($T1*)0" />
- <Variable Name="keySize" InitialValue="0" />
- <Variable Name="key" InitialValue="($T1*)0" />
- <Size>size() * 2</Size>
- <Loop>
- <If Condition="bucket->m_buffer != nullptr && *(($T6*)(bucket->m_buffer)) != ht::array_bucket::END_OF_BUCKET">
- <Exec>position = bucket->m_buffer</Exec>
- <Loop>
- <Exec>keySize = *(($T6*)position)</Exec>
- <Exec>position += sizeof($T6)</Exec>
- <Break Condition="keySize == ht::array_bucket::END_OF_BUCKET" />
- <Exec>key = position</Exec>
- <Exec>position += keySize + ($T5 ? 1 : 0)</Exec>
- <!-- TODO use <Synthetic> when it is supported in list views -->
- <Item Name="[{i} key]">key,[keySize]s8b</Item>
- <Item Name="[{i} value]">m_ht.m_values._Mypair._Myval2._Myfirst[*(($T7*)position)]</Item>
- <Exec>++i</Exec>
- <Exec>position += sizeof($T7)</Exec>
- </Loop>
- </If>
- <Break Condition="bucket == (m_ht.m_buckets + bucket_count())" />
- <Exec>++bucket</Exec>
- </Loop>
- </CustomListItems>
- </Expand>
- </Type>
- </AutoVisualizer>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement