duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

qt5.natvis (32557B)


      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!--
      3     ****************************************************************************
      4     **
      5     ** Copyright (C) 2016 The Qt Company Ltd.
      6     ** Contact: https://www.qt.io/licensing/
      7     **
      8     ** This file is part of the Qt VS Tools.
      9     **
     10     ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
     11     ** Commercial License Usage
     12     ** Licensees holding valid commercial Qt licenses may use this file in
     13     ** accordance with the commercial license agreement provided with the
     14     ** Software or, alternatively, in accordance with the terms contained in
     15     ** a written agreement between you and The Qt Company. For licensing terms
     16     ** and conditions see https://www.qt.io/terms-conditions. For further
     17     ** information use the contact form at https://www.qt.io/contact-us.
     18     **
     19     ** GNU General Public License Usage
     20     ** Alternatively, this file may be used under the terms of the GNU
     21     ** General Public License version 3 as published by the Free Software
     22     ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
     23     ** included in the packaging of this file. Please review the following
     24     ** information to ensure the GNU General Public License requirements will
     25     ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
     26     **
     27     ** $QT_END_LICENSE$
     28     **
     29     ****************************************************************************
     30 -->
     31 
     32 <AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
     33 
     34     <Type Name="QPoint">
     35         <AlternativeType Name="QPointF"/>
     36         <DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString>
     37         <Expand>
     38             <Item Name="[x]">xp</Item>
     39             <Item Name="[y]">yp</Item>
     40         </Expand>
     41     </Type>
     42 
     43     <Type Name="QRect">
     44         <DisplayString>{{ x = {x1}, y = {y1}, width = {x2 - x1 + 1}, height = {y2 - y1 + 1} }}</DisplayString>
     45         <Expand>
     46             <Item Name="[x]">x1</Item>
     47             <Item Name="[y]">y1</Item>
     48             <Item Name="[width]">x2 - x1 + 1</Item>
     49             <Item Name="[height]">y2 - y1 + 1</Item>
     50         </Expand>
     51     </Type>
     52 
     53     <Type Name="QRectF">
     54         <DisplayString>{{ x = {xp}, y = {yp}, width = {w}, height = {h} }}</DisplayString>
     55         <Expand>
     56             <Item Name="[x]">xp</Item>
     57             <Item Name="[y]">yp</Item>
     58             <Item Name="[width]">w</Item>
     59             <Item Name="[height]">h</Item>
     60         </Expand>
     61     </Type>
     62 
     63     <Type Name="QSize">
     64         <AlternativeType Name="QSizeF"/>
     65         <DisplayString>{{ width = {wd}, height = {ht} }}</DisplayString>
     66         <Expand>
     67             <Item Name="[width]">wd</Item>
     68             <Item Name="[height]">ht</Item>
     69         </Expand>
     70     </Type>
     71 
     72     <Type Name="QLine">
     73         <AlternativeType Name="QLineF"/>
     74         <DisplayString>{{ start point = {pt1}, end point = {pt2} }}</DisplayString>
     75         <Expand>
     76             <Synthetic Name="[start point]">
     77                 <DisplayString>{pt1}</DisplayString>
     78                 <Expand>
     79                     <ExpandedItem>pt1</ExpandedItem>
     80                 </Expand>
     81             </Synthetic>
     82             <Synthetic Name="[end point]">
     83                 <DisplayString>{pt2}</DisplayString>
     84                 <Expand>
     85                     <ExpandedItem>pt2</ExpandedItem>
     86                 </Expand>
     87             </Synthetic>
     88 
     89         </Expand>
     90     </Type>
     91 
     92     <Type Name="QPolygon">
     93         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
     94         <Expand>
     95             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
     96             <ArrayItems>
     97                 <Size>d-&gt;size</Size>
     98                 <ValuePointer>(QPoint*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer>
     99             </ArrayItems>
    100         </Expand>
    101     </Type>
    102 
    103     <Type Name="QPolygonF">
    104         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
    105         <Expand>
    106             <Item Name="[closed]">
    107                 d-&gt;size &gt; 0
    108                     &amp;&amp; ((((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[0]).xp
    109                 == (((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[d-&gt;size - 1]).xp)
    110                     &amp;&amp; ((((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[0]).yp
    111                 == (((QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)[d-&gt;size - 1]).yp)
    112             </Item>
    113             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    114             <ArrayItems>
    115                 <Size>d-&gt;size</Size>
    116                 <ValuePointer>(QPointF*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer>
    117             </ArrayItems>
    118         </Expand>
    119     </Type>
    120 
    121     <Type Name ="QVector2D">
    122         <DisplayString>{{ x = {xp}, y = {yp} }}</DisplayString>
    123         <Expand>
    124             <Item Name="[x]">xp</Item>
    125             <Item Name="[y]">yp</Item>
    126         </Expand>
    127     </Type>
    128 
    129     <Type Name ="QVector3D">
    130         <DisplayString>{{ x = {xp}, y = {yp}, z = {zp} }}</DisplayString>
    131         <Expand>
    132             <Item Name="[x]">xp</Item>
    133             <Item Name="[y]">yp</Item>
    134             <Item Name="[z]">zp</Item>
    135         </Expand>
    136     </Type>
    137 
    138     <Type Name ="QVector4D">
    139         <DisplayString>{{ x = {xp}, y = {yp}, z = {zp}, w = {wp} }}</DisplayString>
    140         <Expand>
    141             <Item Name="[x]">xp</Item>
    142             <Item Name="[y]">yp</Item>
    143             <Item Name="[z]">zp</Item>
    144             <Item Name="[w]">wp</Item>
    145         </Expand>
    146     </Type>
    147 
    148     <Type Name ="QMatrix">
    149         <DisplayString>
    150             {{ m11 = {_m11}, m12 = {_m12}, m21 = {_m21}, m22 = {_m22}, ... }}
    151         </DisplayString>
    152         <Expand>
    153             <Item Name="[m11]">_m11</Item>
    154             <Item Name="[m12]">_m12</Item>
    155             <Item Name="[m21]">_m21</Item>
    156             <Item Name="[m22]">_m22</Item>
    157             <Item Name="[dx]">_dx</Item>
    158             <Item Name="[dy]">_dy</Item>
    159         </Expand>
    160     </Type>
    161 
    162     <Type Name ="QMatrix4x4">
    163         <DisplayString>
    164             {{ m11 = {m[0][0]}, m12 = {m[1][0]}, m13 = {m[2][0]}, m14 = {m[3][0]}, ... }}
    165         </DisplayString>
    166         <Expand>
    167             <Item Name="[m11]">m[0][0]</Item>
    168             <Item Name="[m12]">m[1][0]</Item>
    169             <Item Name="[m13]">m[2][0]</Item>
    170             <Item Name="[m14]">m[3][0]</Item>
    171             <Item Name="[m21]">m[0][1]</Item>
    172             <Item Name="[m22]">m[1][1]</Item>
    173             <Item Name="[m23]">m[2][1]</Item>
    174             <Item Name="[m24]">m[3][1]</Item>
    175             <Item Name="[m31]">m[0][2]</Item>
    176             <Item Name="[m32]">m[1][2]</Item>
    177             <Item Name="[m33]">m[2][2]</Item>
    178             <Item Name="[m34]">m[3][2]</Item>
    179             <Item Name="[m41]">m[0][3]</Item>
    180             <Item Name="[m42]">m[1][3]</Item>
    181             <Item Name="[m43]">m[2][3]</Item>
    182             <Item Name="[m44]">m[3][3]</Item>
    183         </Expand>
    184     </Type>
    185 
    186     <Type Name="QSizePolicy">
    187         <DisplayString>
    188             {{ horizontal = {static_cast&lt;Policy&gt;(bits.horPolicy)}, vertical = {static_cast&lt;Policy&gt;(bits.verPolicy)}, type = {ControlType(1 &lt;&lt; bits.ctype)} }}
    189         </DisplayString>
    190         <Expand>
    191             <Synthetic Name="[vertical policy]">
    192                 <DisplayString>QSizePolicy::Policy::{static_cast&lt;Policy&gt;(bits.verPolicy)}</DisplayString>
    193             </Synthetic>
    194             <Synthetic Name="[horizontal policy]">
    195                 <DisplayString>QSizePolicy::Policy::{static_cast&lt;Policy&gt;(bits.horPolicy)}</DisplayString>
    196             </Synthetic>
    197             <Synthetic Name="[control type]">
    198                 <DisplayString>QSizePolicy::ControlType::{ControlType(1 &lt;&lt; bits.ctype)}</DisplayString>
    199             </Synthetic>
    200             <Synthetic Name="[expanding directions]">
    201                 <DisplayString
    202                     Condition="(static_cast&lt;Policy&gt;(bits.verPolicy) &amp; ExpandFlag)">
    203                         Qt::Vertical (2)
    204                     </DisplayString>
    205                 <DisplayString
    206                     Condition="(static_cast&lt;Policy&gt;(bits.horPolicy) &amp; ExpandFlag)">
    207                         Qt::Horizontal (1)
    208                 </DisplayString>
    209             </Synthetic>
    210             <Item Name="[vertical stretch]">static_cast&lt;int&gt;(bits.verStretch)</Item>
    211             <Item Name="[horizontal stretch]">static_cast&lt;int&gt;(bits.horStretch)</Item>
    212             <Item Name="[has height for width]">bits.hfw == 1</Item>
    213             <Item Name="[has width for height]">bits.wfh == 1</Item>
    214         </Expand>
    215     </Type>
    216 
    217     <Type Name="QChar">
    218         <DisplayString>{ucs,c}</DisplayString>
    219         <StringView>ucs,c</StringView>
    220         <Expand>
    221             <Item Name="[latin 1]">ucs > 0xff ? '\0' : char(ucs),c</Item>
    222             <Item Name="[unicode]">ucs,c</Item>
    223         </Expand>
    224     </Type>
    225 
    226     <Type Name="QString">
    227         <DisplayString>{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub}</DisplayString>
    228         <StringView>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub</StringView>
    229         <Expand>
    230             <Item Name="[size]">d-&gt;size</Item>
    231             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    232             <ArrayItems>
    233                 <Size>d-&gt;size</Size>
    234                 <ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),c</ValuePointer>
    235             </ArrayItems>
    236         </Expand>
    237     </Type>
    238 
    239     <Type Name="QByteArray">
    240         <DisplayString>{((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),sb}</DisplayString>
    241         <StringView>((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),sb</StringView>
    242         <Expand>
    243             <Item Name="[size]">d-&gt;size</Item>
    244             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    245             <ArrayItems>
    246                 <Size>d-&gt;size</Size>
    247                 <ValuePointer>((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset),c</ValuePointer>
    248             </ArrayItems>
    249         </Expand>
    250     </Type>
    251 
    252     <Type Name="QBitArray">
    253         <DisplayString>{{ size = {(d.d-&gt;size &lt;&lt; 3) - *((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset)} }}</DisplayString>
    254         <Expand>
    255             <Item Name="[referenced]">d.d-&gt;ref.atomic._q_value</Item>
    256             <IndexListItems>
    257                 <Size>(d.d-&gt;size &lt;&lt; 3) - *((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset)</Size>
    258                 <ValueNode>
    259                     (*(reinterpret_cast&lt;const unsigned char*&gt;((reinterpret_cast&lt;char*&gt;(d.d)) + d.d-&gt;offset) + 1
    260                         + ($i &gt;&gt; 3)) &amp; (1 &lt;&lt; ($i &amp; 7))) != 0
    261                 </ValueNode>
    262             </IndexListItems>
    263         </Expand>
    264     </Type>
    265 
    266     <Type Name="QVarLengthArray&lt;*&gt;">
    267         <AlternativeType Name="QVarLengthArray&lt;*, int&gt;"/>
    268         <DisplayString>{{ size = {s} }}</DisplayString>
    269         <Expand>
    270             <Item Name="[capacity]">a</Item>
    271             <ArrayItems>
    272                 <Size>s</Size>
    273                 <ValuePointer>ptr</ValuePointer>
    274             </ArrayItems>
    275         </Expand>
    276     </Type>
    277 
    278     <Type Name="QDate">
    279         <DisplayString>{{ julian day = {jd} }}</DisplayString>
    280         <Expand></Expand>
    281     </Type>
    282 
    283     <Type Name="QTime">
    284         <DisplayString
    285             Condition="mds == 1">{{ millisecond = {mds} }}</DisplayString>
    286         <DisplayString
    287             Condition="mds != 1">{{ milliseconds = {mds} }}</DisplayString>
    288         <Expand>
    289             <Item Name="[hour]"
    290                   Condition="(mds / 3600000) == 1">mds / 3600000, d</Item>
    291             <Item Name="[hours]"
    292                   Condition="(mds / 3600000) != 1">mds / 3600000, d</Item>
    293             <Item Name="[minute]"
    294                   Condition="((mds % 3600000) / 60000) == 1">(mds % 3600000) / 60000, d</Item>
    295             <Item Name="[minutes]"
    296                   Condition="((mds % 3600000) / 60000) != 1">(mds % 3600000) / 60000, d</Item>
    297             <Item Name="[second]"
    298                   Condition="((mds / 1000) % 60) == 1">(mds / 1000) % 60, d</Item>
    299             <Item Name="[seconds]"
    300                   Condition="((mds / 1000) % 60) != 1">(mds / 1000) % 60, d</Item>
    301             <Item Name="[millisecond]"
    302                   Condition="(mds % 1000) == 1">mds % 1000, d</Item>
    303             <Item Name="[milliseconds]"
    304                   Condition="(mds % 1000) != 1">mds % 1000, d</Item>
    305         </Expand>
    306     </Type>
    307 
    308     <Type Name="QRegularExpression">
    309         <DisplayString>{d.pattern}</DisplayString>
    310     </Type>
    311 
    312     <Type Name="QSharedData">
    313         <Expand>
    314             <Item Name="[referenced]">ref._q_value</Item>
    315         </Expand>
    316     </Type>
    317 
    318     <Type Name="QSharedPointer&lt;*&gt;">
    319         <DisplayString>strong reference to shared pointer of type {"$T1"}</DisplayString>
    320         <Expand>
    321             <Item Name="[is null]">value == 0</Item>
    322             <Item Name="[weak referenced]">d-&gt;weakref._q_value</Item>
    323             <Item Name="[strong referenced]">d-&gt;strongref._q_value</Item>
    324         </Expand>
    325     </Type>
    326 
    327     <Type Name="QSharedDataPointer&lt;*&gt;">
    328         <DisplayString>pointer to implicit shared object of type {"$T1"}</DisplayString>
    329         <Expand>
    330             <ExpandedItem>d</ExpandedItem>
    331         </Expand>
    332     </Type>
    333 
    334     <Type Name="QExplicitlySharedDataPointer&lt;*&gt;">
    335         <DisplayString>pointer to explicit shared object of type {"$T1"}</DisplayString>
    336         <Expand>
    337             <ExpandedItem>d</ExpandedItem>
    338         </Expand>
    339     </Type>
    340 
    341     <Type Name="QPointer&lt;*&gt;">
    342         <DisplayString>guarded pointer to subclass of QObject of type {"$T1"}</DisplayString>
    343         <Expand>
    344             <Item Name="[is null]">wp.d == 0 || wp.d-&gt;strongref._q_value == 0 || wp.value == 0</Item>
    345         </Expand>
    346     </Type>
    347 
    348     <Type Name="QWeakPointer&lt;*&gt;">
    349         <DisplayString>weak reference to shared pointer of type {"$T1"}</DisplayString>
    350         <Expand>
    351             <Item Name="[is null]">d == 0 || d-&gt;strongref._q_value == 0 || value == 0</Item>
    352             <Item Name="[weak referenced]">d-&gt;weakref._q_value</Item>
    353             <Item Name="[strong referenced]">d-&gt;strongref._q_value</Item>
    354         </Expand>
    355     </Type>
    356 
    357     <Type Name="QScopedPointer&lt;*&gt;">
    358         <DisplayString>scoped pointer to a dynamically allocated object of type {"$T1"}</DisplayString>
    359         <Expand>
    360             <Item Name="[is null]">!d</Item>
    361         </Expand>
    362     </Type>
    363 
    364     <Type Name="QScopedArrayPointer&lt;*&gt;">
    365         <DisplayString>scoped pointer to dynamically allocated array of objects of type {"$T1"}</DisplayString>
    366         <Expand>
    367             <Item Name="[is null]">!d</Item>
    368         </Expand>
    369     </Type>
    370 
    371     <Type Name="QPair&lt;*,*&gt;">
    372         <DisplayString>({first}, {second})</DisplayString>
    373         <Expand>
    374             <Item Name="[first]">first</Item>
    375             <Item Name="[second]">second</Item>
    376         </Expand>
    377     </Type>
    378 
    379     <Type Name="QVector&lt;*&gt;">
    380         <AlternativeType Name="QStack&lt;*&gt;"></AlternativeType>
    381         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
    382         <Expand>
    383             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    384             <ArrayItems>
    385                 <Size>d-&gt;size</Size>
    386                 <ValuePointer>($T1*)((reinterpret_cast&lt;char*&gt;(d)) + d-&gt;offset)</ValuePointer>
    387             </ArrayItems>
    388         </Expand>
    389     </Type>
    390 
    391     <Type Name="QList&lt;*&gt;">
    392         <AlternativeType Name="QStringList"></AlternativeType>
    393         <AlternativeType Name="QQueue&lt;*&gt;"></AlternativeType>
    394         <DisplayString>{{ size = {d-&gt;end - d-&gt;begin} }}</DisplayString>
    395         <Expand>
    396             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    397             <IndexListItems>
    398                 <Size>d-&gt;end - d-&gt;begin</Size>
    399                 <ValueNode>*reinterpret_cast&lt;$T1*&gt;((sizeof($T1) &gt; sizeof(void*))
    400                     ? reinterpret_cast&lt;Node*&gt;(d->array + d->begin + $i)->v
    401                     : reinterpret_cast&lt;$T1*&gt;(d->array + d->begin + $i))
    402                 </ValueNode>
    403             </IndexListItems>
    404         </Expand>
    405     </Type>
    406 
    407     <Type Name="QLinkedList&lt;*&gt;">
    408         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
    409         <Expand>
    410             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    411             <LinkedListItems>
    412                 <Size>d-&gt;size</Size>
    413                 <HeadPointer>d-&gt;n</HeadPointer>
    414                 <NextPointer>n</NextPointer>
    415                 <ValueNode>(*(QLinkedListNode&lt;$T1&gt;*)this).t</ValueNode>
    416             </LinkedListItems>
    417         </Expand>
    418     </Type>
    419 
    420     <Type Name="QMapNode&lt;*,*&gt;">
    421         <DisplayString>({key}, {value})</DisplayString>
    422         <Expand>
    423             <Item Name="[key]">key</Item>
    424             <Item Name="[value]">value</Item>
    425         </Expand>
    426     </Type>
    427 
    428     <Type Name="QMap&lt;*,*&gt;">
    429         <AlternativeType Name="QMultiMap&lt;*,*&gt;"/>
    430         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
    431         <Expand>
    432             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    433             <TreeItems>
    434                 <Size>d-&gt;size</Size>
    435                 <HeadPointer>d-&gt;header.left</HeadPointer>
    436                 <LeftPointer>left</LeftPointer>
    437                 <RightPointer>right</RightPointer>
    438                 <ValueNode>*((QMapNode&lt;$T1,$T2&gt;*)this)</ValueNode>
    439             </TreeItems>
    440         </Expand>
    441     </Type>
    442 
    443     <Type Name="QHashNode&lt;*,*&gt;">
    444         <DisplayString Condition="next == 0">(empty)</DisplayString>
    445         <DisplayString Condition="next != 0">({key}, {value})</DisplayString>
    446         <Expand>
    447             <Item Name="[key]" Condition="next != 0">key</Item>
    448             <Item Name="[value]" Condition="next != 0">value</Item>
    449         </Expand>
    450     </Type>
    451 
    452     <Type Name="QHash&lt;*,*&gt;">
    453         <AlternativeType Name="QMultiHash&lt;*,*&gt;"/>
    454         <DisplayString>{{ size = {d-&gt;size} }}</DisplayString>
    455         <Expand>
    456             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
    457             <IndexListItems>
    458                 <Size>d-&gt;numBuckets</Size>
    459                 <ValueNode>*((QHashNode&lt;$T1,$T2&gt;*)d-&gt;buckets[$i])</ValueNode>
    460             </IndexListItems>
    461         </Expand>
    462     </Type>
    463 
    464     <Type Name="QHashNode&lt;*,QHashDummyValue&gt;">
    465         <DisplayString Condition="next == 0">(empty)</DisplayString>
    466         <DisplayString Condition="next != 0">({key})</DisplayString>
    467         <Expand>
    468             <Item Name="[key]" Condition="next != 0">key</Item>
    469         </Expand>
    470     </Type>
    471 
    472     <Type Name="QSet&lt;*&gt;">
    473         <DisplayString>{{ size = {q_hash.d-&gt;size} }}</DisplayString>
    474         <Expand>
    475             <ExpandedItem>q_hash</ExpandedItem>
    476         </Expand>
    477     </Type>
    478 
    479     <Type Name="QCache&lt;*,*&gt;::Node">
    480         <DisplayString>({*keyPtr}, {*t})</DisplayString>
    481         <Expand>
    482             <Item Name="[key]">*keyPtr</Item>
    483             <Item Name="[value]">*t</Item>
    484         </Expand>
    485     </Type>
    486 
    487     <Type Name="QCache&lt;*,*&gt;">
    488         <DisplayString>{{ size = {hash.d-&gt;size} }}</DisplayString>
    489         <Expand>
    490             <Item Name="[max coast]">mx</Item>
    491             <Item Name="[total coast]">total</Item>
    492             <Item Name="[referenced]">hash.d-&gt;ref.atomic._q_value</Item>
    493             <LinkedListItems>
    494                 <Size>hash.d-&gt;size</Size>
    495                 <HeadPointer>f</HeadPointer>
    496                 <NextPointer>n</NextPointer>
    497                 <ValueNode>*((Node*)this)</ValueNode>
    498             </LinkedListItems>
    499         </Expand>
    500     </Type>
    501 
    502     <Type Name="QVariant">
    503         <!--Region DisplayString QVariant-->
    504 
    505         <DisplayString Condition="d.type == QMetaType::UnknownType">Invalid</DisplayString>
    506         <DisplayString Condition="d.type == QMetaType::Bool">{d.data.b}</DisplayString>
    507         <DisplayString Condition="d.type == QMetaType::Int">{d.data.i}</DisplayString>
    508         <DisplayString Condition="d.type == QMetaType::UInt">{d.data.u}</DisplayString>
    509         <DisplayString Condition="d.type == QMetaType::LongLong">{d.data.ll}</DisplayString>
    510         <DisplayString Condition="d.type == QMetaType::ULongLong">{d.data.ull}</DisplayString>
    511         <DisplayString Condition="d.type == QMetaType::Double">{d.data.d}</DisplayString>
    512         <DisplayString Condition="d.type == QMetaType::QChar">{d.data.c}</DisplayString>
    513         <DisplayString Condition="d.type == QMetaType::QVariantMap">
    514             {*((QMap&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    515                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    516         </DisplayString>
    517         <DisplayString Condition="d.type == QMetaType::QVariantList">
    518             {*((QList&lt;QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    519                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    520         </DisplayString>
    521         <DisplayString Condition="d.type == QMetaType::QString">
    522             {*((QString*)(d.is_shared ? d.data.shared-&gt;ptr
    523                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    524         </DisplayString>
    525         <DisplayString Condition="d.type == QMetaType::QStringList">
    526             {*((QStringList*)(d.is_shared ? d.data.shared-&gt;ptr
    527                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    528         </DisplayString>
    529         <DisplayString Condition="d.type == QMetaType::QByteArray">
    530             {*((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr
    531                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    532         </DisplayString>
    533         <DisplayString Condition="d.type == QMetaType::QBitArray">
    534             {*((QBitArray*)(d.is_shared ? d.data.shared-&gt;ptr
    535                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    536         </DisplayString>
    537         <DisplayString Condition="d.type == QMetaType::QDate">
    538             {*((QDate*)(d.is_shared ? d.data.shared-&gt;ptr
    539                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    540         </DisplayString>
    541         <DisplayString Condition="d.type == QMetaType::QTime">
    542             {*((QTime*)(d.is_shared ? d.data.shared-&gt;ptr
    543                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    544         </DisplayString>
    545         <DisplayString Condition="d.type == QMetaType::QDateTime">DateTime</DisplayString>
    546         <DisplayString Condition="d.type == QMetaType::QUrl">Url</DisplayString>
    547         <DisplayString Condition="d.type == QMetaType::QLocale">Locale</DisplayString>
    548         <DisplayString Condition="d.type == QMetaType::QRect">
    549             {*((QRect*)(d.is_shared ? d.data.shared-&gt;ptr
    550                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    551         </DisplayString>
    552         <DisplayString Condition="d.type == QMetaType::QRectF">
    553             {*((QRectF*)(d.is_shared ? d.data.shared-&gt;ptr
    554                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    555         </DisplayString>
    556         <DisplayString Condition="d.type == QMetaType::QSize">
    557             {*((QSize*)(d.is_shared ? d.data.shared-&gt;ptr
    558                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    559         </DisplayString>
    560         <DisplayString Condition="d.type == QMetaType::QSizeF">
    561             {*((QSizeF*)(d.is_shared ? d.data.shared-&gt;ptr
    562                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    563         </DisplayString>
    564         <DisplayString Condition="d.type == QMetaType::QLine">
    565             {*((QLine*)(d.is_shared ? d.data.shared-&gt;ptr
    566                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    567         </DisplayString>
    568         <DisplayString Condition="d.type == QMetaType::QLineF">
    569             {*((QLineF*)(d.is_shared ? d.data.shared-&gt;ptr
    570                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    571         </DisplayString>
    572         <DisplayString Condition="d.type == QMetaType::QPoint">
    573             {*((QPoint*)(d.is_shared ? d.data.shared-&gt;ptr
    574                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    575         </DisplayString>
    576         <DisplayString Condition="d.type == QMetaType::QPointF">
    577             {*((QPointF*)(d.is_shared ? d.data.shared-&gt;ptr
    578                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    579         </DisplayString>
    580         <DisplayString Condition="d.type == QMetaType::QRegExp">RegExp</DisplayString>
    581         <DisplayString Condition="d.type == QMetaType::QRegularExpression">RegularExpression</DisplayString>
    582         <DisplayString Condition="d.type == QMetaType::QVariantHash">
    583             {*((QHash&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    584                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))}
    585         </DisplayString>
    586         <DisplayString Condition="d.type == QMetaType::QEasingCurve">EasingCurve</DisplayString>
    587         <DisplayString Condition="d.type == QMetaType::QUuid">Uuid</DisplayString>
    588         <DisplayString Condition="d.type == QMetaType::QModelIndex">ModelIndex</DisplayString>
    589         <DisplayString Condition="d.type == QMetaType::LastCoreType">LastCoreType</DisplayString>
    590         <DisplayString Condition="d.type == QMetaType::QFont">Font</DisplayString>
    591         <DisplayString Condition="d.type == QMetaType::QPixmap">Pixmap</DisplayString>
    592         <DisplayString Condition="d.type == QMetaType::QBrush">Brush</DisplayString>
    593         <DisplayString Condition="d.type == QMetaType::QColor">Color</DisplayString>
    594         <DisplayString Condition="d.type == QMetaType::QPalette">Palette</DisplayString>
    595         <DisplayString Condition="d.type == QMetaType::QImage">Image</DisplayString>
    596         <DisplayString Condition="d.type == QMetaType::QPolygon">Polygon</DisplayString>
    597         <DisplayString Condition="d.type == QMetaType::QRegion">Region</DisplayString>
    598         <DisplayString Condition="d.type == QMetaType::QBitmap">Bitmap</DisplayString>
    599         <DisplayString Condition="d.type == QMetaType::QCursor">Cursor</DisplayString>
    600         <DisplayString Condition="d.type == QMetaType::QKeySequence">KeySequence</DisplayString>
    601         <DisplayString Condition="d.type == QMetaType::QPen">Pen</DisplayString>
    602         <DisplayString Condition="d.type == QMetaType::QTextLength">TextLength</DisplayString>
    603         <DisplayString Condition="d.type == QMetaType::QTextFormat">TextFormat</DisplayString>
    604         <DisplayString Condition="d.type == QMetaType::QMatrix">Matrix</DisplayString>
    605         <DisplayString Condition="d.type == QMetaType::QTransform">Transform</DisplayString>
    606         <DisplayString Condition="d.type == QMetaType::QMatrix4x4">Matrix4x4</DisplayString>
    607         <DisplayString Condition="d.type == QMetaType::QVector2D">Vector2D</DisplayString>
    608         <DisplayString Condition="d.type == QMetaType::QVector3D">Vector3D</DisplayString>
    609         <DisplayString Condition="d.type == QMetaType::QVector4D">Vector4D</DisplayString>
    610         <DisplayString Condition="d.type == QMetaType::QQuaternion">Quaternion</DisplayString>
    611         <DisplayString Condition="d.type == QMetaType::QPolygonF">PolygonF</DisplayString>
    612         <DisplayString Condition="d.type == QMetaType::QIcon">Icon</DisplayString>
    613         <DisplayString Condition="d.type == QMetaType::LastGuiType">LastGuiType</DisplayString>
    614         <DisplayString Condition="d.type == QMetaType::QSizePolicy">SizePolicy</DisplayString>
    615         <DisplayString Condition="d.type == QMetaType::User">UserType</DisplayString>
    616         <DisplayString Condition="d.type == 0xffffffff">LastType</DisplayString>
    617 
    618         <!--End region DisplayString QVariant-->
    619 
    620         <!--Region DisplayView QVariant-->
    621 
    622         <StringView Condition="d.type == QMetaType::QChar">d.data.c</StringView>
    623 
    624         <StringView Condition="d.type == QMetaType::QString">
    625             *((QString*)(d.is_shared ? d.data.shared-&gt;ptr
    626                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    627         </StringView>
    628 
    629         <StringView Condition="d.type == QMetaType::QByteArray">
    630             *((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr
    631                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    632         </StringView>
    633 
    634         <!--End region DisplayView QVariant-->
    635 
    636         <!--Region Expand QVariant-->
    637 
    638         <Expand>
    639             <ExpandedItem Condition="d.type == QMetaType::QVariantMap">
    640                 *((QMap&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    641                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    642             </ExpandedItem>
    643             <ExpandedItem Condition="d.type == QMetaType::QVariantList">
    644                 *((QList&lt;QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    645                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    646             </ExpandedItem>
    647             <ExpandedItem Condition="d.type == QMetaType::QString">
    648                 *((QString*)(d.is_shared ? d.data.shared-&gt;ptr
    649                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    650             </ExpandedItem>
    651             <ExpandedItem Condition="d.type == QMetaType::QStringList">
    652                 *((QStringList*)(d.is_shared ? d.data.shared-&gt;ptr
    653                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    654             </ExpandedItem>
    655             <ExpandedItem Condition="d.type == QMetaType::QByteArray">
    656                 *((QByteArray*)(d.is_shared ? d.data.shared-&gt;ptr
    657                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    658             </ExpandedItem>
    659             <ExpandedItem Condition="d.type == QMetaType::QBitArray">
    660                 *((QBitArray*)(d.is_shared ? d.data.shared-&gt;ptr
    661                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    662             </ExpandedItem>
    663             <ExpandedItem Condition="d.type == QMetaType::QDate">
    664                 *((QDate*)(d.is_shared ? d.data.shared-&gt;ptr
    665                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    666             </ExpandedItem>
    667             <ExpandedItem Condition="d.type == QMetaType::QTime">
    668                 *((QTime*)(d.is_shared ? d.data.shared-&gt;ptr
    669                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    670             </ExpandedItem>
    671             <ExpandedItem Condition="d.type == QMetaType::QRect">
    672                 *((QRect*)(d.is_shared ? d.data.shared-&gt;ptr
    673                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    674             </ExpandedItem>
    675             <ExpandedItem Condition="d.type == QMetaType::QRectF">
    676                 *((QRectF*)(d.is_shared ? d.data.shared-&gt;ptr
    677                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    678             </ExpandedItem>
    679             <ExpandedItem Condition="d.type == QMetaType::QSize">
    680                 *((QSize*)(d.is_shared ? d.data.shared-&gt;ptr
    681                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    682             </ExpandedItem>
    683             <ExpandedItem Condition="d.type == QMetaType::QSizeF">
    684                 *((QSizeF*)(d.is_shared ? d.data.shared-&gt;ptr
    685                 : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    686             </ExpandedItem>
    687             <ExpandedItem Condition="d.type == QMetaType::QLine">
    688                 *((QLine*)(d.is_shared ? d.data.shared-&gt;ptr
    689                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    690             </ExpandedItem>
    691             <ExpandedItem Condition="d.type == QMetaType::QLineF">
    692                 *((QLineF*)(d.is_shared ? d.data.shared-&gt;ptr
    693                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    694             </ExpandedItem>
    695             <ExpandedItem Condition="d.type == QMetaType::QPoint">
    696                 *((QPoint*)(d.is_shared ? d.data.shared-&gt;ptr
    697                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    698             </ExpandedItem>
    699             <ExpandedItem Condition="d.type == QMetaType::QPointF">
    700                 *((QPointF*)(d.is_shared ? d.data.shared-&gt;ptr
    701                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    702             </ExpandedItem>
    703             <ExpandedItem Condition="d.type == QMetaType::QVariantHash">
    704                 *((QHash&lt;QString,QVariant&gt;*)(d.is_shared ? d.data.shared-&gt;ptr
    705                     : reinterpret_cast&lt;const void *&gt;(&amp;d.data.ptr)))
    706             </ExpandedItem>
    707         </Expand>
    708 
    709         <!--End region Expand QVariant-->
    710     </Type>
    711 
    712 </AutoVisualizer>