]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/json/json.natvis
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / boost / json / json.natvis
1 <?xml version="1.0" encoding="utf-8"?>
2 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
3
4 <Type Name="boost::json::storage_ptr">
5 <DisplayString Condition="i_==0">default</DisplayString>
6 <DisplayString Condition="(i_&amp;3)==1"> shared</DisplayString>
7 <DisplayString Condition="(i_&amp;3)==2"> trivial</DisplayString>
8 <DisplayString Condition="(i_&amp;3)==3"> shared, trivial</DisplayString>
9 <DisplayString>non-owning</DisplayString>
10 <Expand>
11 <Item Name="[ refs ]" Condition="(i_&amp;1)==1">((shared_resource*)(i_&amp;~3))->refs</Item>
12 <Item Name="[ resource ]" Condition="(i_&amp;2)==1">(shared_resource*)(i_&amp;~3)</Item>
13 <Item Name="[ resource ]" Condition="(i_&amp;2)!=1">(memory_resource*)(i_&amp;~3)</Item>
14 </Expand>
15 </Type>
16
17 <Type Name="boost::json::detail::shared_resource_impl&lt;*&gt;">
18 <DisplayString>$T1*</DisplayString>
19 <Expand>
20 <Item Name="[ refs ]">refs</Item>
21 </Expand>
22 </Type>
23
24 <Type Name="boost::json::monotonic_resource">
25 <DisplayString>monotonic_resource</DisplayString>
26 <Expand>
27 <Item Name="[ free ]">head_->n</Item>
28 </Expand>
29 </Type>
30
31 <Type Name="boost::json::static_resource">
32 <DisplayString>static_resource</DisplayString>
33 <Expand>
34 <Item Name="[ free ]">n_</Item>
35 </Expand>
36 </Type>
37
38 <Type Name="boost::json::value">
39 <DisplayString Condition="sca_.k==kind::null">null</DisplayString>
40 <DisplayString Condition="sca_.k==kind::bool_">{sca_.b}</DisplayString>
41 <DisplayString Condition="sca_.k==kind::int64">{sca_.i}</DisplayString>
42 <DisplayString Condition="sca_.k==kind::uint64">{sca_.u}u</DisplayString>
43 <DisplayString Condition="sca_.k==kind::double_">{sca_.d}</DisplayString>
44 <DisplayString Condition="sca_.k==kind::string">{((char*)(str_.impl_.p_.t+1)),[str_.impl_.p_.t->size]s}</DisplayString>
45 <DisplayString Condition="sca_.k==kind::string+64">{((char*)(str_.impl_.k_.s)),[str_.impl_.k_.n]s}:</DisplayString>
46 <DisplayString Condition="sca_.k==kind::string+128">{str_.impl_.s_.buf,[detail::string_impl::sbo_chars_-str_.impl_.s_.buf[detail::string_impl::sbo_chars_]]s}</DisplayString>
47 <DisplayString Condition="sca_.k==kind::array">array [{arr_.t_->size}]</DisplayString>
48 <DisplayString Condition="sca_.k==kind::object">object [{obj_.t_->size}]</DisplayString>
49 <Expand>
50 <ExpandedItem Condition="sca_.k==kind::string">str_</ExpandedItem>
51 <ExpandedItem Condition="sca_.k==kind::string+64">str_</ExpandedItem>
52 <ExpandedItem Condition="sca_.k==kind::string+128">str_</ExpandedItem>
53 <ExpandedItem Condition="sca_.k==kind::array">arr_</ExpandedItem>
54 <ExpandedItem Condition="sca_.k==kind::object">obj_</ExpandedItem>
55 </Expand>
56 </Type>
57
58 <Type Name="boost::json::string">
59 <DisplayString Condition="impl_.s_.k==kind::string">{((char*)(impl_.p_.t+1)),[impl_.p_.t->size]s}</DisplayString>
60 <DisplayString Condition="impl_.s_.k==kind::string+64">{((char*)(impl_.k_.s)),[impl_.k_.n]s}:</DisplayString>
61 <DisplayString Condition="impl_.s_.k==kind::string+128">{impl_.s_.buf,[detail::string_impl::sbo_chars_-impl_.s_.buf[detail::string_impl::sbo_chars_]]s}</DisplayString>
62 <Expand>
63 <!-- VFALCO Need to handle key string here -->
64 <Item Name="[size]">impl_.s_.k==kind::string?impl_.p_.t->size:detail::string_impl::sbo_chars_-impl_.s_.buf[detail::string_impl::sbo_chars_]</Item>
65 <Item Name="[capacity]">impl_.s_.k==kind::string?impl_.p_.t->capacity:detail::string_impl::sbo_chars_</Item>
66 <Item Name="[storage]">sp_</Item>
67 </Expand>
68 </Type>
69
70 <Type Name="boost::json::array">
71 <DisplayString>array [{t_->size}]</DisplayString>
72 <Expand>
73 <ArrayItems>
74 <Size>t_->size</Size>
75 <ValuePointer>((value*)(t_+1))</ValuePointer>
76 </ArrayItems>
77 <Item Name="[capacity]">t_->capacity</Item>
78 <Item Name="[storage]">sp_</Item>
79 </Expand>
80 </Type>
81
82 <Type Name="boost::json::object">
83 <DisplayString>object [{t_->size}]</DisplayString>
84 <Expand>
85 <ArrayItems>
86 <Size>t_->size</Size>
87 <ValuePointer>(boost::json::key_value_pair*)(t_+1)</ValuePointer>
88 </ArrayItems>
89 <Item Name="[capacity]">t_->capacity</Item>
90 <Item Name="[storage]">sp_</Item>
91 </Expand>
92 </Type>
93
94 <Type Name="boost::json::key_value_pair">
95 <DisplayString Condition="value_.sca_.k==kind::null">{{ {key_,[len_]s}, null }}</DisplayString>
96 <DisplayString Condition="value_.sca_.k==kind::bool_">{{ {key_,[len_]s}, {value_.sca_.b} }}</DisplayString>
97 <DisplayString Condition="value_.sca_.k==kind::int64">{{ {key_,[len_]s}, {value_.sca_.i} }}</DisplayString>
98 <DisplayString Condition="value_.sca_.k==kind::uint64">{{ {key_,[len_]s}, {value_.sca_.u} }}</DisplayString>
99 <DisplayString Condition="value_.sca_.k==kind::double_">{{ {key_,[len_]s}, {value_.sca_.d} }}</DisplayString>
100 <DisplayString Condition="value_.sca_.k==kind::string">{{ {key_,[len_]s}, {((char*)(value_.str_.impl_.p_.t+1)),[value_.str_.impl_.p_.t->size]s} }}</DisplayString>
101 <DisplayString Condition="value_.sca_.k==kind::string+128">{{ {key_,[len_]s}, {value_.str_.impl_.s_.buf,[detail::string_impl::sbo_chars_-value_.str_.impl_.s_.buf[detail::string_impl::sbo_chars_]]s} }}</DisplayString>
102 <DisplayString Condition="value_.sca_.k==kind::array">{{ {key_,[len_]s}, array [{value_.arr_.t_->size}] }}</DisplayString>
103 <DisplayString Condition="value_.sca_.k==kind::object">{{ {key_,[len_]s}, object [{value_.obj_.t_->size}] }}</DisplayString>
104 <Expand>
105 <ExpandedItem>&amp;this->value_</ExpandedItem>
106 </Expand>
107 </Type>
108
109 </AutoVisualizer>