Last active
June 20, 2021 20:42
-
-
Save Trass3r/7a277546a198c094e9512170989d2935 to your computer and use it in GitHub Desktop.
libstdc++ natvis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> | |
<!-- gnu stl --> | |
<Type Name="std::initializer_list<*>"> | |
<DisplayString>{{ size={_M_len} }}</DisplayString> | |
<Expand> | |
<ArrayItems> | |
<Size>_M_len</Size> | |
<ValuePointer>_M_array</ValuePointer> | |
</ArrayItems> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::bitset<*>"> | |
<DisplayString>{{ size={$T1} }}</DisplayString> | |
<Expand> | |
<IndexListItems Condition="$T1<=(sizeof(unsigned long)*8)"> | |
<Size>$T1</Size> | |
<ValueNode>(_M_w >> $i) & 1</ValueNode> | |
</IndexListItems> | |
<IndexListItems Condition="$T1>(sizeof(unsigned long)*8)"> | |
<Size>$T1</Size> | |
<ValueNode>(_M_w[$i / (sizeof(unsigned long)*8)] >> ($i % (sizeof(unsigned long)*8))) & 1</ValueNode> | |
</IndexListItems> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::unique_ptr<*>"> | |
<DisplayString Condition="_M_t._M_head_impl == 0">empty</DisplayString> | |
<DisplayString Condition="_M_t._M_head_impl != 0">unique_ptr {*_M_t._M_head_impl}</DisplayString> | |
<Expand> | |
<ExpandedItem Condition="_M_t._M_head_impl != 0">_M_t._M_head_impl</ExpandedItem> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::weak_ptr<*>"> | |
<DisplayString Condition="_M_ptr == 0">empty</DisplayString> | |
<DisplayString Condition="_M_ptr != 0">weak_ptr {*_M_ptr}</DisplayString> | |
<Expand> | |
<ExpandedItem Condition="_M_ptr != 0">_M_ptr</ExpandedItem> | |
</Expand> | |
</Type> | |
<Type Name="std::plus<void>"> | |
<DisplayString>plus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::minus<void>"> | |
<DisplayString>minus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::multiplies<void>"> | |
<DisplayString>multiplies<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::divides<void>"> | |
<DisplayString>divides<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::modulus<void>"> | |
<DisplayString>modulus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::negate<void>"> | |
<DisplayString>negate<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::equal_to<void>"> | |
<DisplayString>equal_to<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::not_equal_to<void>"> | |
<DisplayString>not_equal_to<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::greater<void>"> | |
<DisplayString>greater<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::less<void>"> | |
<DisplayString>less<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::greater_equal<void>"> | |
<DisplayString>greater_equal<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::less_equal<void>"> | |
<DisplayString>less_equal<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_and<void>"> | |
<DisplayString>logical_and<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_or<void>"> | |
<DisplayString>logical_or<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_not<void>"> | |
<DisplayString>logical_not<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_and<void>"> | |
<DisplayString>bit_and<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_or<void>"> | |
<DisplayString>bit_or<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_xor<void>"> | |
<DisplayString>bit_xor<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_not<void>"> | |
<DisplayString>bit_not<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::plus<*>"> | |
<DisplayString>plus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::minus<*>"> | |
<DisplayString>minus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::multiplies<*>"> | |
<DisplayString>multiplies</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::divides<*>"> | |
<DisplayString>divides</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::modulus<*>"> | |
<DisplayString>modulus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::negate<*>"> | |
<DisplayString>negate</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::equal_to<*>"> | |
<DisplayString>equal_to</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::not_equal_to<*>"> | |
<DisplayString>not_equal_to</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::greater<*>"> | |
<DisplayString>greater</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::less<*>"> | |
<DisplayString>less</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::greater_equal<*>"> | |
<DisplayString>greater_equal</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::less_equal<*>"> | |
<DisplayString>less_equal</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_and<*>"> | |
<DisplayString>logical_and</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_or<*>"> | |
<DisplayString>logical_or</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::logical_not<*>"> | |
<DisplayString>logical_not</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_and<*>"> | |
<DisplayString>bit_and</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_or<*>"> | |
<DisplayString>bit_or</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_xor<*>"> | |
<DisplayString>bit_xor</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::bit_not<*>"> | |
<DisplayString>bit_not</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::unary_negate<*>"> | |
<DisplayString>not1({_M_pred})</DisplayString> | |
<Expand> | |
<Item Name="[pred]">_M_pred</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::binary_negate<*>"> | |
<DisplayString>not2({_M_pred})</DisplayString> | |
<Expand> | |
<Item Name="[pred]">_M_pred</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::_Bind<*>"> | |
<DisplayString>bind({_M_f}, {_M_bound_args})</DisplayString> | |
<Expand> | |
<Item Name="[f]">_M_f</Item> | |
<Item Name="[bound_args]">_M_bound_args</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::function<*>"> | |
<DisplayString Condition="_M_manager == 0">empty</DisplayString> | |
<DisplayString Condition="_M_manager != 0">{*_M_manager}</DisplayString> | |
<Expand> | |
<Item Name="[function]">_M_manager</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<1,1000000000> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<1l,1000000000l> >" /> | |
<DisplayString>{__r} nanoseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<1,1000000> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<1l,1000000l> >" /> | |
<DisplayString>{__r} microseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<1,1000> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<1l,1000l> >" /> | |
<DisplayString>{__r} milliseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<1,1> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<1l,1l> >" /> | |
<DisplayString>{__r} seconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<60,1> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<60l,1l> >" /> | |
<DisplayString>{__r} minutes</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::chrono::duration<*,std::ratio<3600,1> >"> | |
<AlternativeType Name="std::chrono::duration<*,std::ratio<3600l,1l> >" /> | |
<DisplayString>{__r} hours</DisplayString> | |
<Expand/> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::vector<*>"> | |
<DisplayString>{{size={_M_impl._M_finish - _M_impl._M_start}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]" ExcludeView="simple">_M_impl._M_finish - _M_impl._M_start</Item> | |
<Item Name="[capacity]" ExcludeView="simple">_M_impl._M_end_of_storage - _M_impl._M_start</Item> | |
<ArrayItems> | |
<Size>_M_impl._M_finish - _M_impl._M_start</Size> | |
<ValuePointer>_M_impl._M_start</ValuePointer> | |
</ArrayItems> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::list<*>"> | |
<DisplayString Condition="_M_impl._M_node._M_next == &_M_impl._M_node">empty</DisplayString> | |
<Expand> | |
<LinkedListItems Condition="_M_impl._M_node._M_next != &_M_impl._M_node"> | |
<HeadPointer>(std::list<$T1,$T2>::_Node*)&_M_impl._M_node</HeadPointer> | |
<NextPointer>_M_next</NextPointer> | |
<ValueNode>_M_data</ValueNode> | |
<NoValueHeadPointer>true</NoValueHeadPointer> | |
</LinkedListItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__cxx11::list<*>"> | |
<DisplayString Condition="_M_impl._M_node._M_next == &_M_impl._M_node">empty</DisplayString> | |
<Expand> | |
<LinkedListItems Condition="_M_impl._M_node._M_next != &_M_impl._M_node"> | |
<HeadPointer>(std::__cxx11::list<$T1,$T2>::_Node*)&_M_impl._M_node</HeadPointer> | |
<NextPointer>_M_next</NextPointer> | |
<ValueNode>_M_data</ValueNode> | |
<NoValueHeadPointer>true</NoValueHeadPointer> | |
</LinkedListItems> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::pair<*>"> | |
<AlternativeType Name="std::map<*>::value_type" /> | |
<DisplayString>({first}, {second})</DisplayString> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::map<*>"> | |
<DisplayString>{{size={_M_t._M_impl._M_node_count}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">_M_t._M_impl._M_node_count</Item> | |
<TreeItems> | |
<Size>_M_t._M_impl._M_node_count</Size> | |
<HeadPointer>(std::map<$T1,$T2,$T3,$T4>::_Rep_type::_Link_type)_M_t._M_impl._M_header._M_parent</HeadPointer> | |
<LeftPointer>_M_left</LeftPointer> | |
<RightPointer>_M_right</RightPointer> | |
<ValueNode>*(std::map<$T1,$T2,$T3,$T4>::value_type*)&_M_storage._M_storage</ValueNode> | |
</TreeItems> | |
</Expand> | |
</Type> | |
<!-- pre cxx11 gnu stl | |
<Type Name="std::map<*>"> | |
<DisplayString>{{size={_M_t._M_impl._M_node_count}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">_M_t._M_impl._M_node_count</Item> | |
<TreeItems> | |
<Size>_M_t._M_impl._M_node_count</Size> | |
<HeadPointer>(std::map<$T1,$T2,$T3,$T4>::_Rep_type::_Link_type)_M_t._M_impl._M_header._M_parent</HeadPointer> | |
<LeftPointer>_M_left</LeftPointer> | |
<RightPointer>_M_right</RightPointer> | |
<ValueNode>_M_value_field</ValueNode> | |
</TreeItems> | |
</Expand> | |
</Type> | |
--> | |
<!-- gnu stl --> | |
<Type Name="std::set<*>"> | |
<DisplayString>{{size={_M_t._M_impl._M_node_count}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">_M_t._M_impl._M_node_count</Item> | |
<TreeItems> | |
<Size>_M_t._M_impl._M_node_count</Size> | |
<HeadPointer>(std::set<$T1,$T2,$T3>::_Rep_type::_Link_type)_M_t._M_impl._M_header._M_parent</HeadPointer> | |
<LeftPointer>_M_left</LeftPointer> | |
<RightPointer>_M_right</RightPointer> | |
<ValueNode>*($T1*)&_M_storage._M_storage</ValueNode> | |
</TreeItems> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::shared_ptr<*>"> | |
<DisplayString>shared_ptr {{{_M_ptr}}}</DisplayString> | |
<Expand> | |
<ExpandedItem>_M_ptr</ExpandedItem> | |
</Expand> | |
</Type> | |
<!-- gnu stl --> | |
<Type Name="std::string"> | |
<AlternativeType Name="std::basic_string<char,*,*>" /> | |
<DisplayString>{_M_dataplus._M_p}</DisplayString> | |
<Expand> | |
<Item Name="[string]" ExcludeView="simple">_M_dataplus._M_p</Item> | |
<Item Name="[size]">((std::basic_string<char,$T2,$T3>::_Rep*)_M_dataplus._M_p)[-1]._M_length</Item> | |
<Item Name="[capacity]">((std::basic_string<char,$T2,$T3>::_Rep*)_M_dataplus._M_p)[-1]._M_capacity</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::__cxx11::string"> | |
<AlternativeType Name="std::__cxx11::basic_string<char,*,*>" /> | |
<DisplayString>{_M_dataplus._M_p}</DisplayString> | |
<Expand> | |
<Item Name="[string]" ExcludeView="simple">_M_dataplus._M_p</Item> | |
<Item Name="[size]">_M_string_length</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::array<*,*>"> | |
<DisplayString>{{ size={$T2} }}</DisplayString> | |
<Expand> | |
<ExpandedItem>_M_elems</ExpandedItem> | |
</Expand> | |
</Type> | |
<Type Name="std::deque<*>"> | |
<DisplayString>{{ size={(_M_impl._M_finish._M_node-_M_impl._M_start._M_node-1)*(512/(int)((($T1*)0)+1))+(_M_impl._M_finish._M_cur-_M_impl._M_finish._M_first)+(_M_impl._M_start._M_last-_M_impl._M_start._M_cur)} }}</DisplayString> | |
<Expand> | |
<IndexListItems> | |
<Size>(_M_impl._M_finish._M_node-_M_impl._M_start._M_node-1)*(512/(int)((($T1*)0)+1))+(_M_impl._M_finish._M_cur-_M_impl._M_finish._M_first)+(_M_impl._M_start._M_last-_M_impl._M_start._M_cur)</Size> | |
<ValueNode>_M_impl._M_map[(_M_impl._M_start._M_node-_M_impl._M_map) + $i / (512/(int)((($T1*)0)+1)) % _M_impl._M_map_size][((_M_impl._M_start._M_cur-_M_impl._M_start._M_first) +$i) % (512/(int)((($T1*)0)+1))]</ValueNode> | |
</IndexListItems> | |
</Expand> | |
</Type> | |
<Type Name="std::forward_list<*>"> | |
<DisplayString Condition="_M_impl._M_head._M_next == 0">empty</DisplayString> | |
<DisplayString Condition="_M_impl._M_head._M_next != 0">non-empty</DisplayString> | |
<Expand> | |
<LinkedListItems> | |
<HeadPointer>(std::forward_list<$T1,$T2>::_Node*)_M_impl._M_head._M_next</HeadPointer> | |
<NextPointer>_M_next</NextPointer> | |
<ValueNode>*($T1*)&_M_storage</ValueNode> | |
</LinkedListItems> | |
</Expand> | |
</Type> | |
<Type Name="std::queue<*>"> | |
<AlternativeType Name="std::stack<*>" /> | |
<DisplayString>{c}</DisplayString> | |
<Expand> | |
<Item Name="c">c</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::priority_queue<*>"> | |
<DisplayString>{c}</DisplayString> | |
<Expand> | |
<Item Name="c [heap]">c</Item> | |
<Item Name="comp">comp</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::complex<*>"> | |
<DisplayString>{_M_value}</DisplayString> | |
</Type> | |
<Type Name="std::valarray<*>"> | |
<DisplayString>{{ size={_M_size} }}</DisplayString> | |
<Expand> | |
<ArrayItems> | |
<Size>_M_size</Size> | |
<ValuePointer>_M_data</ValuePointer> | |
</ArrayItems> | |
</Expand> | |
</Type> | |
<Type Name="std::atomic<*>"> | |
<DisplayString>atomic {_M_i}</DisplayString> | |
<Expand> | |
<Item Name="[value]">_M_i</Item> | |
</Expand> | |
</Type> | |
<!-- llvm stl --> | |
<Type Name="std::__1::vector<*>"> | |
<DisplayString>{{size={__end_ - __begin_}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]" ExcludeView="simple">__end_ - __begin_</Item> | |
<Item Name="[capacity]" ExcludeView="simple">__end_cap_.__first_ - __begin_</Item> | |
<Item Name="[allocator]" ExcludeView="simple">__end_cap_</Item> | |
<ArrayItems> | |
<Size>__end_ - __begin_</Size> | |
<ValuePointer>__begin_</ValuePointer> | |
</ArrayItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::map<*>"> | |
<DisplayString>{{size={__tree_.__pair3_.__first_}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">__tree_.__pair3_.__first_</Item> | |
<TreeItems> | |
<Size>__tree_.__pair3_.__first_</Size> | |
<HeadPointer>(std::__1::map<$T1,$T2,$T3,$T4>::__base::__node_pointer)__tree_.__pair1_.__first_->__left_</HeadPointer> | |
<LeftPointer>__left_</LeftPointer> | |
<RightPointer>__right_</RightPointer> | |
<ValueNode>__value_</ValueNode> | |
</TreeItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::__value_type<*,*>"> | |
<DisplayString>{__nc}</DisplayString> | |
<Expand> | |
<Item Name="[Key]">__nc.first</Item> | |
<Item Name="[Value]">__nc.second</Item> | |
</Expand> | |
</Type> | |
<Alias Name="std::__1::__tree_node<*>::value_type"> | |
<Value>$T1</Value> | |
</Alias> | |
<Type Name="std::__1::shared_ptr<*>"> | |
<DisplayString>shared_ptr {{{__ptr_}}}</DisplayString> | |
<Expand> | |
<Item Condition="__ptr_ != 0" Name="[ptr]">($T1*)__ptr_</Item> | |
<Item Condition="__cntrl_ != 0" Name="[control block]">*__cntrl_</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::string"> | |
<AlternativeType Name="std::__1::basic_string<char,*>" /> | |
<DisplayString Condition="(bool)(__r_.__first_.__s.__size_ & 0x01)">{(char*)(__r_.__first_.__l.__data_)}</DisplayString> | |
<DisplayString>{(char*)(__r_.__first_.__s.__data_)}</DisplayString> | |
<Expand> | |
<Item Name="[string]" Condition="(bool)(__r_.__first_.__s.__size_ & 0x01)">(char*)(__r_.__first_.__l.__data_)</Item> | |
<Item Name="[string]" Condition="!(__r_.__first_.__s.__size_ & 0x01)">(char*)(__r_.__first_.__s.__data_)</Item> | |
<Item Name="[size]" Condition="(bool)(__r_.__first_.__s.__size_ & 0x01)">__r_.__first_.__l.__size_</Item> | |
<Item Name="[size]" Condition="!(__r_.__first_.__s.__size_ & 0x01)">__r_.__first_.__s.__size_ >> 1</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::set<*>"> | |
<DisplayString>{{size={__tree_.__pair3_.__first_}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">__tree_.__pair3_.__first_</Item> | |
<TreeItems> | |
<Size>__tree_.__pair3_.__first_</Size> | |
<HeadPointer>(std::__1::__tree<$T1,$T2,$T3>::__node_pointer)__tree_.__pair1_.__first_->__left_</HeadPointer> | |
<LeftPointer>__left_</LeftPointer> | |
<RightPointer>__right_</RightPointer> | |
<ValueNode>__value_</ValueNode> | |
</TreeItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::list<*>"> | |
<DisplayString>{{size={__size_alloc_.__first_}}}</DisplayString> | |
<Expand> | |
<Item Name="[size]">__size_alloc_.__first_</Item> | |
<LinkedListItems Condition="__size_alloc_.__first_ != 0"> | |
<Size>__size_alloc_.__first_</Size> | |
<HeadPointer>__end_.__next_</HeadPointer> | |
<NextPointer>__next_</NextPointer> | |
<ValueNode>__value_</ValueNode> | |
</LinkedListItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::bitset<*>"> | |
<DisplayString>{{ size={$T1} }}</DisplayString> | |
<Expand> | |
<IndexListItems Condition="$T1<=__bits_per_word"> | |
<Size>$T1</Size> | |
<ValueNode>(__first_ >> $i) & 1</ValueNode> | |
</IndexListItems> | |
<IndexListItems Condition="$T1>__bits_per_word"> | |
<Size>$T1</Size> | |
<ValueNode>(__first_[$i / __bits_per_word] >> ($i % __bits_per_word)) & 1</ValueNode> | |
</IndexListItems> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::unique_ptr<*>"> | |
<DisplayString Condition="__ptr_.__first_ == 0">empty</DisplayString> | |
<DisplayString Condition="__ptr_.__first_ != 0">unique_ptr {*__ptr_.__first_}</DisplayString> | |
<Expand> | |
<ExpandedItem Condition="__ptr_.__first_ != 0">__ptr_.__first_</ExpandedItem> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::weak_ptr<*>"> | |
<DisplayString Condition="__ptr_ == 0">empty</DisplayString> | |
<DisplayString Condition="__ptr_ != 0">weak_ptr {*($T1*)__ptr_}</DisplayString> | |
<Expand> | |
<ExpandedItem Condition="__ptr_ != 0">($T1*)__ptr_</ExpandedItem> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::plus<void>"> | |
<DisplayString>plus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::minus<void>"> | |
<DisplayString>minus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::multiplies<void>"> | |
<DisplayString>multiplies<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::divides<void>"> | |
<DisplayString>divides<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::modulus<void>"> | |
<DisplayString>modulus<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::negate<void>"> | |
<DisplayString>negate<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::equal_to<void>"> | |
<DisplayString>equal_to<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::not_equal_to<void>"> | |
<DisplayString>not_equal_to<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::greater<void>"> | |
<DisplayString>greater<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::less<void>"> | |
<DisplayString>less<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::greater_equal<void>"> | |
<DisplayString>greater_equal<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::less_equal<void>"> | |
<DisplayString>less_equal<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_and<void>"> | |
<DisplayString>logical_and<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_or<void>"> | |
<DisplayString>logical_or<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_not<void>"> | |
<DisplayString>logical_not<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_and<void>"> | |
<DisplayString>bit_and<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_or<void>"> | |
<DisplayString>bit_or<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_xor<void>"> | |
<DisplayString>bit_xor<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_not<void>"> | |
<DisplayString>bit_not<></DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::plus<*>"> | |
<DisplayString>plus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::minus<*>"> | |
<DisplayString>minus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::multiplies<*>"> | |
<DisplayString>multiplies</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::divides<*>"> | |
<DisplayString>divides</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::modulus<*>"> | |
<DisplayString>modulus</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::negate<*>"> | |
<DisplayString>negate</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::equal_to<*>"> | |
<DisplayString>equal_to</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::not_equal_to<*>"> | |
<DisplayString>not_equal_to</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::greater<*>"> | |
<DisplayString>greater</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::less<*>"> | |
<DisplayString>less</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::greater_equal<*>"> | |
<DisplayString>greater_equal</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::less_equal<*>"> | |
<DisplayString>less_equal</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_and<*>"> | |
<DisplayString>logical_and</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_or<*>"> | |
<DisplayString>logical_or</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::logical_not<*>"> | |
<DisplayString>logical_not</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_and<*>"> | |
<DisplayString>bit_and</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_or<*>"> | |
<DisplayString>bit_or</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_xor<*>"> | |
<DisplayString>bit_xor</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::bit_not<*>"> | |
<DisplayString>bit_not</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::unary_negate<*>"> | |
<DisplayString>not1({_M_pred})</DisplayString> | |
<Expand> | |
<Item Name="[pred]">_M_pred</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::binary_negate<*>"> | |
<DisplayString>not2({_M_pred})</DisplayString> | |
<Expand> | |
<Item Name="[pred]">_M_pred</Item> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::function<*>"> | |
<DisplayString Condition="__f_ == 0">empty</DisplayString> | |
<DisplayString Condition="__f_ != 0">{*__f_}</DisplayString> | |
<Expand> | |
<ExpandedItem Condition="__f_ != 0">*__f_</ExpandedItem> | |
</Expand> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<1,1000000000> >"> | |
<DisplayString>{__rep_} nanoseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<1,1000000> >"> | |
<DisplayString>{__rep_} microseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<1,1000> >"> | |
<DisplayString>{__rep_} milliseconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<1,1> >"> | |
<DisplayString>{__rep_} seconds</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<60,1> >"> | |
<DisplayString>{__rep_} minutes</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::chrono::duration<*,std::__1::ratio<3600,1> >"> | |
<DisplayString>{__rep_} hours</DisplayString> | |
<Expand/> | |
</Type> | |
<Type Name="std::__1::array<*,*>"> | |
<DisplayString>{{ size={$T2} }}</DisplayString> | |
<Expand> | |
<ExpandedItem>__elems_</ExpandedItem> | |
</Expand> | |
</Type> | |
<Alias Name="std::__1::array<*>::value_type"> | |
<Value>$T1</Value> | |
</Alias> | |
<Type Name="std::__1::deque<*>"> | |
<DisplayString>{{size={__size_.__first_}}}</DisplayString> | |
<!-- GDB fails to eval the ValueNode indexing correctly <Expand> | |
<IndexListItems> | |
<Size>__size_.__first_</Size> | |
<ValueNode>*(__map_.__first_+((__start_+$i)/__block_size) % (__map_.__end_cap_.__first_-__map_.__first_)))+(__start_+$i)%__block_size</ValueNode> | |
</IndexListItems> | |
</Expand> --> | |
</Type> | |
<Type Name="std::__1::forward_list<*>"> | |
<DisplayString Condition="__before_begin_.__first_.__next_ == 0">empty</DisplayString> | |
<DisplayString>non-empty</DisplayString> | |
<Expand> | |
<LinkedListItems> | |
<HeadPointer>__before_begin_.__first_.__next_</HeadPointer> | |
<NextPointer>__next_</NextPointer> | |
<ValueNode>__value_</ValueNode>10:55 AM 6/4/2015 | |
</LinkedListItems> | |
</Expand> | |
</Type> | |
<Alias Name="std::__1::__forward_list_node<*>::value_type"> | |
<Value>$T1</Value> | |
</Alias> | |
<Type Name="std::__1::queue<*>"> | |
<AlternativeType Name="std::__1::stack<*>" /> | |
<DisplayString>{c}</DisplayString> | |
<Expand> | |
<Item Name="c">c</Item> | |
</Expand> | |
</Type> | |
<Alias Name="std::__1::queue<*>::container_type"> | |
<Value>$T2</Value> | |
</Alias> | |
<Type Name="std::__1::priority_queue<*>"> | |
<DisplayString>{c}</DisplayString> | |
<Expand> | |
<Item Name="c [heap]">c</Item> | |
<Item Name="comp">comp</Item> | |
</Expand> | |
</Type> | |
<Alias Name="std::__1::priority_queue<*>::container_type"> | |
<Value>$T2</Value> | |
</Alias> | |
<Type Name="std::__1::atomic<*>"> | |
<DisplayString>atomic {__a_}</DisplayString> | |
<Expand> | |
<Item Name="[value]">__a_</Item> | |
</Expand> | |
</Type> | |
</AutoVisualizer> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment