1 ; AutoExp.Dat
- templates for automatically expanding
data
2 ; Copyright
(c
) Microsoft Corporation. All Rights Reserved.
3 ;---------------------------------------------------------------
5 ; Location
: C
:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
7 ; While debugging
, Data Tips
and items
in the Watch
and Variable
8 ; windows are automatically expanded
to show their most important
9 ; elements. The expansion follows the format given
by the rules
10 ; in this file. You can add rules for your types
or change the
13 ; For good examples
, read the rules
in this file.
15 ; To find what the debugger considers the type of a variable
to
16 ; be
, add it
to the Watch window
and look at the Type column.
18 ; An AutoExpand rule is a line with the name of a type
, an equals
19 ; sign
, and text with replaceable parts
in angle brackets. The
20 ; part
in angle brackets names a
member of the type
and an
21 ; optional Watch format specifier.
23 ; AutoExpand rules use the following syntax. The equals sign
(=),
24 ; angle brackets
(<>), and comma are taken literally. Square
25 ; brackets
([]) indicate optional items.
27 ; type
=[text
]<member[,format
]>...
29 ; type Name of the type
(may be followed
by <*> for template
30 ; types such as the ATL types listed below
).
32 ; text Any text.Usually the name of the
member to display,
33 ; or a shorthand name for the
member.
35 ; member Name of a
member to display.
37 ; format Watch format specifier. One of the following
:
39 ; Letter Description Sample Display
40 ; ------ -------------------------- ------------ -------------
41 ; d
,i Signed decimal
integer 0xF000F065,d
-268373915
42 ; u Unsigned decimal
integer 0x0065,u
101
43 ; o Unsigned octal
integer 0xF065,o
0170145
44 ; x
,X Hexadecimal
integer 61541,X
0X0000F065
45 ; l
,h long
or short prefix for
00406042,hx
0x0c22
47 ; f Signed floating
-point
3.
/2.
,f
1.500000
48 ; e Signed scientific
-notation
3.
/2.
,e
1.500000e+000
49 ; g Shorter of e
and f
3.
/2.
,g
1.5
50 ; c Single character
0x0065,c
'e'
51 ; s Zero
-terminated string pVar
,s
"Hello world"
52 ; su Unicode string pVar
,su
"Hello world"
54 ; For details of other format specifiers see Help under
:
55 ; "format specifiers/watch variable"
57 ; The special format
<,t
> specifies the name of the most
-derived
58 ; type of the object. This is especially useful with pointers
or
59 ; references
to a base class.
61 ; If there is no rule for a class
, the base classes are checked for
64 ; There are some special entries allowed
in the AutoExpand section
:
65 ; $BUILTIN is used
to display more complex types that need
to do more
66 ; than just show a
member variable
or two.
67 ; $ADDIN allows external DLLs
to be added
to display even more complex
68 ; types via the EE Add
-in API. The
first argument is the DLL name
, the
69 ; second argument is the name of the export
from the DLL
to use. For
70 ; further information on this API see the sample called EEAddIn.
72 ; WARNING
: if hexadecimal mode is on
in the watch window
, all numbers here are
73 ; evaluated
in hex
, e.g.
42 becomes
0x42
80 QByteArray
=<d
->data,s
> size
=<d
->size
,u
>
82 QPointF
=x
=<xp
> y
=<yp
>
83 QRect
=x1
=<x1
> y1
=<y1
> x2
=<x2
> y2
=<y2
>
84 QRectF
=x
=<xp
> y
=<yp
> w
=<w
> h
=<h
>
85 QSize
=width
=<wd
> height
=<ht
>
86 QSizeF
=width
=<wd
> height
=<ht
>
87 QHash
<*> =size
=<d
->size
>
88 QVarLengthArray
<*> =size
=<s
> data=<ptr
>
90 ;QObject
=classname
=<staticMetaObject.d.stringdata
,s
> superclassname
=<staticMetaObject.d.superdata
->d.stringdata
,s
>
91 ;QList
<*>=size
=<d
->end,i
>
92 ;QLinkedList
<*>=size
=<d
->end,i
>
93 ;QString
=<d
->data,su
> size
=<d
->size
,u
>
94 ;QUrl
=<d
->encodedOriginal.d
->data,s
>
95 ;QUrlInfo
=<d
->name.d
->data,su
>
96 ;QMap
<*> =size
=<d
->size
>
97 ;QVector
<*> =size
=<d
->size
>
98 ;QFont
=family
=<d
->request.family.d
->data,su
> size
=<d
->request.pointSize
, f
>
99 ;QDomNode
=name
=<impl
->name.d
->data,su
> value
=<impl
->value.d
->data,su
>
102 tagPOINT
=x
=<x
> y
=<y
>
103 tagRECT
=top
=<top
> bottom
=<bottom
> left
=<left
> right
=<right
>
106 tagMSG
=msg
=<message
,x
> wp
=<wParam
,x
> lp
=<lParam
,x
>
110 __m128
=$BUILTIN
(M128
)
111 __m128i
=$BUILTIN
(M128I
)
112 __m128d
=$BUILTIN
(M128D
)
115 CDC
=hDC
=<m_hDC
> attrib
=<m_hAttribDC
>
116 CPaintDC
=<,t
> hWnd
=<m_hWnd
>
118 CRect
=top
=<top
> bottom
=<bottom
> left
=<left
> right
=<right
>
119 CSize
=cx
=<cx
> cy
=<cy
>
120 CWnd
=<,t
> hWnd
=<m_hWnd
>
121 CWinApp
=<,t
> <m_pszAppName
,s
>
122 CWinThread
=<,t
> h
=<m_hThread
> proc
=<m_pfnThreadProc
>
125 CPtrList
=cnt
=<m_nCount
>
128 CProcessLocalObject
=<,t
>
129 CThreadLocalObject
=<,t
>
132 CArchiveException
=cause
=<m_cause
>
133 CFile
=hFile
=<m_hFile
> name
=<m_strFileName.m_pchData
,s
>
134 CFileException
=cause
=<m_cause
> OS Error
=m_lOsError
135 CMemFile
=pos
=<m_nPosition
> size
=<m_nFileSize
>
137 CRuntimeClass
=<m_lpszClassName
,s
>
138 CStdioFile
=FILE
*=<m_pStream
> name
=<m_strFilename.m_pchData
,s
>
139 CTimeSpan
=time
=<m_time
>
143 CByteArray
=count
=<m_nCount
>
144 CStringList
=count
=<m_nCount
>
145 ; same for all CXXXArray classes
147 ; same for CMapXXToXX
149 ; various string classes
from MFC
& ATL
151 _com_error
=<m_hresult
,hr
>
152 _bstr_t
=<m_Data
->m_wstr
,su
> (<m_Data
->m_RefCount
,u
>)
153 _com_ptr_t
<*>=<m_pInterface
>
154 _LARGE_INTEGER
=<QuadPart
>
155 _ULARGE_INTEGER
=<QuadPart
>
158 ATL
::CComQIPtr
<*>=<p
>
160 tagVARIANT
=$BUILTIN
(VARIANT
)
161 VARIANT
=$BUILTIN
(VARIANT
)
164 ; see EEAddIn sample for how
to use these
165 ;_SYSTEMTIME
=$ADDIN
(EEAddIn.dll
,AddIn_SystemTime
)
166 ;_FILETIME
=$ADDIN
(EEAddIn.dll
,AddIn_FileTime
)
168 std
::binder1st
<*>= op
=<op
> value
=<value
>
169 std
::binder2nd
<*>= op
=<op
> value
=<value
>
170 std
::less<*>=lessthan
171 std
::greater
<*>=greaterthan
175 preview
([$e.d
->data,su
])
176 stringview
([$e.d
->data,sub
])
182 [referenced
]: $c.d
->ref._q_value
187 QByteArray|
*::QByteArray
{
188 preview
([$e.d
->data,s
])
189 stringview
([$e.d
->data,sb
])
195 [referenced
]: $c.d
->ref._q_value
200 QFileInfo|
*::QFileInfo
{
212 #if ($e.d.stateFlags == 0) (
215 #( $e.d->scheme, $e.d->host, $e.d->path )
221 scheme
: $c.d
->scheme
,
224 username
: $c.d
->userName
,
225 password
: $c.d
->password
,
226 encodedOriginal
: $c.d
->encodedOriginal
,
228 fragment
: $c.d
->fragment
237 "hour=", [$e.mds
/ 3600000, d
],
238 ", minute=", [($e.mds
% 3600000) / 60000, d
],
239 ", second=", [($e.mds
/ 1000) % 60, d
],
240 ", millisecond=", [$e.mds
% 1000, d
]
246 [hour
]: [$e.mds
/ 3600000, d
],
247 [minute
]: [($e.mds
% 3600000) / 60000, d
],
248 [second
]: [($e.mds
/ 1000) % 60, d
],
249 [millisecond
]: [$e.mds
% 1000, d
]
257 #if ($e.d.type == 1) (
258 #("bool = ", [$e.d.data.b])
259 ) #elif ($e.d.type == 2) (
260 #("int = ", [$e.d.data.i])
261 ) #elif ($e.d.type == 3) (
262 #("usigned int = ", [$e.d.data.u])
263 ) #elif ($e.d.type == 4) (
264 #("long long = ", [$e.d.data.ll])
265 ) #elif ($e.d.type == 5) (
266 #("unsigned long long = ", [$e.d.data.ull])
267 ) #elif ($e.d.type == 6) (
268 #("double = ", [$e.d.data.d])
269 ) #elif ($e.d.type == 7) (
270 #("char = ", [$e.d.data.c])
271 ) #elif ($e.d.type == 8) (
272 #("QMap = ", [(QMap) $e.d.data.ptr])
273 ) #elif ($e.d.type == 10) (
274 #("QString = ", [(QString) $e.d.data.ptr])
275 ) #elif ($e.d.type == 11) (
276 #("QStringList = ", [(QStringList) $e.d.data.ptr])
277 ) #elif ($e.d.type == 17) (
278 #("QUrl = ", [(QUrl) $e.d.data.ptr])
280 #("type = ", [$e.d.type])
285 #if ($e.d.type == 1) (
287 ) #elif ($e.d.type == 2) (
289 ) #elif ($e.d.type == 3) (
291 ) #elif ($e.d.type == 4) (
293 ) #elif ($e.d.type == 5) (
295 ) #elif ($e.d.type == 6) (
297 ) #elif ($e.d.type == 7) (
299 ) #elif ($e.d.type == 8) (
300 ) #elif ($e.d.type == 10) (
302 [size
]: ((QString
) $c.d.
data.ptr
).d
->size
304 ) #elif ($e.d.type == 11) (
305 #if ((((QStringList) $e.d.data.ptr).d->end - ((QStringList) $e.d.data.ptr).d->begin) <= 10) (
308 expr
: (QString
)((((QStringList
) $e.d.
data.ptr
).d
->array
+ ((QStringList
) $e.d.
data.ptr
).d
->begin
)[$i
]),
309 size
: ((QStringList
) $e.d.
data.ptr
).d
->end-((QStringList
) $e.d.
data.ptr
).d
->begin
314 expr
: (QString
)((((QStringList
) $e.d.
data.ptr
).d
->array
+ ((QStringList
) $e.d.
data.ptr
).d
->begin
)[$i
]),
318 ) #elif ($e.d.type == 17) (
320 scheme
: ((QUrl
) $e.d.
data.ptr
).d
->scheme
,
321 host
: ((QUrl
) $e.d.
data.ptr
).d
->host
,
322 path
: ((QUrl
) $e.d.
data.ptr
).d
->path
,
323 username
: ((QUrl
) $e.d.
data.ptr
).d
->userName
,
324 password
: ((QUrl
) $e.d.
data.ptr
).d
->password
,
325 encodedOriginal
: ((QUrl
) $e.d.
data.ptr
).d
->encodedOriginal
,
326 query
: ((QUrl
) $e.d.
data.ptr
).d
->query
,
327 fragment
: ((QUrl
) $e.d.
data.ptr
).d
->fragment
330 #("type = ", [$e.d.type])
338 #if ($e.d.type == 1) (
339 #("bool = ", [$e.d.data.b])
340 ) #elif ($e.d.type == 2) (
341 #("int = ", [$e.d.data.i])
342 ) #elif ($e.d.type == 3) (
343 #("usigned int = ", [$e.d.data.u])
344 ) #elif ($e.d.type == 4) (
345 #("long long = ", [$e.d.data.ll])
346 ) #elif ($e.d.type == 5) (
347 #("unsigned long long = ", [$e.d.data.ull])
348 ) #elif ($e.d.type == 6) (
349 #("double = ", [$e.d.data.d])
350 ) #elif ($e.d.type == 7) (
351 #("char = ", [$e.d.data.c])
352 ) #elif ($e.d.type == 8) (
353 #("QMap = ", [($T1::QMap) $e.d.data.ptr])
354 ) #elif ($e.d.type == 10) (
355 #("QString = ", [($T1::QString) $e.d.data.ptr])
356 ) #elif ($e.d.type == 11) (
357 #("QStringList = ", [($T1::QStringList) $e.d.data.ptr])
358 ) #elif ($e.d.type == 17) (
359 #("QUrl = ", [($T1::QUrl) $e.d.data.ptr])
361 #("type = ", [$e.d.type])
366 #if ($e.d.type == 1) (
368 ) #elif ($e.d.type == 2) (
370 ) #elif ($e.d.type == 3) (
372 ) #elif ($e.d.type == 4) (
374 ) #elif ($e.d.type == 5) (
376 ) #elif ($e.d.type == 6) (
378 ) #elif ($e.d.type == 7) (
380 ) #elif ($e.d.type == 8) (
381 ) #elif ($e.d.type == 10) (
383 [size
]: (($T1
::QString
) $c.d.
data.ptr
).d
->size
385 ) #elif ($e.d.type == 11) (
386 #if (((($T1::QStringList) $e.d.data.ptr).d->end - (($T1::QStringList) $e.d.data.ptr).d->begin) <= 10) (
389 expr
: ($T1
::QString
)(((($T1
::QStringList
) $e.d.
data.ptr
).d
->array
+ (($T1
::QStringList
) $e.d.
data.ptr
).d
->begin
)[$i
]),
390 size
: (($T1
::QStringList
) $e.d.
data.ptr
).d
->end-(($T1
::QStringList
) $e.d.
data.ptr
).d
->begin
395 expr
: ($T1
::QString
)(((($T1
::QStringList
) $e.d.
data.ptr
).d
->array
+ (($T1
::QStringList
) $e.d.
data.ptr
).d
->begin
)[$i
]),
399 ) #elif ($e.d.type == 17) (
401 scheme
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->scheme
,
402 host
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->host
,
403 path
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->path
,
404 username
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->userName
,
405 password
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->password
,
406 encodedOriginal
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->encodedOriginal
,
407 query
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->query
,
408 fragment
: (($T1
::QUrl
) $e.d.
data.ptr
).d
->fragment
411 #("type = ", [$e.d.type])
416 ;------------------------------------------------------------------------------
418 ;------------------------------------------------------------------------------
422 #if (($c.d->end - $c.d->begin) <= 10) (
424 "[", $c.d
->end - $c.d
->begin
, "](",
427 expr
: (QString
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
428 size
: $c.d
->end-$c.d
->begin
433 "[", $c.d
->end - $c.d
->begin
, "](",
436 expr
: (QString
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
447 #if (($c.d->end - $c.d->begin) <= 10) (
449 "[", $c.d
->end - $c.d
->begin
, "](",
452 expr
: ($T1
::QString
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
453 size
: $c.d
->end-$c.d
->begin
458 "[", $c.d
->end - $c.d
->begin
, "](",
461 expr
: ($T1
::QString
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
469 ;------------------------------------------------------------------------------
471 ;------------------------------------------------------------------------------
475 #if (int(sizeof($T1)) <= int(sizeof(void*))) (
476 #if (($c.d->end - $c.d->begin) <= 10) (
478 "[", $c.d
->end - $c.d
->begin
, "](",
481 expr
: ($T1
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
482 size
: $c.d
->end-$c.d
->begin
487 "[", $c.d
->end - $c.d
->begin
, "](",
490 expr
: ($T1
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
496 #if (($c.d->end - $c.d->begin) <= 10) (
498 "[", $c.d
->end - $c.d
->begin
, "](",
501 expr
: *($T1
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
502 size
: $c.d
->end-$c.d
->begin
507 "[", $c.d
->end - $c.d
->begin
, "](",
510 expr
: *($T1
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
519 #if (int(sizeof($T1)) <= int(sizeof(void*))) (
521 expr
: ($T1
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
522 size
: $c.d
->end - $c.d
->begin
526 expr
: *($T1
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
527 size
: $c.d
->end - $c.d
->begin
533 *::QList
<*>|
*::QQueue
<*>{
536 #if (int(sizeof($T2)) <= int(sizeof(void*))) (
537 #if (($c.d->end - $c.d->begin) <= 10) (
539 "[", $c.d
->end - $c.d
->begin
, "](",
542 expr
: ($T2
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
543 size
: $c.d
->end-$c.d
->begin
548 "[", $c.d
->end - $c.d
->begin
, "](",
551 expr
: ($T2
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
557 #if (($c.d->end - $c.d->begin) <= 10) (
559 "[", $c.d
->end - $c.d
->begin
, "](",
562 expr
: *($T2
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
563 size
: $c.d
->end-$c.d
->begin
568 "[", $c.d
->end - $c.d
->begin
, "](",
571 expr
: *($T2
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
580 #if (int(sizeof($T2)) <= int(sizeof(void*))) (
582 expr
: ($T2
)(($c.d
->array
+ $c.d
->begin
)[$i
]),
583 size
: $c.d
->end - $c.d
->begin
587 expr
: *($T2
*)(($c.d
->array
+ $c.d
->begin
)[$i
]),
588 size
: $c.d
->end - $c.d
->begin
594 ;------------------------------------------------------------------------------
595 ; QList
::iterator
, QQueue
::iterator
596 ;------------------------------------------------------------------------------
597 QList
<*>::iterator|QList
<*>::const_iterator|QQueue
<*>::iterator|QQueue
<*>::const_iterator
{
612 *::QList
<*>::iterator|
*::QList
<*>::const_iterator|
*::QQueue
<*>::iterator|
*::QQueue
<*>::const_iterator
{
627 ;------------------------------------------------------------------------------
629 ;------------------------------------------------------------------------------
630 QListIterator
<*>|QMutableListIterator
<*>{
640 Value
: *($T1
*)($c.i.i
->v
)
645 *::QListIterator
<*>|
*::QMutableListIterator
<*>{
655 Value
: *($T2
*)($c.i.i
->v
)
660 ;------------------------------------------------------------------------------
662 ;------------------------------------------------------------------------------
666 #if ($e.d->size >= 10) (
668 "[", $e.d
->size
, "](",
674 ) : ( (*(QLinkedListNode
<$T1
>*)&$e
).t
), ", ...)"
678 "[", $e.d
->size
, "](",
684 ) : ( (*(QLinkedListNode
<$T1
>*)&$e
).t
), ")"
696 ) : (*(QLinkedListNode
<$T1
>*)&$e
).t
704 #if ($e.d->size >= 10) (
706 "[", $e.d
->size
, "](",
712 ) : ( (*($T1
::QLinkedListNode
<$T2
>*)&$e
).t
), ", ...)"
716 "[", $e.d
->size
, "](",
722 ) : ( (*($T1
::QLinkedListNode
<$T2
>*)&$e
).t
), ")"
734 ) : (*($T1
::QLinkedListNode
<$T2
>*)&$e
).t
739 ;------------------------------------------------------------------------------
740 ; QLinkedList
::iterator
741 ;------------------------------------------------------------------------------
742 QLinkedList
<*>::iterator|
*::QLinkedList
<*>::iterator|QLinkedList
<*>::const_iterator|
*::QLinkedList
<*>::const_iterator
{
757 QLinkedListIterator
<*>|
*::QLinkedListIterator
<*>{
772 ;------------------------------------------------------------------------------
775 ; By
default, this visualizer supports only Qt
4.6.x. If you
're going to use
776 ; Qt 4.5.x code, then you may want to replace all expr lines with this:
777 ; expr: (((size_t)($c.d) + (size_t)(sizeof(QVectorData)) ))[$i],
779 ; This will allow this visualizer to display Qt 4.5.x and Qt 4.6.x QVector
780 ; objects. But be aware of some limitations. For example enum types can't be
781 ; displayed properly this way.
784 ; QVector
::d is QVectorTypedData
<T
>
785 ; QVector
::p is QVectorData
786 ; expr
: $c.d
->array
[$i
]
789 ; QVector
::d is QVectorData
790 ; QVector
::p is QVectorTypedData
<T
>
791 ; expr
: $c.p
->array
[$i
]
793 ;------------------------------------------------------------------------------
794 QVector
<*>|
*::QVector
<*>|QStack
<*>|
*::QStack
<*>{
797 #if ($c.d->size <= 10) (
799 "[", $c.d
->size
, "](",
802 expr
: $c.p
->array
[$i
],
808 "[", $c.d
->size
, "](",
811 expr
: $c.p
->array
[$i
],
821 expr
: $c.p
->array
[$i
],
827 ;------------------------------------------------------------------------------
829 ;------------------------------------------------------------------------------
858 head
: $c.d
->forward
[0],
863 ) : ( (QMapNode
<$T1
>*)((char
*)&$e
- (sizeof
(QMapPayloadNode
<$T1
>) - sizeof
(QMapData
::Node
*))) )
875 head
: $c.d
->forward
[0],
885 ;------------------------------------------------------------------------------
887 ;------------------------------------------------------------------------------
892 "[", $e.d
->size
, "] (...)"
897 #if ($e.d->size <= 255) (
900 expr
: (QHashNode
<$T1
>*)$c.d
->buckets
[$i
],
901 size
: $c.d
->numBuckets
905 ) : #switch ($e.next != 0) #case 1 (
912 expr
: (QHashNode
<$T1
>*)$c.d
->buckets
[$i
],
917 ) : #switch ($e.next != 0) #case 1 (
929 "[", $e.d
->size
, "] (...)"
934 #if ($e.d->size <= 255) (
937 expr
: ($T1
::QHashNode
<$T2
> *)$c.d
->buckets
[$i
],
938 size
: $c.d
->numBuckets
942 ) : #switch ($e.next != 0) #case 1 (
949 expr
: ($T1
::QHashNode
<$T2
> *)$c.d
->buckets
[$i
],
954 ) : #switch ($e.next != 0) #case 1 (
962 ;------------------------------------------------------------------------------
964 ;------------------------------------------------------------------------------
968 (*(QHash
<$T1
>*)(&$c
))
975 (*($T1
::QHash
<$T2
>*)(&$c
))
979 ;------------------------------------------------------------------------------
981 ;------------------------------------------------------------------------------
986 "(", ((QHashNode
<$T1
>*)($c.i
))->key
, ", ", ((QHashNode
<$T1
>*)($c.i
))->value
, ")"
992 key
: ((QHashNode
<$T1
>*)($c.i
))->key
,
993 value
: ((QHashNode
<$T1
>*)($c.i
))->value
998 *::QHash
<*>::iterator
{
1002 "(", (($T1
::QHashNode
<$T2
>*)($c.i
))->key
, ", ", (($T1
::QHashNode
<$T2
>*)($c.i
))->key
, ")"
1008 key
: (($T1
::QHashNode
<$T2
>*)($c.i
))->key
,
1009 value
: (($T1
::QHashNode
<$T2
>*)($c.i
))->value
1014 ;------------------------------------------------------------------------------
1016 ;------------------------------------------------------------------------------
1021 "(", ((QHashNode
<$T1
>*)((($c
).i
).i
))->key
, ", ", ((QHashNode
<$T1
>*)((($c
).i
).i
))->key
, ")"
1027 key
: ((QHashNode
<$T1
>*)((($c
).i
).i
))->key
,
1028 value
: ((QHashNode
<$T1
>*)((($c
).i
).i
))->value
1033 *::QHashIterator
<*>{
1037 "(", (($T1
::QHashNode
<$T2
>*)((($c
).i
).i
))->key
, ", ", (($T1
::QHashNode
<$T2
>*)((($c
).i
).i
))->key
, ")"
1043 key
: (($T1
::QHashNode
<$T2
>*)((($c
).i
).i
))->key
,
1044 value
: (($T1
::QHashNode
<$T2
>*)((($c
).i
).i
))->value
1049 ;------------------------------------------------------------------------------
1051 ;------------------------------------------------------------------------------
1052 QHashNode
<*>|
*::QHashNode
<*>{
1056 "(key = ", $c.key
,"; value = ", $c.value
, ")"
1068 ;------------------------------------------------------------------------------
1070 ;------------------------------------------------------------------------------
1075 "[", $e.q_hash.d
->size
, "] (...)"
1080 #if ($e.q_hash.d->size <= 255) (
1083 expr
: (QHashNode
<$T1
,QHashDummyValue
> *)$c.q_hash.d
->buckets
[$i
],
1084 size
: $c.q_hash.d
->numBuckets
1088 ) : #switch ($e.next != 0) #case 1 (
1095 expr
: (QHashNode
<$T1
,QHashDummyValue
> *)$c.q_hash.d
->buckets
[$i
],
1100 ) : #switch ($e.next != 0) #case 1 (
1112 "[", $e.q_hash.d
->size
, "] (...)"
1117 #if ($e.q_hash.d->size <= 255) (
1120 expr
: ($T1
::QHashNode
<$T2
,QHashDummyValue
> *)$c.q_hash.d
->buckets
[$i
],
1121 size
: $c.q_hash.d
->numBuckets
1125 ) : #switch ($e.next != 0) #case 1 (
1132 expr
: ($T1
::QHashNode
<$T2
,QHashDummyValue
> *)$c.q_hash.d
->buckets
[$i
],
1137 ) : #switch ($e.next != 0) #case 1 (
1145 ;------------------------------------------------------------------------------
1147 ;------------------------------------------------------------------------------
1153 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 0)->d
,
1155 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 1)->d
,
1157 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 2)->d
,
1159 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 3)->d
,
1161 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 4)->d
,
1163 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 5)->d
,
1165 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 6)->d
,
1167 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 7)->d
,
1169 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 8)->d
,
1171 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 9)->d
,
1173 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+10)->d
,
1175 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+11)->d
,
1177 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+12)->d
,
1178 HighlightedText_active
:
1179 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+13)->d
,
1181 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+14)->d
,
1183 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+15)->d
,
1184 AlternateBase_active
:
1185 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+16)->d
,
1187 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+17)->d
,
1189 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+18)->d
,
1191 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+19)->d
,
1193 WindowText_disabled
:
1194 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 0)->d
,
1196 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 1)->d
,
1198 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 2)->d
,
1200 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 3)->d
,
1202 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 4)->d
,
1204 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 5)->d
,
1206 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 6)->d
,
1207 BrightText_disabled
:
1208 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 7)->d
,
1209 ButtonText_disabled
:
1210 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 8)->d
,
1212 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 9)->d
,
1214 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+10)->d
,
1216 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+11)->d
,
1218 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+12)->d
,
1219 HighlightedText_disabled
:
1220 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+13)->d
,
1222 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+14)->d
,
1223 LinkVisited_disabled
:
1224 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+15)->d
,
1225 AlternateBase_disabled
:
1226 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+16)->d
,
1228 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+17)->d
,
1229 ToolTipBase_disabled
:
1230 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+18)->d
,
1231 ToolTipText_disabled
:
1232 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+19)->d
,
1234 WindowText_inactive
:
1235 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 0)->d
,
1237 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 1)->d
,
1239 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 2)->d
,
1241 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 3)->d
,
1243 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 4)->d
,
1245 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 5)->d
,
1247 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 6)->d
,
1248 BrightText_inactive
:
1249 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 7)->d
,
1250 ButtonText_inactive
:
1251 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 8)->d
,
1253 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 9)->d
,
1255 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+10)->d
,
1257 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+11)->d
,
1259 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+12)->d
,
1260 HighlightedText_inactive
:
1261 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+13)->d
,
1263 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+14)->d
,
1264 LinkVisited_inactive
:
1265 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+15)->d
,
1266 AlternateBase_inactive
:
1267 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+16)->d
,
1269 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+17)->d
,
1270 ToolTipBase_inactive
:
1271 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+18)->d
,
1272 ToolTipText_inactive
:
1273 ((QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+19)->d
1283 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 0)->d
,
1285 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 1)->d
,
1287 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 2)->d
,
1289 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 3)->d
,
1291 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 4)->d
,
1293 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 5)->d
,
1295 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 6)->d
,
1297 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 7)->d
,
1299 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 8)->d
,
1301 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+ 9)->d
,
1303 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+10)->d
,
1305 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+11)->d
,
1307 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+12)->d
,
1308 HighlightedText_active
:
1309 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+13)->d
,
1311 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+14)->d
,
1313 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+15)->d
,
1314 AlternateBase_active
:
1315 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+16)->d
,
1317 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+17)->d
,
1319 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+18)->d
,
1321 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+19)->d
,
1323 WindowText_disabled
:
1324 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 0)->d
,
1326 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 1)->d
,
1328 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 2)->d
,
1330 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 3)->d
,
1332 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 4)->d
,
1334 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 5)->d
,
1336 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 6)->d
,
1337 BrightText_disabled
:
1338 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 7)->d
,
1339 ButtonText_disabled
:
1340 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 8)->d
,
1342 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+ 9)->d
,
1344 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+10)->d
,
1346 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+11)->d
,
1348 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+12)->d
,
1349 HighlightedText_disabled
:
1350 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+13)->d
,
1352 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+14)->d
,
1353 LinkVisited_disabled
:
1354 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+15)->d
,
1355 AlternateBase_disabled
:
1356 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+16)->d
,
1358 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+17)->d
,
1359 ToolTipBase_disabled
:
1360 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+18)->d
,
1361 ToolTipText_disabled
:
1362 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+20+19)->d
,
1364 WindowText_inactive
:
1365 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 0)->d
,
1367 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 1)->d
,
1369 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 2)->d
,
1371 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 3)->d
,
1373 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 4)->d
,
1375 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 5)->d
,
1377 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 6)->d
,
1378 BrightText_inactive
:
1379 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 7)->d
,
1380 ButtonText_inactive
:
1381 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 8)->d
,
1383 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+ 9)->d
,
1385 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+10)->d
,
1387 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+11)->d
,
1389 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+12)->d
,
1390 HighlightedText_inactive
:
1391 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+13)->d
,
1393 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+14)->d
,
1394 LinkVisited_inactive
:
1395 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+15)->d
,
1396 AlternateBase_inactive
:
1397 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+16)->d
,
1399 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+17)->d
,
1400 ToolTipBase_inactive
:
1401 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+18)->d
,
1402 ToolTipText_inactive
:
1403 (($T1
::QBrush
*)((char
*)$c.d
+sizeof
(QAtomicInt
))+40+19)->d
1408 ;------------------------------------------------------------------------------
1410 ;------------------------------------------------------------------------------
1415 "[", $c.d
->style
, "] (...)"
1423 transform
: $c.d
->transform
1428 QBrushData|
*::QBrushData
{
1432 "[", $c.style
, "] (...)"
1440 transform
: $c.transform
1445 ;------------------------------------------------------------------------------
1447 ;------------------------------------------------------------------------------
1452 #if ($c.cspec == 1) (
1454 "[", $c.cspec
, "] [", "r = ", [$c.ct.argb.red
,x
],
1455 ", g = ", [$c.ct.argb.green
,x
],
1456 ", b = ", [$c.ct.argb.blue
,x
], "] (...)"
1458 ) #elif ($c.cspec == 2) (
1460 "[", $c.cspec
, "] [", "h = ", [$c.ct.ahsv.hue
,x
],
1461 ", s = ", [$c.ct.ahsv.saturation
,x
],
1462 ", v = ", [$c.ct.ahsv.value
,x
], "] (...)"
1464 ) #elif ($c.cspec == 3) (
1466 "[", $c.cspec
, "] [", "c = ", [$c.ct.acmyk.cyan
,x
],
1467 ", m = ", [$c.ct.acmyk.magenta
,x
],
1468 ", y = ", [$c.ct.acmyk.yellow
,x
],
1469 ", k = ", [$c.ct.acmyk.black
,x
], "] (...)"
1481 #if ($c.cspec == 1) (
1483 red
: [$c.ct.argb.red
,x
],
1484 green
: [$c.ct.argb.green
,x
],
1485 blue
: [$c.ct.argb.blue
,x
],
1486 alpha
: [$c.ct.argb.alpha
,x
],
1487 pad
: [$c.ct.argb.pad
,x
]
1489 ) #elif ($c.cspec == 2) (
1491 hue
: [$c.ct.ahsv.hue
,x
],
1492 saturation
: [$c.ct.ahsv.saturation
,x
],
1493 value
: [$c.ct.ahsv.value
,x
],
1494 alpha
: [$c.ct.ahsv.alpha
,x
],
1495 pad
: [$c.ct.ahsv.pad
,x
]
1497 ) #elif ($c.cspec == 3) (
1499 cyan
: [$c.ct.acmyk.cyan
,x
],
1500 magenta
: [$c.ct.acmyk.magenta
,x
],
1501 yellow
: [$c.ct.acmyk.yellow
,x
],
1502 black
: [$c.ct.acmyk.black
,x
],
1503 alpha
: [$c.ct.acmyk.alpha
,x
]
1510 ;------------------------------------------------------------------------------
1512 ;------------------------------------------------------------------------------
1513 QTransform|
*::QTransform
{
1517 "[",[$c.affine._m11
,g
]," ",[$c.affine._m12
,g
]," ",[$c.m_13
,g
],"]",
1518 "[",[$c.affine._m21
,g
]," ",[$c.affine._m22
,g
]," ",[$c.m_23
,g
],"]",
1519 "[",[$c.affine._dx
,g
]," ",[$c.affine._dy
,g
]," ",[$c.m_33
,g
],"]"
1525 translation_horizontal_m31_dx
: [$c.affine._dx
,g
],
1526 translation_vertical_m32_dy
: [$c.affine._dy
,g
],
1527 scaling_horizontal_m11
: [$c.affine._m11
,g
],
1528 scaling_vertical_m22
: [$c.affine._m22
,g
],
1529 projection_factor_m33
: [$c.m_33
,g
],
1530 projection_horizontal_m13
: [$c.m_13
,g
],
1531 projection_vertical_m23
: [$c.m_23
,g
],
1532 shearing_horizontal_m21
: [$c.affine._m21
,g
],
1533 shearing_vertical_m12
: [$c.affine._m12
,g
],
1535 dirty
: (bool
)$c.m_dirty
1540 ;------------------------------------------------------------------------------
1542 ;------------------------------------------------------------------------------
1547 "[",[$c._m11
,g
]," ",[$c._m12
,g
],"]",
1548 "[",[$c._m21
,g
]," ",[$c._m22
,g
],"]",
1549 "[",[$c._dx
,g
]," ",[$c._dy
,g
],"]"
1555 translation_horizontal_dx
: [$c._dx
,g
],
1556 translation_vertical_dy
: [$c._dy
,g
],
1557 scaling_horizontal_m11
: [$c._m11
,g
],
1558 scaling_vertical_m22
: [$c._m22
,g
],
1559 shearing_horizontal_m21
: [$c._m21
,g
],
1560 shearing_vertical_m12
: [$c._m12
,g
]
1565 ;------------------------------------------------------------------------------
1567 ;------------------------------------------------------------------------------
1572 "[", ((QVector
<QPoint
>*)(&$c
))->d
->size
, "] (...)"
1580 expr
: ((QPoint
*)(((void
*)$c.d
) + sizeof
(QVectorData
)))[$i
],
1581 size
: ((QVector
<QPoint
>*)(&$c
))->d
->size
1590 "[", (($T1
::QVector
<$T1
::QPoint
>*)(&$c
))->d
->size
, "] (...)"
1598 expr
: (($T1
::QPoint
*)(((void
*)$c.d
) + sizeof
(QVectorData
)))[$i
],
1599 size
: (($T1
::QVector
<$T1
::QPoint
>*)(&$c
))->d
->size
1605 ;------------------------------------------------------------------------------
1607 ;------------------------------------------------------------------------------
1612 "[", ((QVector
<QPointF
>*)(&$c
))->d
->size
, "] (...)"
1620 expr
: ((QVector
<QPointF
>*)(&$c
))->p
->array
[$i
],
1621 size
: ((QVector
<QPointF
>*)(&$c
))->d
->size
1631 "[", (($T1
::QVector
<$T1
::QPointF
>*)(&$c
))->d
->size
, "] (...)"
1639 expr
: (($T1
::QVector
<$T1
::QPointF
>*)(&$c
))->p
->array
[$i
],
1640 size
: (($T1
::QVector
<$T1
::QPointF
>*)(&$c
))->d
->size
1646 ;------------------------------------------------------------------------------
1647 ; stlport
::basic_string
1648 ;------------------------------------------------------------------------------
1649 stlp_std
::basic_string
<char
,*>|stlpx_std
::basic_string
<char
,*>|stlpmtx_std
::basic_string
<char
,*>|stlpxmtx_std
::basic_string
<char
,*>|stlpd_std
::priv
::_NonDbg_str
<char
,*>|stlpdx_std
::priv
::_NonDbg_str
<char
,*>|stlpdmtx_std
::priv
::_NonDbg_str
<char
,*>|stlpdxmtx_std
::priv
::_NonDbg_str
<char
,*>{
1652 [$c._M_start_of_storage._M_data
, s
]
1657 [$c._M_start_of_storage._M_data
, s
]
1664 buffer
: [(unsigned
int)$c._M_start_of_storage._M_data
, x
],
1665 length
: $c._M_finish
- $c._M_start_of_storage._M_data
,
1666 capacity
: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
1672 $c._M_buffers._M_end_of_storage
- $c._M_start_of_storage._M_data
1676 expr
: $c._M_start_of_storage._M_data
[$i
],
1677 size
: $c._M_finish
- $c._M_start_of_storage._M_data
1683 stlp_std
::basic_string
<unsigned short
,*>|stlp_std
::basic_string
<wchar_t
,*>|stlpx_std
::basic_string
<unsigned short
,*>|stlpx_std
::basic_string
<wchar_t
,*>|stlpmtx_std
::basic_string
<unsigned short
,*>|stlpmtx_std
::basic_string
<wchar_t
,*>|stlpxmtx_std
::basic_string
<unsigned short
,*>|stlpxmtx_std
::basic_string
<wchar_t
,*>|stlpd_std
::priv
::_NonDbg_str
<unsigned short
,*>|stlpd_std
::priv
::_NonDbg_str
<wchar_t
,*>|stlpdx_std
::priv
::_NonDbg_str
<unsigned short
,*>|stlpdx_std
::priv
::_NonDbg_str
<wchar_t
,*>|stlpdmtx_std
::priv
::_NonDbg_str
<unsigned short
,*>|stlpdmtx_std
::priv
::_NonDbg_str
<wchar_t
,*>|stlpdxmtx_std
::priv
::_NonDbg_str
<unsigned short
,*>|stlpdxmtx_std
::priv
::_NonDbg_str
<wchar_t
,*>{
1686 [$c._M_start_of_storage._M_data
, su
]
1691 [$c._M_start_of_storage._M_data
, su
]
1698 buffer
: [(unsigned
int)$c._M_start_of_storage._M_data
, x
],
1699 length
: $c._M_finish
- $c._M_start_of_storage._M_data
,
1700 capacity
: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
1706 $c._M_buffers._M_end_of_storage
- $c._M_start_of_storage._M_data
1710 expr
: $c._M_start_of_storage._M_data
[$i
],
1711 size
: $c._M_finish
- $c._M_start_of_storage._M_data
1717 stlpd_std
::basic_string
<*>|stlpdx_std
::basic_string
<*>|stlpdmtx_std
::basic_string
<*>|stlpdxmtx_std
::basic_string
<*>{
1732 string
: $c._M_non_dbg_impl
1737 ;------------------------------------------------------------------------------
1739 ;------------------------------------------------------------------------------
1740 stlp_std
::vector
<bool
,*>|stlpx_std
::vector
<bool
,*>|stlpmtx_std
::vector
<bool
,*>|stlpxmtx_std
::vector
<bool
,*>|stlpd_std
::priv
::_NonDbg_vector
<bool
,*>|stlpdx_std
::priv
::_NonDbg_vector
<bool
,*>|stlpdmtx_std
::priv
::_NonDbg_vector
<bool
,*>|stlpdxmtx_std
::priv
::_NonDbg_vector
<bool
,*>{
1745 ($c._M_finish._M_p
- $c._M_start._M_p
) * sizeof
(unsigned
int) * 8 + $c._M_finish._M_offset
,
1749 expr
: ($c._M_start._M_p
[$i
/ (sizeof
(unsigned
int) * 8)] >> ($i
% (sizeof
(unsigned
int) * 8))),
1750 size
: (($c._M_finish._M_p
- $c._M_start._M_p
) * sizeof
(unsigned
int) * 8 + $c._M_finish._M_offset
)
1759 buffer
: [(unsigned
int)$c._M_start._M_p
, x
],
1760 size
: (($c._M_finish._M_p
- $c._M_start._M_p
) * sizeof
(unsigned
int) * 8 + $c._M_finish._M_offset
),
1763 expr
: ($c._M_start._M_p
[$i
/ (sizeof
(unsigned
int) * 8)] >> ($i
% (sizeof
(unsigned
int) * 8))),
1764 size
: (($c._M_finish._M_p
- $c._M_start._M_p
) * sizeof
(unsigned
int) * 8 + $c._M_finish._M_offset
)
1770 stlp_std
::priv
::_Bit_iter
<*>|stlpx_std
::priv
::_Bit_iter
<*>|stlpmtx_std
::priv
::_Bit_iter
<*>|stlpxmtx_std
::priv
::_Bit_iter
<*>|stlpd_std
::priv
::_Bit_iter
<*>|stlpdx_std
::priv
::_Bit_iter
<*>|stlpdmtx_std
::priv
::::_Bit_iter
<*>|stlpdxmtx_std
::priv
::_Bit_iter
<*>{
1774 (bool
) (((*$c._M_p
) >> $c._M_offset
) & 1)
1781 value
: (bool
) (((*$c._M_p
) >> $c._M_offset
) & 1)
1786 stlp_std
::vector
<*>|stlpx_std
::vector
<*>|stlpmtx_std
::vector
<*>|stlpxmtx_std
::vector
<*>|stlpd_std
::priv
::_NonDbg_vector
<*>|stlpdx_std
::priv
::_NonDbg_vector
<*>|stlpdmtx_std
::priv
::_NonDbg_vector
<*>|stlpdxmtx_std
::priv
::_NonDbg_vector
<*>{
1791 $c._M_finish
- $c._M_start
,
1793 $c._M_end_of_storage._M_data
- $c._M_start
,
1797 expr
: ($c._M_start
)[$i
],
1798 size
: $c._M_finish
- $c._M_start
1807 size
: $c._M_finish
- $c._M_start
,
1808 capacity
: $c._M_end_of_storage._M_data
- $c._M_start
,
1811 expr
: ($c._M_start
)[$i
],
1812 size
: $c._M_finish
- $c._M_start
1818 stlpd_std
::vector
<*>|stlpdx_std
::vector
<*>|stlpdmtx_std
::vector
<*>|stlpdxmtx_std
::vector
<*>{
1826 [raw view
] : [$c
,!],
1827 vector
: $c._M_non_dbg_impl
1832 ;------------------------------------------------------------------------------
1834 ;------------------------------------------------------------------------------
1835 stlp_std
::deque
<*,*>|stlpx_std
::deque
<*,*>|stlpmtx_std
::deque
<*,*>|stlpxmtx_std
::deque
<*,*>|stlpd_std
::priv
::_NonDbg_deque
<*,*>|stlpdx_std
::priv
::_NonDbg_deque
<*,*>|stlpdmtx_std
::priv
::_NonDbg_deque
<*,*>|stlpdxmtx_std
::priv
::_NonDbg_deque
<*,*>{
1838 #if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
1842 (($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
))) - ($c._M_start._M_cur
- $c._M_start._M_first
) - ($c._M_finish._M_last
- $c._M_finish._M_cur
),
1844 ($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
)) - 1,
1848 expr
: *(*($c._M_start._M_node
+ (($i
+ ($c._M_start._M_cur
- $c._M_start._M_first
)) / (_MAX_BYTES
/ sizeof
($T1
)))) + (($i
+ ($c._M_start._M_cur
- $c._M_start._M_first
)) % (_MAX_BYTES
/ sizeof
($T1
)))),
1849 size
: (($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
))) - ($c._M_start._M_cur
- $c._M_start._M_first
) - ($c._M_finish._M_last
- $c._M_finish._M_cur
)
1858 $c._M_finish._M_node
- $c._M_start._M_node
,
1860 $c._M_finish._M_node
- $c._M_start._M_node
,
1864 expr
: **($c._M_start._M_node
+ $i
),
1865 size
: $c._M_finish._M_node
- $c._M_start._M_node
1873 #if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
1877 size
: (($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
))) - ($c._M_start._M_cur
- $c._M_start._M_first
) - ($c._M_finish._M_last
- $c._M_finish._M_cur
),
1878 capacity
: ($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
)) - 1,
1879 front free space
: $c._M_start._M_cur
- $c._M_start._M_first
,
1880 back free space
: $c._M_finish._M_last
- $c._M_finish._M_cur
- 1,
1883 expr
: *(*($c._M_start._M_node
+ (($i
+ ($c._M_start._M_cur
- $c._M_start._M_first
)) / (_MAX_BYTES
/ sizeof
($T1
)))) + (($i
+ ($c._M_start._M_cur
- $c._M_start._M_first
)) % (_MAX_BYTES
/ sizeof
($T1
)))),
1884 size
: (($c._M_finish._M_node
- $c._M_start._M_node
+ 1) * (_MAX_BYTES
/ sizeof
($T1
))) - ($c._M_start._M_cur
- $c._M_start._M_first
) - ($c._M_finish._M_last
- $c._M_finish._M_cur
)
1891 [raw view
] : [$c
,!],
1892 size
: $c._M_finish._M_node
- $c._M_start._M_node
,
1893 capacity
: $c._M_finish._M_node
- $c._M_start._M_node
,
1894 front free space
: $c._M_start._M_cur
- $c._M_start._M_first
,
1895 back free space
: $c._M_finish._M_last
- $c._M_finish._M_cur
- 1,
1898 expr
: **($c._M_start._M_node
+ $i
),
1899 size
: $c._M_finish._M_node
- $c._M_start._M_node
1906 stlp_std
::priv
::_Deque_iterator
<*>|stlpx_std
::priv
::_Deque_iterator
<*>|stlpmtx_std
::priv
::_Deque_iterator
<*>|stlpxmtx_std
::priv
::_Deque_iterator
<*>|stlpd_std
::priv
::_Deque_iterator
<*>|stlpdx_std
::priv
::_Deque_iterator
<*>|stlpdmtx_std
::priv
::_Deque_iterator
<*>|stlpdxmtx_std
::priv
::_Deque_iterator
<*>{
1914 [raw view
] : [$c
, !],
1915 ptr
: [(unsigned
int)($c._M_cur
), x
],
1916 value
: *($c._M_cur
)
1921 stlpd_std
::deque
<*>|stlpdx_std
::deque
<*>|stlpdmtx_std
::deque
<*>|stlpdxmtx_std
::deque
<*>{
1929 [raw view
] : [$c
,!],
1930 deque
: $c._M_non_dbg_impl
1935 ;------------------------------------------------------------------------------
1937 ;------------------------------------------------------------------------------
1938 stlp_std
::list
<*,*>|stlpx_std
::list
<*,*>|stlpmtx_std
::list
<*,*>|stlpxmtx_std
::list
<*,*>|stlpd_std
::priv
::_NonDbg_list
<*,*>|stlpdx_std
::priv
::_NonDbg_list
<*,*>|stlpdmtx_std
::priv
::_NonDbg_list
<*,*>|stlpdxmtx_std
::priv
::_NonDbg_list
<*,*>{
1945 head
: $c._M_node._M_data._M_next
,
1946 skip
: &($c._M_node._M_data
),
1948 ): #( *($T1*)(&($e) + 1)),
1958 head
: $c._M_node._M_data._M_next
,
1959 skip
: &($c._M_node._M_data
),
1961 ): #( *($T1*)(&($e) + 1))
1966 stlp_std
::priv
::_List_iterator
<*,*>|stlpx_std
::priv
::_List_iterator
<*,*>|stlpmtx_std
::priv
::_List_iterator
<*,*>|stlpxmtx_std
::priv
::_List_iterator
<*,*>|stlpd_std
::priv
::_List_iterator
<*,*>|stlpdx_std
::priv
::_List_iterator
<*,*>|stlpdmtx_std
::priv
::_List_iterator
<*,*>|stlpdxmtx_std
::priv
::_List_iterator
<*,*>{
1969 #(*($T1 *)($c._M_node + 1))
1974 [raw view
] : [$c
, !],
1975 ptr
: [(unsigned
int)($c._M_node
+ 1), x
],
1976 value
: *($T1
*)($c._M_node
+ 1)
1981 stlpd_std
::list
<*,*>|stlpdx_std
::list
<*,*>|stlpdmtx_std
::list
<*,*>|stlpdxmtx_std
::list
<*,*>{
1989 [raw view
] : [$c
,!],
1990 list
: $c._M_non_dbg_impl
1995 ;------------------------------------------------------------------------------
1997 ;------------------------------------------------------------------------------
1998 stlp_std
::slist
<*,*>|stlpx_std
::slist
<*,*>|stlpmtx_std
::slist
<*,*>|stlpxmtx_std
::slist
<*,*>|stlpd_std
::priv
::_NonDbg_slist
<*,*>|stlpdx_std
::priv
::_NonDbg_slist
<*,*>|stlpdmtx_std
::priv
::_NonDbg_slist
<*,*>|stlpdxmtx_std
::priv
::_NonDbg_slist
<*,*>{
2005 head
: $c._M_head._M_data._M_next
,
2006 skip
: &($c._M_head._M_data
),
2008 ): #( *($T1*)(&($e) + 1)),
2018 head
: $c._M_head._M_data._M_next
,
2019 skip
: &($c._M_head._M_data
),
2021 ): #( *($T1*)(&($e) + 1))
2026 stlp_std
::priv
::_Slist_iterator
<*,*>|stlpx_std
::priv
::_Slist_iterator
<*,*>|stlpmtx_std
::priv
::_Slist_iterator
<*,*>|stlpxmtx_std
::priv
::_Slist_iterator
<*,*>|stlpd_std
::priv
::_Slist_iterator
<*,*>|stlpdx_std
::priv
::_Slist_iterator
<*,*>|stlpdmtx_std
::priv
::_Slist_iterator
<*,*>|stlpdxmtx_std
::priv
::_Slist_iterator
<*,*>{
2029 #(*($T1 *)($c._M_node + 1))
2034 [raw view
] : [$c
,!],
2035 ptr
: [(unsigned
int)($c._M_node
+ 1), x
],
2036 value
: *($T1
*)($c._M_node
+ 1)
2041 stlpd_std
::slist
<*,*>|stlpdx_std
::slist
<*,*>|stlpdmtx_std
::slist
<*,*>|stlpdxmtx_std
::slist
<*,*>{
2049 [raw view
] : [$c
,!],
2050 [slist
] : $c._M_non_dbg_impl
2055 ;------------------------------------------------------------------------------
2057 ;------------------------------------------------------------------------------
2058 stlp_std
::pair
<*,*>|stlpx_std
::pair
<*,*>|stlpmtx_std
::pair
<*,*>|stlpxmtx_std
::pair
<*,*>|stlpd_std
::pair
<*,*>|stlpdx_std
::pair
<*,*>|stlpdmtx_std
::pair
<*,*>|stlpdxmtx_std
::pair
<*,*>{
2071 ;------------------------------------------------------------------------------
2072 ; stlport
::map
, stlport
::multimap
, stlport
::set, stlport
::multiset
2073 ;------------------------------------------------------------------------------
2074 stlp_std
::map
<*>|stlpx_std
::map
<*>|stlpmtx_std
::map
<*>|stlpxmtx_std
::map
<*>|stlp_std
::multimap
<*>|stlpx_std
::multimap
<*>|stlpmtx_std
::multimap
<*>|stlpxmtx_std
::multimap
<*>|stlp_std
::set<*>|stlpx_std
::set<*>|stlpmtx_std
::set<*>|stlpxmtx_std
::set<*>|stlp_std
::multiset
<*>|stlpx_std
::multiset
<*>|stlpmtx_std
::multiset
<*>|stlpxmtx_std
::multiset
<*>{
2079 $c._M_t._M_node_count
,
2089 size
: [$c._M_t._M_node_count
],
2095 stlpd_std
::map
<*>|stlpdx_std
::map
<*>|stlpdmtx_std
::map
<*>|stlpdxmtx_std
::map
<*>|stlpd_std
::multimap
<*>|stlpdx_std
::multimap
<*>|stlpdmtx_std
::multimap
<*>|stlpdxmtx_std
::multimap
<*>|stlpd_std
::set<*>|stlpdx_std
::set<*>|stlpdmtx_std
::set<*>|stlpdxmtx_std
::set<*>|stlpd_std
::multiset
<*>|stlpdx_std
::multiset
<*>|stlpdmtx_std
::multiset
<*>|stlpdxmtx_std
::multiset
<*>{
2100 $c._M_t._M_non_dbg_impl._M_node_count
,
2102 $c._M_t._M_non_dbg_impl
,
2110 size
: $c._M_t._M_non_dbg_impl._M_node_count
,
2111 tree
: $c._M_t._M_non_dbg_impl
2116 stlp_std
::priv
::_Rb_tree
<*,*,*,*,*>|stlpx_std
::priv
::_Rb_tree
<*,*,*,*,*>|stlpmtx_std
::priv
::_Rb_tree
<*,*,*,*,*>|stlpxmtx_std
::priv
::_Rb_tree
<*,*,*,*,*>|stlpd_std
::priv
::_NonDbg_Rb_tree
<*,*,*,*,*>|stlpdx_std
::priv
::_NonDbg_Rb_tree
<*,*,*,*,*>|stlpdmtx_std
::priv
::_NonDbg_Rb_tree
<*,*,*,*,*>|stlpdxmtx_std
::priv
::_NonDbg_Rb_tree
<*,*,*,*,*>{
2121 head
: $c._M_header._M_data._M_parent
,
2122 skip
: &($c._M_header._M_data
),
2123 size
: $c._M_node_count
,
2126 ): #(*($T3 *)(&($e) + 1))
2134 head
: $c._M_header._M_data._M_parent
,
2135 skip
: &($c._M_header._M_data
),
2136 size
: $c._M_node_count
,
2139 ) : #(*($T3 *)(&($e) + 1))
2144 stlp_std
::priv
::_Rb_tree_iterator
<*,*>|stlpx_std
::priv
::_Rb_tree_iterator
<*,*>|stlpmtx_std
::priv
::_Rb_tree_iterator
<*,*>|stlpxmtx_std
::priv
::_Rb_tree_iterator
<*,*>|stlpd_std
::priv
::_Rb_tree_iterator
<*,*>|stlpdx_std
::priv
::_Rb_tree_iterator
<*,*>|stlpdmtx_std
::priv
::_Rb_tree_iterator
<*,*>|stlpdxmtx_std
::priv
::_Rb_tree_iterator
<*,*>{
2147 [*($T1
*)($c._M_node
+ 1)]
2153 value
: [*($T1
*)($c._M_node
+ 1)],
2154 ptr
: [(unsigned
int)($c._M_node
+ 1), x
]
2159 ;------------------------------------------------------------------------------
2160 ; stlport
::hash_map
, stlport
::hash_multimap
, stlport
::hash_set
, stlport
::hash_multiset
2161 ; stlport
::unordered_map
, stlport
::unordered_multimap
, stlport
::unordered_set
, stlport
::unordered_multiset
2162 ;------------------------------------------------------------------------------
2163 stlp_std
::hash_map
<*>|stlpx_std
::hash_map
<*>|stlpmtx_std
::hash_map
<*>|stlpxmtx_std
::hash_map
<*>|stlp_std
::hash_multimap
<*>|stlpx_std
::hash_multimap
<*>|stlpmtx_std
::hash_multimap
<*>|stlpxmtx_std
::hash_multimap
<*>|stlp_std
::hash_set
<*>|stlpx_std
::hash_set
<*>|stlpmtx_std
::hash_set
<*>|stlpxmtx_std
::hash_set
<*>|stlp_std
::hash_multiset
<*>|stlpx_std
::hash_multiset
<*>|stlpmtx_std
::hash_multiset
<*>|stlpxmtx_std
::hash_multiset
<*>|stlp_std
::tr1
::unordered_map
<*>|stlpx_std
::tr1
::unordered_map
<*>|stlpmtx_std
::tr1
::unordered_map
<*>|stlpxmtx_std
::tr1
::unordered_map
<*>|stlp_std
::tr1
::unordered_multimap
<*>|stlpx_std
::tr1
::unordered_multimap
<*>|stlpmtx_std
::tr1
::unordered_multimap
<*>|stlpxmtx_std
::tr1
::unordered_multimap
<*>|stlp_std
::tr1
::unordered_set
<*>|stlpx_std
::tr1
::unordered_set
<*>|stlpmtx_std
::tr1
::unordered_set
<*>|stlpxmtx_std
::tr1
::unordered_set
<*>|stlp_std
::tr1
::unordered_multiset
<*>|stlpx_std
::tr1
::unordered_multiset
<*>|stlpmtx_std
::tr1
::unordered_multiset
<*>|stlpxmtx_std
::tr1
::unordered_multiset
<*>{
2168 $c._M_ht._M_num_elements
,
2182 stlpd_std
::hash_map
<*>|stlpdx_std
::hash_map
<*>|stlpdmtx_std
::hash_map
<*>|stlpdxmtx_std
::hash_map
<*>|stlpd_std
::hash_multimap
<*>|stlpdx_std
::hash_multimap
<*>|stlpdmtx_std
::hash_multimap
<*>|stlpdxmtx_std
::hash_multimap
<*>|stlpd_std
::hash_set
<*>|stlpdx_std
::hash_set
<*>|stlpdmtx_std
::hash_set
<*>|stlpdxmtx_std
::hash_set
<*>|stlpd_std
::hash_multiset
<*>|stlpdx_std
::hash_multiset
<*>|stlpdmtx_std
::hash_multiset
<*>|stlpdxmtx_std
::hash_multiset
<*>|stlpd_std
::tr1
::unordered_map
<*>|stlpdx_std
::tr1
::unordered_map
<*>|stlpdmtx_std
::tr1
::unordered_map
<*>|stlpdxmtx_std
::tr1
::unordered_map
<*>|stlpd_std
::tr1
::unordered_multimap
<*>|stlpdx_std
::tr1
::unordered_multimap
<*>|stlpdmtx_std
::tr1
::unordered_multimap
<*>|stlpdxmtx_std
::tr1
::unordered_multimap
<*>|stlpd_std
::tr1
::unordered_set
<*>|stlpdx_std
::tr1
::unordered_set
<*>|stlpdmtx_std
::tr1
::unordered_set
<*>|stlpdxmtx_std
::tr1
::unordered_set
<*>|stlpd_std
::tr1
::unordered_multiset
<*>|stlpdx_std
::tr1
::unordered_multiset
<*>|stlpdmtx_std
::tr1
::unordered_multiset
<*>|stlpdxmtx_std
::tr1
::unordered_multiset
<*>{
2187 $c._M_ht._M_non_dbg_impl._M_num_elements
,
2189 $c._M_ht._M_non_dbg_impl
2196 hashtable
: $c._M_ht._M_non_dbg_impl
2201 stlp_std
::hashtable
<*,*>|stlpx_std
::hashtable
<*,*>|stlpmtx_std
::hashtable
<*,*>|stlpxmtx_std
::hashtable
<*,*>|stlpd_std
::priv
::_NonDbg_hashtable
<*,*>|stlpdx_std
::priv
::_NonDbg_hashtable
<*,*>|stlpdmtx_std
::priv
::_NonDbg_hashtable
<*,*>|stlpdxmtx_std
::priv
::_NonDbg_hashtable
<*,*>{
2210 size
: $c._M_num_elements
,
2211 load factor
: (float
)$c._M_num_elements
/ ($c._M_buckets._M_finish
- $c._M_buckets._M_start
),
2212 max load factor
: $c._M_max_load_factor
,
2213 buckets
: $c._M_buckets
,
2214 elements
: $c._M_elems
2219 ;------------------------------------------------------------------------------
2220 ; stlport
::queue
, stlport
::priority_queue
, stlport
::stack
2221 ;------------------------------------------------------------------------------
2222 stlp_std
::queue
<*>|stlpx_std
::queue
<*>|stlpmtx_std
::queue
<*>|stlpxmtx_std
::queue
<*>|stlpd_std
::queue
<*>|stlpdx_std
::queue
<*>|stlpdmtx_std
::queue
<*>|stlpdxmtx_std
::queue
<*>|stlp_std
::priority_queue
<*>|stlpx_std
::priority_queue
<*>|stlpmtx_std
::priority_queue
<*>|stlpxmtx_std
::priority_queue
<*>|stlpd_std
::priority_queue
<*>|stlpdx_std
::priority_queue
<*>|stlpdmtx_std
::priority_queue
<*>|stlpdxmtx_std
::priority_queue
<*>|stlp_std
::stack
<*>|stlpx_std
::stack
<*>|stlpmtx_std
::stack
<*>|stlpxmtx_std
::stack
<*>|stlpd_std
::stack
<*>|stlpdx_std
::stack
<*>|stlpdmtx_std
::stack
<*>|stlpdxmtx_std
::stack
<*>{
2230 [raw view
] : [$c
,!],
2236 ;------------------------------------------------------------------------------
2237 ; stlport debug iterator
2238 ;------------------------------------------------------------------------------
2239 stlp_std
::priv
::_DBG_iter
<*>|stlpx_std
::priv
::_DBG_iter
<*>|stlpmtx_std
::priv
::_DBG_iter
<*>|stlpxmtx_std
::priv
::_DBG_iter
<*>|stlpd_std
::priv
::_DBG_iter
<*>|stlpdx_std
::priv
::_DBG_iter
<*>|stlpdmtx_std
::priv
::_DBG_iter
<*>|stlpdxmtx_std
::priv
::_DBG_iter
<*>{
2242 #if($c._M_owner != 0)
2254 #if($c._M_owner != 0)
2257 [raw view
] : [$c
,!],
2258 [iterator
] : $c._M_iterator
,
2265 [raw view
] : [$c
,!],
2273 ;------------------------------------------------------------------------------
2275 ; TODO
: Fix it
, it doesn
't work as expected even when adding an enum to the bitset
2276 ; class to get access to the bitset static size rather than using $T1.
2277 ;------------------------------------------------------------------------------
2278 stdp_std::bitset<*,*>|stdpx_std::bitset<*,*>|stdpmtx_std::bitset<*,*>|stdpxmtx_std::bitset<*,*>|stdpd_std::bitset<*>|stdpdx_std::bitset<*>|stdpdmtx_std::bitset<*>|stdpdxmtx_std::bitset<*>{
2287 expr : ($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
2297 expr : ($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
2303 stdp_std::bitset<*>::reference|stdpx_std::bitset<*>::reference|stdpmtx_std::bitset<*>::reference|stdpxmtx_std::bitset<*>::reference|stdpd_std::bitset<*>::reference|stdpdx_std::bitset<*>::reference|stdpdmtx_std::bitset<*>::reference|stdpdxmtx_std::bitset<*>{
2307 "bitset[", $c._M_bpos, "] = ",
2308 (bool)(*($c._M_wp) >> $c._M_bpos) & 1)
2313 ;------------------------------------------------------------------------------
2315 ;------------------------------------------------------------------------------
2316 stlp_std::auto_ptr<*>|stlpx_std::auto_ptr<*>|stlpmtx_std::auto_ptr<*>|stlpxmtx_std::auto_ptr<*>|stlpd_std::auto_ptr<*>|stlpdx_std::auto_ptr<*>|stlpdmtx_std::auto_ptr<*>|stlpdxmtx_std::auto_ptr<*>{
2334 ptr: [(unsigned int)$c._M_p, x],
2335 value: [*($T1 *)$c._M_p]
2347 ;------------------------------------------------------------------------------
2349 ;------------------------------------------------------------------------------
2350 stlp_std::complex<*>|stlpx_std::complex<*>|stlpmtx_std::complex<*>|stlpxmtx_std::complex<*>|stlpd_std::complex<*>|stlpdx_std::complex<*>|stlpdmtx_std::complex<*>|stlpdxmtx_std::complex<*>{
2363 ( ; Real and Imaginary components
2366 #($e._M_re,"+i*", $e._M_im)
2370 #($e._M_re,"-i*", -$e._M_im)
2374 ( ; Purely imaginary
2375 #if ($e._M_im >= 0.0)
2392 ;------------------------------------------------------------------------------
2394 ;------------------------------------------------------------------------------
2396 stlp_std::valarray<*>|stlpx_std::valarray<*>|stlpmtx_std::valarray<*>|stlpxmtx_std::valarray<*>|stlpd_std::valarray<*>|stlpdx_std::valarray<*>|stlpdmtx_std::valarray<*>|stlpdxmtx_std::valarray<*>{
2405 expr : ($c._M_first)[$i],
2416 expr : ($c._M_first)[$i],
2422 stlp_std::slice|stlpx_std::slice|stlpmtx_std::slice|stlpxmtx_std::slice|stlpd_std::slice|stlpdx_std::slice|stlpdmtx_std::slice|stlpdxmtx_std::slice{
2437 [raw view] : [$c,!],
2438 start : $c._M_start,
2439 size : $c._M_length,
2440 stride : $c._M_stride
2445 stlp_std::gslice|stlpx_std::gslice|stlpmtx_std::gslice|stlpxmtx_std::gslice|stlpd_std::gslice|stlpdx_std::gslice|stlpdmtx_std::gslice|stlpdxmtx_std::gslice{
2460 [raw view] : [$c,!],
2461 start : $c._M_start,
2462 sizes : $c._M_lengths,
2463 strides : $c._M_strides
2468 ; This section contains visualizers for STL and ATL containers
2470 ATL::CStringT<char,*>|CSimpleStringT<char,*>|ATL::CSimpleStringT<char,*>{
2471 preview ([$e.m_pszData,s])
2472 stringview ([$e.m_pszData,sb])
2474 ATL::CStringT<wchar_t,*>|CSimpleStringT<wchar_t,*>|ATL::CSimpleStringT<wchar_t,*>|ATL::CStringT<unsigned short,*>|CSimpleStringT<unsigned short,*>|ATL::CSimpleStringT<unsigned short,*>{
2475 preview ([$e.m_pszData,su])
2476 stringview ([$e.m_pszData,sub])
2479 preview ([$e.m_str,su])
2480 stringview ([$e.m_str,sub])
2483 ; Many TR1 visualizers use nested #()s.
2484 ; Why not use #(foo, bar) instead of #(#(foo), #(bar))?
2485 ; The former alphabetically sorts its fields, while the latter does not.
2486 ;------------------------------------------------------------------------------
2487 ; std::tr1::reference_wrapper
2488 ;------------------------------------------------------------------------------
2489 std::tr1::reference_wrapper<*>{
2491 #if ($e._Callee._EEN_INDIRECT == 1) (
2492 ; For ordinary T, reference_wrapper<T> stores a T * _Callee._Ptr
2493 ; which is non-null. Actual references are previewed with what they
2494 ; refer to, so reference_wrapper<T> is previewed with dereferencing its
2498 ; When T is a pointer to function, pointer to member function,
2499 ; or pointer to data member type, reference_wrapper<T> stores a
2500 ; T _Callee._Object directly.
2506 #if ($e._Callee._EEN_INDIRECT == 1) (
2507 ; Actual references have the same children as what they refer to.
2508 ; Unfortunately, there appears to be no way to imitate this exactly.
2509 ; Therefore, we make reference_wrapper<T> appear to have a single
2510 ; child, its stored pointer, with a fake name of [ptr].
2511 #([ptr] : $e._Callee._Ptr)
2513 ; When T is a pointer to function, pointer to member function,
2514 ; or pointer to data member type, T has no children, so we make
2515 ; reference_wrapper<T> appear to have no children.
2516 #array(expr: 0, size: 0)
2520 ;------------------------------------------------------------------------------
2521 ; std::tr1::shared_ptr
2522 ;------------------------------------------------------------------------------
2523 std::tr1::shared_ptr<*>{
2525 ; shared_ptr<T> stores a T * _Ptr .
2526 #if ($e._Ptr == 0) (
2527 ; A default-constructed shared_ptr has a null _Ptr and a null _Rep,
2528 ; and is formally said to be empty.
2529 ; A shared_ptr constructed from a null pointer has a null _Ptr
2530 ; and a NON-null _Rep . It is formally said to own the null pointer.
2531 ; We preview both with "empty".
2534 ; Raw pointers are previewed with "<pointer value> <object>".
2535 ; auto_ptr is previewed with "auto_ptr <object>".
2536 ; Following these examples, shared_ptr is previewed with
2537 ; "shared_ptr <object> [N strong refs, M weak refs]".
2543 #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
2544 #if ($e._Rep->_Weaks - 1 > 0) (
2547 $e._Rep->_Weaks - 1,
2548 #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
2553 ; Note: _Rep->_Uses counts how many shared_ptrs share ownership of the object,
2554 ; so we directly display it as the strong reference count.
2555 ; _Rep->_Weaks counts how many shared_ptrs and weak_ptrs share ownership of
2556 ; the "representation object" (or "control block"). All of the shared_ptrs are
2557 ; counted as a single owner. That is, _Weaks is initialized to 1, and when
2558 ; _Uses falls to 0, _Weaks is decremented. This avoids incrementing and decrementing
2559 ; _Weaks every time that a shared_ptr gains or loses ownership. Therefore,
2560 ; _Weaks - 1 is the weak reference count, the number of weak_ptrs that are observing
2561 ; the shared object.
2566 #if ($e._Ptr == 0) (
2567 ; We make empty shared_ptrs (and shared_ptrs that own
2568 ; the null pointer) appear to have no children.
2569 #array(expr: 0, size: 0)
2572 ; We make shared_ptr appear to have a single child,
2573 ; its stored pointer, with a fake name of [ptr].
2576 ; Visualizers can't determine whether a shared_ptr has a custom deleter.
2577 ; Therefore
, we also show the actual members.
2578 ; Look at what std
::tr1
::shared_ptr
<T
> > [actual members
] > std
::tr1
::_Ptr_base
<T
> > _Rep points
to.
2579 ; Default deleter
: std
::tr1
::_Ref_count
<T
>
2580 ; Custom deleter
: std
::tr1
::_Ref_count_d
<T
, D
> > _Dtor
2581 #([actual members] : [$e,!])
2586 ;------------------------------------------------------------------------------
2587 ; std
::tr1
::weak_ptr
2588 ;------------------------------------------------------------------------------
2589 std
::tr1
::weak_ptr
<*>{
2591 #if ($e._Ptr == 0) (
2593 ) #elif ($e._Rep->_Uses == 0) (
2594 ; weak_ptr is just like shared_ptr
, except that a weak_ptr can be expired.
2602 #if ($e._Rep->_Uses == 1) (" strong ref") #else (" strong refs"),
2603 #if ($e._Rep->_Weaks - 1 > 0) (
2606 $e._Rep
->_Weaks
- 1,
2607 #if ($e._Rep->_Weaks - 1 == 1) (" weak ref") #else (" weak refs")
2616 #if ($e._Ptr == 0) (
2617 #array(expr: 0, size: 0)
2618 ) #elif ($e._Rep->_Uses == 0) (
2619 ; When a weak_ptr is expired
, we make it appear
to have no children.
2620 #array(expr: 0, size: 0)
2624 #([actual members] : [$e,!])
2629 ;------------------------------------------------------------------------------
2631 ;------------------------------------------------------------------------------
2632 ; tuple is visualized like pair
, except that we have
to give fake names
to tuple
's children.
2633 std::tr1::tuple<std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2639 #array(expr: 0, size: 0)
2642 std::tr1::tuple<*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2645 "(", $e._Impl._Value,
2652 [0] : $e._Impl._Value
2656 std::tr1::tuple<*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2659 "(", $e._Impl._Value,
2660 ",", $e._Impl._Tail._Value,
2667 [0] : $e._Impl._Value,
2668 [1] : $e._Impl._Tail._Value
2672 std::tr1::tuple<*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2675 "(", $e._Impl._Value,
2676 ",", $e._Impl._Tail._Value,
2677 ",", $e._Impl._Tail._Tail._Value,
2684 [0] : $e._Impl._Value,
2685 [1] : $e._Impl._Tail._Value,
2686 [2] : $e._Impl._Tail._Tail._Value
2690 std::tr1::tuple<*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2693 "(", $e._Impl._Value,
2694 ",", $e._Impl._Tail._Value,
2695 ",", $e._Impl._Tail._Tail._Value,
2696 ",", $e._Impl._Tail._Tail._Tail._Value,
2703 [0] : $e._Impl._Value,
2704 [1] : $e._Impl._Tail._Value,
2705 [2] : $e._Impl._Tail._Tail._Value,
2706 [3] : $e._Impl._Tail._Tail._Tail._Value
2710 std::tr1::tuple<*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2713 "(", $e._Impl._Value,
2714 ",", $e._Impl._Tail._Value,
2715 ",", $e._Impl._Tail._Tail._Value,
2716 ",", $e._Impl._Tail._Tail._Tail._Value,
2717 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2724 [0] : $e._Impl._Value,
2725 [1] : $e._Impl._Tail._Value,
2726 [2] : $e._Impl._Tail._Tail._Value,
2727 [3] : $e._Impl._Tail._Tail._Tail._Value,
2728 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value
2732 std::tr1::tuple<*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2735 "(", $e._Impl._Value,
2736 ",", $e._Impl._Tail._Value,
2737 ",", $e._Impl._Tail._Tail._Value,
2738 ",", $e._Impl._Tail._Tail._Tail._Value,
2739 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2740 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2747 [0] : $e._Impl._Value,
2748 [1] : $e._Impl._Tail._Value,
2749 [2] : $e._Impl._Tail._Tail._Value,
2750 [3] : $e._Impl._Tail._Tail._Tail._Value,
2751 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
2752 [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value
2756 std::tr1::tuple<*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>{
2759 "(", $e._Impl._Value,
2760 ",", $e._Impl._Tail._Value,
2761 ",", $e._Impl._Tail._Tail._Value,
2762 ",", $e._Impl._Tail._Tail._Tail._Value,
2763 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2764 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2765 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2772 [0] : $e._Impl._Value,
2773 [1] : $e._Impl._Tail._Value,
2774 [2] : $e._Impl._Tail._Tail._Value,
2775 [3] : $e._Impl._Tail._Tail._Tail._Value,
2776 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
2777 [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2778 [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value
2782 std::tr1::tuple<*,*,*,*,*,*,*,*,std::tr1::_Nil,std::tr1::_Nil>{
2785 "(", $e._Impl._Value,
2786 ",", $e._Impl._Tail._Value,
2787 ",", $e._Impl._Tail._Tail._Value,
2788 ",", $e._Impl._Tail._Tail._Tail._Value,
2789 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2790 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2791 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2792 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2799 [0] : $e._Impl._Value,
2800 [1] : $e._Impl._Tail._Value,
2801 [2] : $e._Impl._Tail._Tail._Value,
2802 [3] : $e._Impl._Tail._Tail._Tail._Value,
2803 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
2804 [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2805 [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2806 [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
2810 std::tr1::tuple<*,*,*,*,*,*,*,*,*,std::tr1::_Nil>{
2813 "(", $e._Impl._Value,
2814 ",", $e._Impl._Tail._Value,
2815 ",", $e._Impl._Tail._Tail._Value,
2816 ",", $e._Impl._Tail._Tail._Tail._Value,
2817 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2818 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2819 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2820 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2821 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2828 [0] : $e._Impl._Value,
2829 [1] : $e._Impl._Tail._Value,
2830 [2] : $e._Impl._Tail._Tail._Value,
2831 [3] : $e._Impl._Tail._Tail._Tail._Value,
2832 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
2833 [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2834 [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2835 [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2836 [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
2840 std::tr1::tuple<*,*,*,*,*,*,*,*,*,*>{
2843 "(", $e._Impl._Value,
2844 ",", $e._Impl._Tail._Value,
2845 ",", $e._Impl._Tail._Tail._Value,
2846 ",", $e._Impl._Tail._Tail._Tail._Value,
2847 ",", $e._Impl._Tail._Tail._Tail._Tail._Value,
2848 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2849 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2850 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2851 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2852 ",", $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2859 [0] : $e._Impl._Value,
2860 [1] : $e._Impl._Tail._Value,
2861 [2] : $e._Impl._Tail._Tail._Value,
2862 [3] : $e._Impl._Tail._Tail._Tail._Value,
2863 [4] : $e._Impl._Tail._Tail._Tail._Tail._Value,
2864 [5] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Value,
2865 [6] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2866 [7] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2867 [8] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value,
2868 [9] : $e._Impl._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Tail._Value
2872 ;------------------------------------------------------------------------------
2874 ;------------------------------------------------------------------------------
2877 ; An actual array is previewed with its address.
2878 ; array<T, N> is previewed like vector<T>.
2883 #array(expr: $e._Elems[$i], size: $e._EEN_SIZE),
2889 ; Just like an actual array.
2890 #array(expr: $e._Elems[$i], size: $e._EEN_SIZE)
2893 std::tr1::_Array_iterator<*>|std::tr1::_Array_const_iterator<*>{
2895 #if ($e._Idx == $e._EEN_SIZE) (
2896 ; array iterators are represented by _Ptr + _Idx,
2897 ; and they know how large their parent arrays are. Therefore, detecting
2898 ; end iterators is trivial.
2901 ; Like vector iterators, array iterators are previewed with what they point to.
2907 #if ($e._Idx == $e._EEN_SIZE) (
2908 ; We make end iterators appear to have no children.
2909 #array(expr: 0, size: 0)
2911 ; An array iterator is conceptually a pointer, so we make it appear to store one.
2912 #([ptr] : $e._Ptr + $e._Idx)
2916 ;------------------------------------------------------------------------------
2917 ; std::tr1::function
2918 ;------------------------------------------------------------------------------
2919 std::tr1::function<*>{
2921 #if ($e._Impl == 0) (
2922 ; Detecting empty functions is trivial.
2925 ; The only thing that we can preview non-empty
2926 ; functions with is the fact that they are non-empty.
2932 #if ($e._Impl == 0) (
2933 ; We make empty functions appear to have no children.
2934 #array(expr: 0, size: 0)
2936 ; The callee is stored in (vaguely speaking) $e._Impl->_Callee._Object,
2937 ; but visualizers can't show this. Therefore
, we show the actual members.
2938 #([actual members] : [$e,!])
2942 ;------------------------------------------------------------------------------
2943 ; std
::tr1
::unordered_set
2944 ; std
::tr1
::unordered_multiset
2945 ; std
::tr1
::unordered_map
2946 ; std
::tr1
::unordered_multimap
2947 ;------------------------------------------------------------------------------
2948 ; See the stdext
::hash_set visualizer.
2949 ;------------------------------------------------------------------------------
2950 ; std
::tr1
::basic_regex
2951 ;------------------------------------------------------------------------------
2952 std
::tr1
::basic_regex
<*>{
2954 #if ($e._Rep == 0) (
2955 ; Default construction creates an empty basic_regex.
2957 ) #elif ($e._EEN_VIS == 1) (
2958 ; By
default, _ENHANCED_REGEX_VISUALIZER is defined
to be
1 in debug
and 0 in ship.
2959 ; When it is
1, basic_regex stores the string
from which it was constructed.
2960 ; When it is
0, basic_regex stores only the resulting finite state machine.
2963 ; basic_regex contains many static const flags
, which would be shown
in the preview
by default.
2964 ; Its actual members are _Rep
and _Traits. _Rep holds the finite state machine
, so we
2965 ; use it
to preview basic_regex.
(It does contain some human
-readable information.
)
2971 #if ($e._Rep == 0) (
2972 ; We make empty basic_regexes appear
to have no children.
2973 #array(expr: 0, size: 0)
2974 ) #elif ($e._EEN_VIS == 1) (
2975 ; We want
to hide those static const flags.
2976 ; We also want
to give _Visualization a fake name.
2978 #([str] : $e._Visualization),
2980 #(_Traits : $e._Traits)
2983 ; We want
to hide those static const flags.
2986 _Traits
: $e._Traits
2991 ;------------------------------------------------------------------------------
2992 ; std
::tr1
::sub_match
2993 ;------------------------------------------------------------------------------
2994 std
::tr1
::sub_match
<char const
*>|std
::tr1
::sub_match
<wchar_t const
*>|std
::tr1
::sub_match
<unsigned short const
*>{
2996 ; It would be nice
if we could preview sub_match with its str
().
2997 ; However
, visualizers cannot handle strings represented
by pointer pairs.
2998 ; Therefore
, our preview contains more limited information.
3000 ; If this sub_match participated
in a match
,
3001 ; we preview it with its length
().
3002 $e.second
- $e.
first
3004 ; Otherwise
, we preview it with its matched bool
(i.e.
"false").
3005 ; (Why
not length
() (i.e.
"0")? It
's meaningful to have
3006 ; matched == true and length() == 0.
3013 ; sub_match's three
data members are public
, but we list them here
3014 ; (a
) to display matched before
first and second
, and
3015 ; (b
) to gloss over the fact that sub_match derives
from std
::pair.
3016 #(matched : $e.matched),
3017 #(first : $e.first),
3018 #(second : $e.second)
3022 std
::tr1
::sub_match
<std
::_String_const_iterator
<*> >{
3025 ; We visualize ssub_match
and wssub_match just like csub_match
and wcsub_match
,
3026 ; except that when determining the length
(), we can
't subtract iterators.
3027 ; We have to subtract their stored pointers.
3028 $e.second._Myptr - $e.first._Myptr
3036 #(matched : $e.matched),
3037 #(first : $e.first),
3038 #(second : $e.second)
3042 ;------------------------------------------------------------------------------
3043 ; std::tr1::match_results
3044 ;------------------------------------------------------------------------------
3045 std::tr1::match_results<*>{
3047 ; A match_results object is empty iff its vector _Matches is empty.
3048 #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
3051 ; We preview a non-empty match_results object with its vector.
3057 #if ($e._Matches._Myfirst == $e._Matches._Mylast) (
3058 ; We make empty match_results appear to have no children.
3059 #array(expr: 0, size: 0)
3061 ; As match_results has operator[](), prefix(), and suffix() member functions,
3062 ; we make it appear to directly contain [0], [1], [2], etc. elements,
3063 ; as well as [prefix] and [suffix] elements.
3065 #array(expr: $e._Matches._Myfirst[$i], size: $e._Matches._Mylast - $e._Matches._Myfirst),
3066 #([prefix] : $e._Prefix),
3067 #([suffix] : $e._Suffix)
3072 ;------------------------------------------------------------------------------
3073 ; std::tr1::mem_fn()
3074 ;------------------------------------------------------------------------------
3075 ; Note that when mem_fn() is given a data member pointer, it returns a _Call_wrapper<_Callable_pmd<*> > .
3076 ; Data member pointers themselves don't have useful previews
, so we don
't attempt to visualize this.
3077 ; When mem_fn() is given a member function pointer, it returns a _Mem_fn[N], which we can visualize.
3078 std::tr1::_Mem_fn1<*>|std::tr1::_Mem_fn2<*>|std::tr1::_Mem_fn3<*>|std::tr1::_Mem_fn4<*>|std::tr1::_Mem_fn5<*>|std::tr1::_Mem_fn6<*>|std::tr1::_Mem_fn7<*>|std::tr1::_Mem_fn8<*>|std::tr1::_Mem_fn9<*>|std::tr1::_Mem_fn10<*>{
3080 ; We preview the functor returned by mem_fn() with its stored member function pointer.
3085 ; Member function pointers have no children.
3086 #array(expr: 0, size: 0)
3089 ;------------------------------------------------------------------------------
3090 ; std::tr1::regex_iterator
3091 ;------------------------------------------------------------------------------
3092 std::tr1::regex_iterator<*>{
3094 #if ($e._MyRe == 0) (
3095 ; We represent end-of-sequence regex_iterators with null regex pointers.
3098 ; Dereferenceable regex_iterators return match_results when dereferenced,
3099 ; so we'll preview them with that.
3105 #if ($e._MyRe == 0) (
3106 ; We make
end-of
-sequence regex_iterators appear
to have no children.
3107 #array(expr: 0, size: 0)
3109 ; For ease of understanding
, we make dereferenceable regex_iterators
3110 ; appear
to have
data members with the
"for exposition only" names
from TR1.
3112 #([begin] : $e._Begin),
3114 #([pregex] : $e._MyRe),
3115 #([flags] : $e._Flags),
3116 #([match] : $e._MyVal)
3121 ;------------------------------------------------------------------------------
3122 ; std
::tr1
::regex_token_iterator
3123 ;------------------------------------------------------------------------------
3124 std
::tr1
::regex_token_iterator
<*>{
3126 #if ($e._Res == 0) (
3127 ; We represent
end-of
-sequence regex_token_iterators with null result pointers.
3130 ; Dereferenceable regex_token_iterators return
*result when dereferenced
,
3131 ; so we
'll preview them with that.
3137 #if ($e._Res == 0) (
3138 ; We make end-of-sequence regex_token_iterators appear to have no children.
3139 #array(expr: 0, size: 0)
3141 ; For ease of understanding, we make dereferenceable regex_token_iterators
3142 ; appear to have data members with the "for exposition only" names from TR1.
3144 #([position] : $e._Pos),
3145 #([result] : $e._Res),
3146 #([suffix] : $e._Suffix),
3148 #([subs] : $e._Subs)
3154 ;------------------------------------------------------------------------------
3156 ;------------------------------------------------------------------------------
3158 ; STL functors are previewed with their names.
3159 ; They have no state, so they have no children.
3162 children ( #array(expr: 0, size: 0) )
3166 children ( #array(expr: 0, size: 0) )
3169 preview ( "multiplies" )
3170 children ( #array(expr: 0, size: 0) )
3173 preview ( "divides" )
3174 children ( #array(expr: 0, size: 0) )
3177 preview ( "modulus" )
3178 children ( #array(expr: 0, size: 0) )
3181 preview ( "negate" )
3182 children ( #array(expr: 0, size: 0) )
3185 preview ( "equal_to" )
3186 children ( #array(expr: 0, size: 0) )
3188 std::not_equal_to<*>{
3189 preview ( "not_equal_to" )
3190 children ( #array(expr: 0, size: 0) )
3193 preview ( "greater" )
3194 children ( #array(expr: 0, size: 0) )
3198 children ( #array(expr: 0, size: 0) )
3200 std::greater_equal<*>{
3201 preview ( "greater_equal" )
3202 children ( #array(expr: 0, size: 0) )
3205 preview ( "less_equal" )
3206 children ( #array(expr: 0, size: 0) )
3208 std::logical_and<*>{
3209 preview ( "logical_and" )
3210 children ( #array(expr: 0, size: 0) )
3213 preview ( "logical_or" )
3214 children ( #array(expr: 0, size: 0) )
3216 std::logical_not<*>{
3217 preview ( "logical_not" )
3218 children ( #array(expr: 0, size: 0) )
3221 ; STL function pointer adaptors are previewed with "ptr_fun(<stored function pointer>)".
3222 ; Function pointers have no children, so the adaptors have no children.
3223 std::pointer_to_unary_function<*>|std::pointer_to_binary_function<*>{
3232 children ( #array(expr: 0, size: 0) )
3235 ; STL negators are previewed with "not[12](<stored functor>)".
3236 ; They have a child with the fake name of [pred], so that the
3237 ; stored functor can be inspected.
3238 std::unary_negate<*>{
3248 #([pred] : $e._Functor)
3251 std::binary_negate<*>{
3261 #([pred] : $e._Functor)
3265 ; bind() placeholders are previewed with their names.
3266 ; They have no state, so they have no children.
3269 children ( #array(expr: 0, size: 0) )
3273 children ( #array(expr: 0, size: 0) )
3277 children ( #array(expr: 0, size: 0) )
3281 children ( #array(expr: 0, size: 0) )
3285 children ( #array(expr: 0, size: 0) )
3289 children ( #array(expr: 0, size: 0) )
3293 children ( #array(expr: 0, size: 0) )
3297 children ( #array(expr: 0, size: 0) )
3301 children ( #array(expr: 0, size: 0) )
3305 children ( #array(expr: 0, size: 0) )
3308 ; The functor returned by bind(f, t1, t2) is previewed with "bind(f, t1, t2)".
3309 ; It has children with the fake names of [f], [t1], [t2], etc.
3310 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind0<*> >{
3313 "bind(", $e._Bx._Callee._Object,
3320 #([f] : $e._Bx._Callee._Object)
3324 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind1<*> >{
3327 "bind(", $e._Bx._Callee._Object,
3335 #([f] : $e._Bx._Callee._Object),
3336 #([t1] : $e._Bx._Vx0)
3340 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind2<*> >{
3343 "bind(", $e._Bx._Callee._Object,
3352 #([f] : $e._Bx._Callee._Object),
3353 #([t1] : $e._Bx._Vx0),
3354 #([t2] : $e._Bx._Vx1)
3358 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind3<*> >{
3361 "bind(", $e._Bx._Callee._Object,
3371 #([f] : $e._Bx._Callee._Object),
3372 #([t1] : $e._Bx._Vx0),
3373 #([t2] : $e._Bx._Vx1),
3374 #([t3] : $e._Bx._Vx2)
3378 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind4<*> >{
3381 "bind(", $e._Bx._Callee._Object,
3392 #([f] : $e._Bx._Callee._Object),
3393 #([t1] : $e._Bx._Vx0),
3394 #([t2] : $e._Bx._Vx1),
3395 #([t3] : $e._Bx._Vx2),
3396 #([t4] : $e._Bx._Vx3)
3400 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind5<*> >{
3403 "bind(", $e._Bx._Callee._Object,
3415 #([f] : $e._Bx._Callee._Object),
3416 #([t1] : $e._Bx._Vx0),
3417 #([t2] : $e._Bx._Vx1),
3418 #([t3] : $e._Bx._Vx2),
3419 #([t4] : $e._Bx._Vx3),
3420 #([t5] : $e._Bx._Vx4)
3424 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind6<*> >{
3427 "bind(", $e._Bx._Callee._Object,
3440 #([f] : $e._Bx._Callee._Object),
3441 #([t1] : $e._Bx._Vx0),
3442 #([t2] : $e._Bx._Vx1),
3443 #([t3] : $e._Bx._Vx2),
3444 #([t4] : $e._Bx._Vx3),
3445 #([t5] : $e._Bx._Vx4),
3446 #([t6] : $e._Bx._Vx5)
3450 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind7<*> >{
3453 "bind(", $e._Bx._Callee._Object,
3467 #([f] : $e._Bx._Callee._Object),
3468 #([t1] : $e._Bx._Vx0),
3469 #([t2] : $e._Bx._Vx1),
3470 #([t3] : $e._Bx._Vx2),
3471 #([t4] : $e._Bx._Vx3),
3472 #([t5] : $e._Bx._Vx4),
3473 #([t6] : $e._Bx._Vx5),
3474 #([t7] : $e._Bx._Vx6)
3478 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind8<*> >{
3481 "bind(", $e._Bx._Callee._Object,
3496 #([f] : $e._Bx._Callee._Object),
3497 #([t1] : $e._Bx._Vx0),
3498 #([t2] : $e._Bx._Vx1),
3499 #([t3] : $e._Bx._Vx2),
3500 #([t4] : $e._Bx._Vx3),
3501 #([t5] : $e._Bx._Vx4),
3502 #([t6] : $e._Bx._Vx5),
3503 #([t7] : $e._Bx._Vx6),
3504 #([t8] : $e._Bx._Vx7)
3508 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind9<*> >{
3511 "bind(", $e._Bx._Callee._Object,
3527 #([f] : $e._Bx._Callee._Object),
3528 #([t1] : $e._Bx._Vx0),
3529 #([t2] : $e._Bx._Vx1),
3530 #([t3] : $e._Bx._Vx2),
3531 #([t4] : $e._Bx._Vx3),
3532 #([t5] : $e._Bx._Vx4),
3533 #([t6] : $e._Bx._Vx5),
3534 #([t7] : $e._Bx._Vx6),
3535 #([t8] : $e._Bx._Vx7),
3536 #([t9] : $e._Bx._Vx8)
3540 std::tr1::_Bind<std::tr1::_Notforced,std::tr1::_Bind10<*> >{
3543 "bind(", $e._Bx._Callee._Object,
3560 #([f] : $e._Bx._Callee._Object),
3561 #([t1] : $e._Bx._Vx0),
3562 #([t2] : $e._Bx._Vx1),
3563 #([t3] : $e._Bx._Vx2),
3564 #([t4] : $e._Bx._Vx3),
3565 #([t5] : $e._Bx._Vx4),
3566 #([t6] : $e._Bx._Vx5),
3567 #([t7] : $e._Bx._Vx6),
3568 #([t8] : $e._Bx._Vx7),
3569 #([t9] : $e._Bx._Vx8),
3570 #([t10] : $e._Bx._Vx9)
3575 ; The functor returned by bind<RetType>(f, t1, t2) is previewed with "bind<R>(f, t1, t2)",
3576 ; because we cannot stringify a type name into the preview.
3577 ; Its first child has the fake name of [R *] and is a null pointer of type RetType *.
3578 ; This allows RetType to be found easily, instead of digging through the bound functor's type.
3579 ; This is followed
by children with the fake names of
[f
], [t1
], [t2
], etc.
3580 std
::tr1
::_Bind
<*,std
::tr1
::_Bind0
<*> >{
3583 "bind<R>(", $e._Bx._Callee._Object
,
3590 #([R *] : ($T1 *) 0),
3591 #([f] : $e._Bx._Callee._Object)
3595 std
::tr1
::_Bind
<*,std
::tr1
::_Bind1
<*> >{
3598 "bind<R>(", $e._Bx._Callee._Object
,
3606 #([R *] : ($T1 *) 0),
3607 #([f] : $e._Bx._Callee._Object),
3608 #([t1] : $e._Bx._Vx0)
3612 std
::tr1
::_Bind
<*,std
::tr1
::_Bind2
<*> >{
3615 "bind<R>(", $e._Bx._Callee._Object
,
3624 #([R *] : ($T1 *) 0),
3625 #([f] : $e._Bx._Callee._Object),
3626 #([t1] : $e._Bx._Vx0),
3627 #([t2] : $e._Bx._Vx1)
3631 std
::tr1
::_Bind
<*,std
::tr1
::_Bind3
<*> >{
3634 "bind<R>(", $e._Bx._Callee._Object
,
3644 #([R *] : ($T1 *) 0),
3645 #([f] : $e._Bx._Callee._Object),
3646 #([t1] : $e._Bx._Vx0),
3647 #([t2] : $e._Bx._Vx1),
3648 #([t3] : $e._Bx._Vx2)
3652 std
::tr1
::_Bind
<*,std
::tr1
::_Bind4
<*> >{
3655 "bind<R>(", $e._Bx._Callee._Object
,
3666 #([R *] : ($T1 *) 0),
3667 #([f] : $e._Bx._Callee._Object),
3668 #([t1] : $e._Bx._Vx0),
3669 #([t2] : $e._Bx._Vx1),
3670 #([t3] : $e._Bx._Vx2),
3671 #([t4] : $e._Bx._Vx3)
3675 std
::tr1
::_Bind
<*,std
::tr1
::_Bind5
<*> >{
3678 "bind<R>(", $e._Bx._Callee._Object
,
3690 #([R *] : ($T1 *) 0),
3691 #([f] : $e._Bx._Callee._Object),
3692 #([t1] : $e._Bx._Vx0),
3693 #([t2] : $e._Bx._Vx1),
3694 #([t3] : $e._Bx._Vx2),
3695 #([t4] : $e._Bx._Vx3),
3696 #([t5] : $e._Bx._Vx4)
3700 std
::tr1
::_Bind
<*,std
::tr1
::_Bind6
<*> >{
3703 "bind<R>(", $e._Bx._Callee._Object
,
3716 #([R *] : ($T1 *) 0),
3717 #([f] : $e._Bx._Callee._Object),
3718 #([t1] : $e._Bx._Vx0),
3719 #([t2] : $e._Bx._Vx1),
3720 #([t3] : $e._Bx._Vx2),
3721 #([t4] : $e._Bx._Vx3),
3722 #([t5] : $e._Bx._Vx4),
3723 #([t6] : $e._Bx._Vx5)
3727 std
::tr1
::_Bind
<*,std
::tr1
::_Bind7
<*> >{
3730 "bind<R>(", $e._Bx._Callee._Object
,
3744 #([R *] : ($T1 *) 0),
3745 #([f] : $e._Bx._Callee._Object),
3746 #([t1] : $e._Bx._Vx0),
3747 #([t2] : $e._Bx._Vx1),
3748 #([t3] : $e._Bx._Vx2),
3749 #([t4] : $e._Bx._Vx3),
3750 #([t5] : $e._Bx._Vx4),
3751 #([t6] : $e._Bx._Vx5),
3752 #([t7] : $e._Bx._Vx6)
3756 std
::tr1
::_Bind
<*,std
::tr1
::_Bind8
<*> >{
3759 "bind<R>(", $e._Bx._Callee._Object
,
3774 #([R *] : ($T1 *) 0),
3775 #([f] : $e._Bx._Callee._Object),
3776 #([t1] : $e._Bx._Vx0),
3777 #([t2] : $e._Bx._Vx1),
3778 #([t3] : $e._Bx._Vx2),
3779 #([t4] : $e._Bx._Vx3),
3780 #([t5] : $e._Bx._Vx4),
3781 #([t6] : $e._Bx._Vx5),
3782 #([t7] : $e._Bx._Vx6),
3783 #([t8] : $e._Bx._Vx7)
3787 std
::tr1
::_Bind
<*,std
::tr1
::_Bind9
<*> >{
3790 "bind<R>(", $e._Bx._Callee._Object
,
3806 #([R *] : ($T1 *) 0),
3807 #([f] : $e._Bx._Callee._Object),
3808 #([t1] : $e._Bx._Vx0),
3809 #([t2] : $e._Bx._Vx1),
3810 #([t3] : $e._Bx._Vx2),
3811 #([t4] : $e._Bx._Vx3),
3812 #([t5] : $e._Bx._Vx4),
3813 #([t6] : $e._Bx._Vx5),
3814 #([t7] : $e._Bx._Vx6),
3815 #([t8] : $e._Bx._Vx7),
3816 #([t9] : $e._Bx._Vx8)
3820 std
::tr1
::_Bind
<*,std
::tr1
::_Bind10
<*> >{
3823 "bind<R>(", $e._Bx._Callee._Object
,
3840 #([R *] : ($T1 *) 0),
3841 #([f] : $e._Bx._Callee._Object),
3842 #([t1] : $e._Bx._Vx0),
3843 #([t2] : $e._Bx._Vx1),
3844 #([t3] : $e._Bx._Vx2),
3845 #([t4] : $e._Bx._Vx3),
3846 #([t5] : $e._Bx._Vx4),
3847 #([t6] : $e._Bx._Vx5),
3848 #([t7] : $e._Bx._Vx6),
3849 #([t8] : $e._Bx._Vx7),
3850 #([t9] : $e._Bx._Vx8),
3851 #([t10] : $e._Bx._Vx9)
3856 ;------------------------------------------------------------------------------
3857 ; std
::vector
<bool
,*> specialization
3858 ;------------------------------------------------------------------------------
3859 std
::vector
<bool
,*>{
3864 expr
: ($e._Myvec._Myfirst
[$i
/ _VBITS
] >> ($i
% _VBITS
)),
3871 "[", $e._Mysize
, "](",
3874 expr
: ($e._Myvec._Myfirst
[$i
/ _VBITS
] >> ($i
% _VBITS
)),
3881 std
::vector
<bool
,*>::iterator|std
::vector
<bool
,*>::const_iterator|std
::_Vb_iterator
<*>|std
::_Vb_const_iterator
<*>{
3882 preview
( #( (bool) (((*$e._Myptr) >> $e._Myoff) & 1)))
3883 children
( #( ptr: (bool) (((*$e._Myptr) >> $e._Myoff) & 1)))
3885 ;------------------------------------------------------------------------------
3887 ;------------------------------------------------------------------------------
3893 expr
: ($e._Myfirst
)[$i
],
3894 size
: $e._Mylast
-$e._Myfirst
3900 "[", $e._Mylast
- $e._Myfirst
, "](",
3903 expr
: ($e._Myfirst
)[$i
],
3904 size
: $e._Mylast
-$e._Myfirst
3910 std
::_Vector_iterator
<*>|std
::_Vector_const_iterator
<*>{
3911 preview
( #(*$e._Myptr))
3912 children
( #(ptr: *$e._Myptr))
3914 ;------------------------------------------------------------------------------
3915 ; std
::string
/basic_string
3916 ;------------------------------------------------------------------------------
3917 std
::basic_string
<char
,*>{
3918 preview
( #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s]) #else ( [$e._Bx._Ptr,s]))
3919 stringview
( #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb]) #else ( [$e._Bx._Ptr,sb]))
3922 #if(($e._Myres) < ($e._BUF_SIZE))
3924 #([actual members]: [$e,!] , #array( expr: $e._Bx._Buf[$i], size: $e._Mysize))
3928 #([actual members]: [$e,!], #array( expr: $e._Bx._Ptr[$i], size: $e._Mysize))
3932 std
::basic_string
<unsigned short
,*>|std
::basic_string
<wchar_t
,*>{
3935 #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,su] )
3936 #else ( [$e._Bx._Ptr,su] )
3940 #if(($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sub] )
3941 #else ( [$e._Bx._Ptr,sub] )
3945 #if(($e._Myres) < ($e._BUF_SIZE))
3948 [actual members
]: [$e
,!] ,
3949 #array( expr: $e._Bx._Buf[$i], size: $e._Mysize)
3955 [actual members
]: [$e
,!],
3956 #array( expr: $e._Bx._Ptr[$i], size: $e._Mysize)
3961 std
::basic_string
<*>::iterator|std
::basic_string
<*>::const_iterator|std
::_String_iterator
<*>|std
::_String_const_iterator
<*>{
3962 preview
( #( $e._Myptr ))
3963 children
( #( ptr: $e._Myptr ))
3966 preview
( #( "(", $e.first, ",", $e.second , ")"))
3968 ;------------------------------------------------------------------------------
3970 ;------------------------------------------------------------------------------
3976 (*(($T1
*)$e._Myptr
))
3982 ptr
: (*(($T1
*)$e._Myptr
))
3986 ;------------------------------------------------------------------------------
3988 ;------------------------------------------------------------------------------
3994 head
: $e._Myhead
->_Parent
,
4004 "[", $e._Mysize
, "](",
4007 head
: $e._Myhead
->_Parent
,
4017 ;------------------------------------------------------------------------------
4019 ;------------------------------------------------------------------------------
4025 head
: $e._Myhead
->_Parent
,
4035 "[", $e._Mysize
, "](",
4038 head
: $e._Myhead
->_Parent
,
4048 ;------------------------------------------------------------------------------
4050 ;------------------------------------------------------------------------------
4056 head
: $e._Myhead
->_Next
,
4064 "[", $e._Mysize
, "](",
4067 head
: $e._Myhead
->_Next
,
4075 std
::list
<*>::iterator|std
::list
<*>::const_iterator|std
::list
<*>::_Iterator
<1>|std
::list
<*>::_Const_iterator
<1>{
4076 preview
( #($e._Ptr->_Myval))
4077 children
( #(ptr: $e._Ptr->_Myval))
4079 ;------------------------------------------------------------------------------
4080 ; std
::bitset
<bitset
>
4081 ;------------------------------------------------------------------------------
4086 "[", $e.digits
, "](",
4089 expr
: ($e._Array
[$i
/ $e._Bitsperword
] >> ($i
% $e._Bitsperword
)),
4099 expr
: ($e._Array
[$i
/ $e._Bitsperword
] >> ($i
% $e._Bitsperword
)),
4104 std
::bitset
<*>::reference
{
4108 "bitset[", $e._Mypos
, "] = ",
4109 (bool
)(($e._Pbitset
->_Array
[$i
/ _Bitsperword
] >> ($e._Mypos
% _Bitsperword
)) & 1)
4113 ;------------------------------------------------------------------------------
4115 ;------------------------------------------------------------------------------
4121 expr
: $e._Map
[ (($i
+ $e._Myoff
) / $e._EEN_DS
) % $e._Mapsize
][($i
+ $e._Myoff
) % $e._EEN_DS
],
4128 "[", $e._Mysize
, "](",
4131 expr
: $e._Map
[ (($i
+ $e._Myoff
) / $e._EEN_DS
) % $e._Mapsize
][($i
+ $e._Myoff
) % $e._EEN_DS
],
4138 std
::deque
<*,*>::iterator|std
::_Deque_iterator
<*,*,*>|std
::_Deque_const_iterator
<*,*,*>{
4141 #if( $e._EEN_HID == 0 )
4143 #if( $e._Myoff >= ((std::deque<$T1,$T2 > *)($e._Myaux->_Mycontainer))->_Myoff + ((std::deque<$T1,$T2 > *)($e._Myaux->_Mycontainer))->_Mysize)
4151 $e._Myoff
- ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_Myoff
,
4153 ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_Map
[ (($e._Myoff
) / ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_EEN_DS
) % ((std
::deque
<$T1
,$T2
> *)$e._Myaux
->_Mycontainer
)->_Mapsize
][$e._Myoff
% ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_EEN_DS
]
4159 #if( $e._Myoff >= ((std::deque<$T1,$T2 > *)$e._Mycont)->_Myoff + ((std::deque<$T1,$T2 > *)$e._Mycont)->_Mysize)
4167 $e._Myoff
- ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_Myoff
,
4169 ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_Map
[ (($e._Myoff
) / ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_EEN_DS
) % ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_Mapsize
][$e._Myoff
% ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_EEN_DS
]
4176 #if( $e._EEN_HID == 0 )
4178 #if( ((std::deque<$T1,$T2 > *)($e._Myaux->_Mycontainer))->_Myoff + ((std::deque<$T1,$T2 > *)($e._Myaux->_Mycontainer))->_Mysize > $e._Myoff)
4181 ptr
: ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_Map
[ ($e._Myoff
/ ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_EEN_DS
) % ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_Mapsize
][$e._Myoff
% ((std
::deque
<$T1
,$T2
> *)($e._Myaux
->_Mycontainer
))->_EEN_DS
]
4187 #if( ((std::deque<$T1,$T2 > *)$e._Mycont)->_Myoff + ((std::deque<$T1,$T2 > *)$e._Mycont)->_Mysize > $e._Myoff)
4190 ptr
: ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_Map
[ ($e._Myoff
/ ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_EEN_DS
) % ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_Mapsize
][$e._Myoff
% ((std
::deque
<$T1
,$T2
> *)$e._Mycont
)->_EEN_DS
]
4196 ;------------------------------------------------------------------------------
4198 ;------------------------------------------------------------------------------
4204 expr
: $e.c._Map
[ (($i
+ $e.c._Myoff
) / $e.c._EEN_DS
) % $e.c._Mapsize
][($i
+ $e.c._Myoff
) % $e.c._EEN_DS
],
4211 "[", $e.c._Mysize
, "](",
4214 expr
: $e.c._Map
[ (($i
+ $e.c._Myoff
) / $e.c._EEN_DS
) % $e.c._Mapsize
][($i
+ $e.c._Myoff
) % $e.c._EEN_DS
],
4221 ;------------------------------------------------------------------------------
4222 ; std
::priority_queue
4223 ;------------------------------------------------------------------------------
4224 std
::priority_queue
<*>{
4227 ;------------------------------------------------------------------------------
4229 ;------------------------------------------------------------------------------
4234 "[", $e._Mysize
, "](",
4237 head
: $e._Myhead
->_Parent
,
4250 head
: $e._Myhead
->_Parent
,
4258 ;------------------------------------------------------------------------------
4260 ;------------------------------------------------------------------------------
4265 "[", $e._Mysize
, "](",
4268 head
: $e._Myhead
->_Parent
,
4281 head
: $e._Myhead
->_Parent
,
4289 ;------------------------------------------------------------------------------
4290 ; std
::_Tree
(shared my map
/multimap
/set/multiset
)
4291 ;------------------------------------------------------------------------------
4292 std
::_Tree
<*>::iterator|std
::_Tree
<*>::const_iterator
{
4293 preview
( #($e._Ptr->_Myval))
4294 children
( #(ptr: $e._Ptr->_Myval))
4296 ;------------------------------------------------------------------------------
4298 ;------------------------------------------------------------------------------
4304 expr
: $e.c._Map
[ (($i
+ $e.c._Myoff
) / $e.c._EEN_DS
) % $e.c._Mapsize
][($i
+ $e.c._Myoff
) % $e.c._EEN_DS
],
4311 "[", $e.c._Mysize
, "](",
4314 expr
: $e.c._Map
[ (($i
+ $e.c._Myoff
) / $e.c._EEN_DS
) % $e.c._Mapsize
][($i
+ $e.c._Myoff
) % $e.c._EEN_DS
],
4321 ;------------------------------------------------------------------------------
4323 ; stdext
::hash_multimap
4325 ; stdext
::hash_multiset
4326 ; std
::tr1
::unordered_set
4327 ; std
::tr1
::unordered_multiset
4328 ; std
::tr1
::unordered_map
4329 ; std
::tr1
::unordered_multimap
4330 ;------------------------------------------------------------------------------
4331 stdext
::hash_map
<*>|stdext
::hash_multimap
<*>|stdext
::hash_set
<*>|stdext
::hash_multiset
<*>|std
::tr1
::unordered_set
<*>|std
::tr1
::unordered_multiset
<*>|std
::tr1
::unordered_map
<*>|std
::tr1
::unordered_multimap
<*>{
4335 "[", $e._List._Mysize
, "](",
4338 head
: $e._List._Myhead
->_Next
,
4339 size
: $e._List._Mysize
,
4349 head
: $e._List._Myhead
->_Next
,
4350 size
: $e._List._Mysize
,
4355 ;------------------------------------------------------------------------------
4357 ;------------------------------------------------------------------------------
4363 imaginary
: $e._Val
[1]
4368 #if($e._Val[1] != 0)
4370 #if ($e._Val[0] != 0)
4371 ( ; Real
and Imaginary components
4372 #if ($e._Val[1] >= 0)
4373 ( #($e._Val[0],"+i*", $e._Val[1]))
4375 ( #($e._Val[0],"-i*", -$e._Val[1]))
4378 ( ; Purely imaginary
4379 #if ($e._Val[1] >= 0.0)
4380 ( #("i*", $e._Val[1]))
4382 ( #("-i*", -$e._Val[1]))
4391 ;------------------------------------------------------------------------------
4393 ;------------------------------------------------------------------------------
4398 "[", $e._Mysize
, "](",
4401 expr
: ($e._Myptr
)[$i
],
4411 expr
: ($e._Myptr
)[$i
],
4416 ;------------------------------------------------------------------------------
4418 ;------------------------------------------------------------------------------
4419 ; Visualizers for VT_VECTOR C arrays
4420 tagCAC|tagCAUB|tagCAI|tagCAUI|tagCAL|tagCAUL|tagCAFLT|tagCADBL|tagCACY|tagCADATE|tagCABSTR|tagCABSTRBLOB|tagCABOOL|tagCASCODE|tagCAPROPVARIANT|tagCAH|tagCAUH|tagCALPSTR|tagCALPWSTR|tagCAFILETIME|tagCACLIPDATA|tagCACLSID
{
4423 "[", $e.cElems
, "](",
4426 expr
: ($e.pElems
)[$i
],
4436 expr
: ($e.pElems
)[$i
],
4441 ; Visualizers for SAFE ARRAY
4442 tagSAFEARRAY|SAFEARRAY
{
4444 #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
4446 ; Switch on the variant type field
- which is stored
4 bytes
4447 ; before the beginning of the SAFEARRAY type
4448 #switch( ((unsigned *)&($e))[-1] )
4449 #case 0x2 ; VT_I2 | VT_ARRAY
4452 "safearray of I2 = [",
4453 ; output the rank array
4454 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4456 ; output the
data elements
4458 expr
: ((signed short
*)$e.pvData
)[$i
],
4459 size
: $e.rgsabound
[$r
].cElements
,
4461 base
: $e.rgsabound
[$r
].lLbound
4466 #case 0x3 ; VT_I4 | VT_ARRAY
4469 "safearray of I4 = [",
4470 ; output the rank array
4471 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4473 ; output the
data elements
4475 expr
: ((signed
int *)$e.pvData
)[$i
],
4476 size
: $e.rgsabound
[$r
].cElements
,
4478 base
: $e.rgsabound
[$r
].lLbound
4483 #case 0x4 ; VT_R4 | VT_ARRAY
4486 "safearray of R4 = [",
4487 ; output the rank array
4488 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4490 ; output the
data elements
4492 expr
: ((float
*)$e.pvData
)[$i
],
4493 size
: $e.rgsabound
[$r
].cElements
,
4495 base
: $e.rgsabound
[$r
].lLbound
4500 #case 0x5 ; VT_R8 | VT_ARRAY
4503 "safearray of R8 = [",
4504 ; output the rank array
4505 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4507 ; output the
data elements
4509 expr
: ((double
*)$e.pvData
)[$i
],
4510 size
: $e.rgsabound
[$r
].cElements
,
4512 base
: $e.rgsabound
[$r
].lLbound
4517 #case 0x6 ; VT_CY | VT_ARRAY
4520 "safearray of CY = [",
4521 ; output the rank array
4522 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4524 ; output the
data elements
4526 expr
: ((CY
*)$e.pvData
)[$i
],
4527 size
: $e.rgsabound
[$r
].cElements
,
4529 base
: $e.rgsabound
[$r
].lLbound
4534 #case 0x7 ; VT_DATE | VT_ARRAY
4537 "safearray of DATE = [",
4538 ; output the rank array
4539 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4541 ; output the
data elements
4543 expr
: ((DATE
*)$e.pvData
)[$i
],
4544 size
: $e.rgsabound
[$r
].cElements
,
4546 base
: $e.rgsabound
[$r
].lLbound
4551 #case 0x8 ; VT_BSTR | VT_ARRAY
4554 "safearray of BSTR = [",
4555 ; output the rank array
4556 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4558 ; output the
data elements
4560 expr
: ((wchar_t
**)$e.pvData
)[$i
],
4561 size
: $e.rgsabound
[$r
].cElements
,
4563 base
: $e.rgsabound
[$r
].lLbound
4568 #case 0xa ; VT_ERROR | VT_ARRAY
4571 "safearray of ERROR = [",
4572 ; output the rank array
4573 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4575 ; output the
data elements
4577 expr
: ((long
*)$e.pvData
)[$i
],
4578 size
: $e.rgsabound
[$r
].cElements
,
4580 base
: $e.rgsabound
[$r
].lLbound
4585 #case 0xb ; VT_BOOL | VT_ARRAY
4588 "safearray of BOOL = [",
4589 ; output the rank array
4590 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4592 ; output the
data elements
4594 expr
: ((short
*)$e.pvData
)[$i
],
4595 size
: $e.rgsabound
[$r
].cElements
,
4597 base
: $e.rgsabound
[$r
].lLbound
4602 #case 0xc ; VT_VARIANT | VT_ARRAY
4605 "safearray of VARIANT = [",
4606 ; output the rank array
4607 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4609 ; output the
data elements
4611 expr
: ((tagVARIANT
*)$e.pvData
)[$i
],
4612 size
: $e.rgsabound
[$r
].cElements
,
4614 base
: $e.rgsabound
[$r
].lLbound
4619 #case 0x10 ; VT_I1 | VT_ARRAY
4622 "safearray of I1 = [",
4623 ; output the rank array
4624 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4626 ; output the
data elements
4628 expr
: ((signed char
*)$e.pvData
)[$i
],
4629 size
: $e.rgsabound
[$r
].cElements
,
4631 base
: $e.rgsabound
[$r
].lLbound
4636 #case 0x11 ; VT_UI1 | VT_ARRAY
4639 "safearray of UI1 = [",
4640 ; output the rank array
4641 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4643 ; output the
data elements
4645 expr
: ((unsigned char
*)$e.pvData
)[$i
],
4646 size
: $e.rgsabound
[$r
].cElements
,
4648 base
: $e.rgsabound
[$r
].lLbound
4653 #case 0x12 ; VT_UI2 | VT_ARRAY
4656 "safearray of UI2 = [",
4657 ; output the rank array
4658 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4660 ; output the
data elements
4662 expr
: ((unsigned short
*)$e.pvData
)[$i
],
4663 size
: $e.rgsabound
[$r
].cElements
,
4665 base
: $e.rgsabound
[$r
].lLbound
4670 #case 0x13 ; VT_UI4 | VT_ARRAY
4673 "safearray of UI4 = [",
4674 ; output the rank array
4675 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4677 ; output the
data elements
4679 expr
: ((unsigned
int *)$e.pvData
)[$i
],
4680 size
: $e.rgsabound
[$r
].cElements
,
4682 base
: $e.rgsabound
[$r
].lLbound
4687 #case 0x14 ; VT_I8 | VT_ARRAY
4690 "safearray of I8 = [",
4691 ; output the rank array
4692 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4694 ; output the
data elements
4696 expr
: ((signed __int64
*)$e.pvData
)[$i
],
4697 size
: $e.rgsabound
[$r
].cElements
,
4699 base
: $e.rgsabound
[$r
].lLbound
4704 #case 0x15 ; VT_UI8 | VT_ARRAY
4707 "safearray of UI8 = [",
4708 ; output the rank array
4709 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4711 ; output the
data elements
4713 expr
: ((unsigned __int64
*)$e.pvData
)[$i
],
4714 size
: $e.rgsabound
[$r
].cElements
,
4716 base
: $e.rgsabound
[$r
].lLbound
4721 #case 0x16 ; VT_INT | VT_ARRAY
4724 "safearray of INT = [",
4725 ; output the rank array
4726 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4728 ; output the
data elements
4730 expr
: ((int *)$e.pvData
)[$i
],
4731 size
: $e.rgsabound
[$r
].cElements
,
4733 base
: $e.rgsabound
[$r
].lLbound
4738 #case 0x17 ; VT_UINT | VT_ARRAY
4741 "safearray of UINT = [",
4742 ; output the rank array
4743 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4745 ; output the
data elements
4747 expr
: ((unsigned
*)$e.pvData
)[$i
],
4748 size
: $e.rgsabound
[$r
].cElements
,
4750 base
: $e.rgsabound
[$r
].lLbound
4755 #case 0x1e ; VT_LPSTR | VT_ARRAY
4758 "safearray of LPSTR = [",
4759 ; output the rank array
4760 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4762 ; output the
data elements
4764 expr
: ((char
**)$e.pvData
)[$i
],
4765 size
: $e.rgsabound
[$r
].cElements
,
4767 base
: $e.rgsabound
[$r
].lLbound
4772 #case 0x1f ; VT_LPWSTR | VT_ARRAY
4775 "safearray of LPWSTR = [",
4776 ; output the rank array
4777 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4779 ; output the
data elements
4781 expr
: ((wchar_t
**)$e.pvData
)[$i
],
4782 size
: $e.rgsabound
[$r
].cElements
,
4784 base
: $e.rgsabound
[$r
].lLbound
4789 #case 0x40 ; VT_FILETIME | VT_ARRAY
4792 "safearray of FILETIME = [",
4793 ; output the rank array
4794 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4796 ; output the
data elements
4798 expr
: ((FILETIME
*)$e.pvData
)[$i
],
4799 size
: $e.rgsabound
[$r
].cElements
,
4801 base
: $e.rgsabound
[$r
].lLbound
4806 #case 0x47 ; VT_CLIPDATA | VT_ARRAY
4809 "safearray of CLIPDATA = [",
4810 ; output the rank array
4811 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4813 ; output the
data elements
4815 expr
: ((CLIPDATA
*)$e.pvData
)[$i
],
4816 size
: $e.rgsabound
[$r
].cElements
,
4818 base
: $e.rgsabound
[$r
].lLbound
4823 #case 0x48 ; VT_CLSID | VT_ARRAY
4826 "safearray of CLSID = [",
4827 ; output the rank array
4828 #array( expr: $e.rgsabound[$i].cElements, size: $e.cDims),
4830 ; output the
data elements
4832 expr
: ((CLSID
*)$e.pvData
)[$i
],
4833 size
: $e.rgsabound
[$r
].cElements
,
4835 base
: $e.rgsabound
[$r
].lLbound
4841 #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
4843 #("safearray of BSTR = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
4845 #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
4847 #("safearray of IUnknown* = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((IUnknown *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
4849 #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
4851 #("safearray of IDispatch* = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((IDispatch*)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
4853 #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
4855 #("safearray of VARIANT = ",#array(expr: $e.rgsabound[$i].cElements, size: $e.cDims) : #("[",$e,"]"), "(", #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound ), ")")
4860 #( ;[actual members]: [$e,!],
4861 #if ($e.fFeatures & 0x0080) ; FADF_HAVEVARTYPE
4863 #switch( ((unsigned *)&($e))[-1] ) ; for some reason the VT field is before the SAFEARRAY struct
4864 #case 2 ; VT_I2|VT_ARRAY
4867 expr
: ((signed short
*)$e.pvData
)[$i
],
4868 size
: $e.rgsabound
[$r
].cElements
,
4870 base
: $e.rgsabound
[$r
].lLbound
4873 #case 3 ; VT_I4|VT_ARRAY
4876 expr
: ((signed
int *)$e.pvData
)[$i
],
4877 size
: $e.rgsabound
[$r
].cElements
,
4879 base
: $e.rgsabound
[$r
].lLbound
4882 #case 4 ; VT_R4|VT_ARRAY
4885 expr
: ((float
*)$e.pvData
)[$i
],
4886 size
: $e.rgsabound
[$r
].cElements
,
4888 base
: $e.rgsabound
[$r
].lLbound
4891 #case 5 ; VT_R8|VT_ARRAY
4894 expr
: ((double
*)$e.pvData
)[$i
],
4895 size
: $e.rgsabound
[$r
].cElements
,
4897 base
: $e.rgsabound
[$r
].lLbound
4900 #case 0x10 ; VT_I1|VT_ARRAY
4903 expr
: ((signed char
*)$e.pvData
)[$i
],
4904 size
: $e.rgsabound
[$r
].cElements
,
4906 base
: $e.rgsabound
[$r
].lLbound
4909 #case 0x11 ; VT_UI1|VT_ARRAY
4912 expr
: ((unsigned char
*)$e.pvData
)[$i
],
4913 size
: $e.rgsabound
[$r
].cElements
,
4915 base
: $e.rgsabound
[$r
].lLbound
4918 #case 0x12 ; VT_UI2|VT_ARRAY
4921 expr
: ((unsigned short
*)$e.pvData
)[$i
],
4922 size
: $e.rgsabound
[$r
].cElements
,
4924 base
: $e.rgsabound
[$r
].lLbound
4927 #case 0x13 ; VT_UI4|VT_ARRAY
4930 expr
: ((unsigned
int *)$e.pvData
)[$i
],
4931 size
: $e.rgsabound
[$r
].cElements
,
4933 base
: $e.rgsabound
[$r
].lLbound
4936 #case 0x14 ; VT_I8|VT_ARRAY
4939 expr
: ((signed __int64
*)$e.pvData
)[$i
],
4940 size
: $e.rgsabound
[$r
].cElements
,
4942 base
: $e.rgsabound
[$r
].lLbound
4945 #case 0x15 ; VT_UI8|VT_ARRAY
4948 expr
: ((unsigned __int64
*)$e.pvData
)[$i
],
4949 size
: $e.rgsabound
[$r
].cElements
,
4951 base
: $e.rgsabound
[$r
].lLbound
4954 #case 0x1e ; VT_LPSTR|VT_ARRAY
4957 expr
: ((char
* *)$e.pvData
)[$i
],
4958 size
: $e.rgsabound
[$r
].cElements
,
4960 base
: $e.rgsabound
[$r
].lLbound
4963 #case 0x1f ; VT_LPWSTR|VT_ARRAY
4966 expr
: ((wchar_t
**)$e.pvData
)[$i
],
4967 size
: $e.rgsabound
[$r
].cElements
,
4969 base
: $e.rgsabound
[$r
].lLbound
4972 #case 0xc ; VT_VARIANT|VT_ARRAY
4975 expr
: ((tagVARIANT
*)$e.pvData
)[$i
],
4976 size
: $e.rgsabound
[$r
].cElements
,
4978 base
: $e.rgsabound
[$r
].lLbound
4981 #case 0xb ; VT_BOOL|VT_ARRAY
4984 expr
: ((short
*)$e.pvData
)[$i
],
4985 size
: $e.rgsabound
[$r
].cElements
,
4987 base
: $e.rgsabound
[$r
].lLbound
4990 #case 0xa ; VT_ERROR|VT_ARRAY
4993 expr
: ((long
*)$e.pvData
)[$i
],
4994 size
: $e.rgsabound
[$r
].cElements
,
4996 base
: $e.rgsabound
[$r
].lLbound
4999 #case 6 ; VT_CY|VT_ARRAY
5002 expr
: ((CY
*)$e.pvData
)[$i
],
5003 size
: $e.rgsabound
[$r
].cElements
,
5005 base
: $e.rgsabound
[$r
].lLbound
5008 #case 7 ; VT_DATE|VT_ARRAY
5011 expr
: ((DATE
*)$e.pvData
)[$i
],
5012 size
: $e.rgsabound
[$r
].cElements
,
5014 base
: $e.rgsabound
[$r
].lLbound
5017 #case 0x40 ; VT_FILETIME|VT_ARRAY
5020 expr
: ((FILETIME
*)$e.pvData
)[$i
],
5021 size
: $e.rgsabound
[$r
].cElements
,
5023 base
: $e.rgsabound
[$r
].lLbound
5026 #case 0x48 ; VT_CLSID|VT_ARRAY
5029 expr
: ((CLSID
*)$e.pvData
)[$i
],
5030 size
: $e.rgsabound
[$r
].cElements
,
5032 base
: $e.rgsabound
[$r
].lLbound
5035 #case 0x47 ; VT_CF|VT_ARRAY
5038 expr
: ((CLIPDATA
*)$e.pvData
)[$i
],
5039 size
: $e.rgsabound
[$r
].cElements
,
5041 base
: $e.rgsabound
[$r
].lLbound
5044 #case 8 ; VT_BSTR|VT_ARRAY
5047 expr
: ((wchar_t
* *)$e.pvData
)[$i
],
5048 size
: $e.rgsabound
[$r
].cElements
,
5050 base
: $e.rgsabound
[$r
].lLbound
5053 #case 0x16 ; VT_INT|VT_ARRAY
5056 expr
: ((int *)$e.pvData
)[$i
],
5057 size
: $e.rgsabound
[$r
].cElements
,
5059 base
: $e.rgsabound
[$r
].lLbound
5062 #case 0x17 ; VT_UINT|VT_ARRAY
5065 expr
: ((unsigned
int*)$e.pvData
)[$i
],
5066 size
: $e.rgsabound
[$r
].cElements
,
5068 base
: $e.rgsabound
[$r
].lLbound
5073 #([actual members]: [$e,!])
5077 #([actual members]: [$e,!])
5080 #elif ($e.fFeatures & 0x0100) ; FADF_BSTR
5082 #array(expr: ((wchar_t * *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
5084 #elif ($e.fFeatures & 0x0200) ; FADF_UNKNOWN
5086 #array(expr: ((IUnknown *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
5088 #elif ($e.fFeatures & 0x0400) ; FADF_DISPATCH
5090 #array(expr: ((IDispatch *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
5092 #elif ($e.fFeatures & 0x0800) ; FADF_VARIANT
5094 #array(expr: ((tagVARIANT *)$e.pvData)[$i], size: $e.rgsabound[$r].cElements, rank: $e.cDims, base: $e.rgsabound[$r].lLbound )
5099 tagPROPVARIANT|tagVARIANT|PROPVARIANT|VARIANT
{
5102 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5104 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5105 #case 0 ( #("Empty") ) ; VT_EMPTY
5106 #case 1 ( #("NULL") ) ; VT_NULL
5107 #case 2 ( #("I2 = ", $e.iVal) ) ; VT_I2
5108 #case 3 ( #("I4 = ", $e.lVal) ) ; VT_I4
5109 #case 4 ( #("R4 = ", $e.fltVal) ) ; VT_R4
5110 #case 5 ( #("R8 = ", $e.dblVal) ) ; VT_R8
5111 #case 6 ( #("CY = ", $e.cyVal) ) ; VT_CY
5112 #case 7 ( #("DATE = ", $e.date) ) ; VT_DATE
5113 #case 8 ( #("BSTR = ", $e.bstrVal) ) ; VT_BSTR
5114 #case 9 ( #("DISPATCH = ", $e.pdispVal) ) ; VT_DISPATCH
5115 #case 10 ( #("ERROR = ", $e.scode) ) ; VT_ERROR
5116 #case 0xB ( #("BOOL = ", $e.boolVal) ) ; VT_BOOL
5117 #case 0xC ( #("VARIANT ") ) ; VT_VARIANT
5118 #case 0xD ( #("UNKNOWN = ", $e.punkVal) ) ; VT_UNKOWN
5119 #case 0xE ( #("DECIMAL = ", $e.decVal) ) ; VT_DECIMAL
5120 #case 0x10 ( #("I1 = ", $e.cVal) ) ; VT_I1
5121 #case 0x11 ( #("UI1 = ", $e.bVal) ) ; VT_UI1
5122 #case 0x12 ( #("UI2 = ", $e.uiVal) ) ; VT_UI2
5123 #case 0x13 ( #("UI4 = ", $e.ulVal) ) ; VT_UI4
5124 #case 0x14 ( #("I8 = ", *(__int64*)&$e.dblVal) ) ; VT_I8
5125 #case 0x15 ( #("UI8 = ", *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
5126 #case 0x16 ( #("INT = ", $e.intVal) ) ; VT_INT
5127 #case 0x17 ( #("UINT = ", $e.uintVal) ) ; VT_UINT
5128 #case 0x18 ( #("VOID ") ) ; VT_VOID
5129 #case 0x19 ( #("HRESULT ") ) ; VT_HRESULT
5130 #case 0x1A ( #("PTR ") ) ; VT_PTR
5131 #case 0x1B ( #("SAFEARRAY ") ) ; VT_SAFEARRAY
5132 #case 0x1C ( #("CARRAY ") ) ; VT_CARRAY
5133 #case 0x1D ( #("USERDEFINED ") ) ; VT_USERDEFINED
5134 #case 0x1E ( #("LPSTR = ", $e.pszVal) ) ; VT_LPSTR
5135 #case 0x1F ( #("LPWSTR = ", $e.pwszVal) ) ; VT_LPWSTR
5136 #case 0x24 ( #("RECORD ") ) ; VT_RECORD
5137 #case 0x26 ( #("UINT_PTR ") ) ; VT_UINT_PTR
5138 #case 0x40 ( #("FILETIME = ", $e.filetime) ) ; VT_FILETIME
5139 #case 0x42 ( #("STREAM = ", $e.pStream) ) ; VT_STREAM
5140 #case 0x43 ( #("STORAGE = ", $e.pStorage) ) ; VT_STORAGE
5141 #case 0x44 ( #("STREAMED_OBJECT = ", $e.pStream) ) ; VT_STREAMED_OBJECT
5142 #case 0x45 ( #("STORED_OBJECT = ", $e.pStorage) ) ; VT_STORED_OBJECT
5143 #case 0x46 ( #("BLOB_OBJECT = ", $e.blob ) ) ; VT_BLOB_OBJECT
5144 #case 0x47 ( #("CF = ", $e.pclipdata) ) ; VT_CF
5145 #case 0x48 ( #("CLSID = ", $e.puuid) ) ; VT_CLSID
5146 #case 0x49 ( #("VERSIONED_STREAM = ", $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
5147 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5149 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5150 #case 0x1002 ( #("vector of I2 = ", $e.cai) ) ; VT_I2|VT_VECTOR
5151 #case 0x1003 ( #("vector of I4 = ", $e.cal) ) ; VT_I4|VT_VECTOR
5152 #case 0x1004 ( #("vector of R4 = ", $e.caflt) ) ; VT_R4|VT_VECTOR
5153 #case 0x1005 ( #("vector of R8 = ", $e.cadbl) ) ; VT_R8|VT_VECTOR
5154 #case 0x1010 ( #("vector of I1 = ", $e.cac) ) ; VT_I1|VT_VECTOR
5155 #case 0x1011 ( #("vector of UI1 = ", $e.caub) ) ; VT_UI1|VT_VECTOR
5156 #case 0x1012 ( #("vector of UI2 = ", $e.caui) ) ; VT_UI2|VT_VECTOR
5157 #case 0x1013 ( #("vector of UI4 = ", $e.caul) ) ; VT_UI4|VT_VECTOR
5158 #case 0x1014 ( #("vector of I8 = ", $e.cah) ) ; VT_I8|VT_VECTOR
5159 #case 0x1015 ( #("vector of UI8 = ", $e.cauh) ) ; VT_UI8|VT_VECTOR
5160 #case 0x101E ( #("vector of LPSTR = ", $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
5161 #case 0x101F ( #("vector of LPWSTR = ", $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
5162 #case 0x100C ( #("vector of VARIANT ", $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
5163 #case 0x100B ( #("vector of BOOL = ", $e.cabool) ) ; VT_BOOL|VT_VECTOR
5164 #case 0x100A ( #("vector of ERROR = ", $e.cascode) ) ; VT_ERROR|VT_VECTOR
5165 #case 0x1006 ( #("vector of CY = ", $e.cacy) ) ; VT_CY|VT_VECTOR
5166 #case 0x1007 ( #("vector of DATE = ", $e.cadate) ) ; VT_DATE|VT_VECTOR
5167 #case 0x1040 ( #("vector of FILETIME = ", $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
5168 #case 0x1048 ( #("vector of CLSID = ", $e.cauuid) ) ; VT_CLSID|VT_VECTOR
5169 #case 0x1047 ( #("vector of CF = ", $e.caclipdata) ) ; VT_CF|VT_VECTOR
5170 #case 0x1008 ( #("vector of BSTR = ", $e.cabstr) ) ; VT_BSTR|VT_VECTOR
5171 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5173 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5174 #case 0x4016 ( #("byref of INT = ", $e.pintVal) ) ; VT_INT|VT_BYREF
5175 #case 0x4017 ( #("byref of UINT = ", $e.puintVal) ) ; VT_UINT|VT_BYREF
5176 #case 0x4002 ( #("byref of I2 = ", $e.piVal) ) ; VT_I2|VT_BYREF
5177 #case 0x4003 ( #("byref of I4 = ", $e.plVal) ) ; VT_I4|VT_BYREF
5178 #case 0x4004 ( #("byref of R4 = ", $e.pfltVal) ) ; VT_R4|VT_BYREF
5179 #case 0x4005 ( #("byref of R8 = ", $e.pdblVal) ) ; VT_R8|VT_BYREF
5180 #case 0x4010 ( #("byref of I1 = ", $e.pcVal) ) ; VT_I1|VT_BYREF
5181 #case 0x4011 ( #("byref of UI1 = ", $e.pbVal) ) ; VT_UI1|VT_BYREF
5182 #case 0x4012 ( #("byref of UI2 = ", $e.puiVal) ) ; VT_UI2|VT_BYREF
5183 #case 0x4013 ( #("byref of UI4 = ", $e.pulVal) ) ; VT_UI4|VT_BYREF
5184 #case 0x4014 ( #("byref of I8 = ", (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
5185 #case 0x4015 ( #("byref of UI8 = ", (unsigned __int64*)$e.pudblVal) ) ; VT_UI8|VT_BYREF
5186 #case 0x400C ( #("byref of VARIANT ", $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
5187 #case 0x400B ( #("byref of BOOL = ", $e.pboolVal) ) ; VT_BOOL|VT_BYREF
5188 #case 0x400A ( #("byref of ERROR = ", $e.pscode) ) ; VT_ERROR|VT_BYREF
5189 #case 0x4006 ( #("byref of CY = ", $e.pcyVal) ) ; VT_CY|VT_BYREF
5190 #case 0x4007 ( #("byref of DATE = ", $e.pdate) ) ; VT_DATE|VT_BYREF
5191 #case 0x4008 ( #("byref of BSTR = ", $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
5192 #case 0x400E ( #("byref of DECIMAL = ", $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
5193 #case 0x400D ( #("byref of UNKNOWN = ", $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
5194 #case 0x4009 ( #("byref of DISPATCH = ", $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
5195 #case 0x6000 ( #("byref of ARRAY = ", $e.pparray) ) ; VT_ARRAY|VT_BYREF
5198 #if ($e.vt & 0x2000) ( $e.parray)
5199 #else ( #("Unknown vt type = ", $e.vt))
5206 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5208 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5209 #case 0x2 ( #(I2 : $e.iVal) ) ; VT_I2
5210 #case 0x3 ( #(I4 : $e.lVal) ) ; VT_I4
5211 #case 0x4 ( #(R4 : $e.fltVal) ) ; VT_R4
5212 #case 0x5 ( #(R8 : $e.dblVal) ) ; VT_R8
5213 #case 0x6 ( #(CY : $e.cyVal) ) ; VT_CY
5214 #case 0x7 ( #(DATE : $e.date) ) ; VT_DATE
5215 #case 0x8 ( #(BSTR : $e.bstrVal) ) ; VT_BSTR
5216 #case 0x9 ( #(DISPATCH : $e.pdispVal) ) ; VT_DISPATCH
5217 #case 0xA ( #(ERROR : $e.scode) ) ; VT_ERROR
5218 #case 0xB ( #(BOOL : $e.boolVal) ) ; VT_BOOL
5219 #case 0xD ( #(UNKNOWN : $e.punkVal) ) ; VT_UNKOWN
5220 #case 0xE ( #(DECIMAL : $e.decVal) ) ; VT_DECIMAL
5221 #case 0x10 ( #(I1 : $e.cVal) ) ; VT_I1
5222 #case 0x11 ( #(UI1 : $e.bVal) ) ; VT_UI1
5223 #case 0x12 ( #(UI2 : $e.uiVal) ) ; VT_UI2
5224 #case 0x13 ( #(UI4 : $e.ulVal) ) ; VT_UI4
5225 #case 0x14 ( #(I8 : *(__int64*)&$e.dblVal) ) ; VT_I8
5226 #case 0x15 ( #(UI8 : *(unsigned __int64*)&$e.dblVal) ) ; VT_UI8
5227 #case 0x16 ( #(INT : $e.intVal) ) ; VT_INT
5228 #case 0x17 ( #(UINT : $e.uintVal) ) ; VT_UINT
5229 #case 0x1E ( #(LPSTR : $e.pszVal) ) ; VT_LPSTR
5230 #case 0x1F ( #(LPWSTR : $e.pwszVal) ) ; VT_LPWSTR
5231 #case 0x40 ( #(FILETIME : $e.filetime) ) ; VT_FILETIME
5232 #case 0x42 ( #(STREAM : $e.pStream) ) ; VT_STREAM
5233 #case 0x43 ( #(STORAGE : $e.pStorage) ) ; VT_STORAGE
5234 #case 0x44 ( #(STREAMED_OBJECT : $e.pStream) ) ; VT_STREAMED_OBJECT
5235 #case 0x45 ( #(STORED_OBJECT : $e.pStorage) ) ; VT_STORED_OBJECT
5236 #case 0x46 ( #(BLOB_OBJECT : $e.blob ) ) ; VT_BLOB_OBJECT
5237 #case 0x47 ( #(CF : $e.pclipdata) ) ; VT_CF
5238 #case 0x48 ( #(CLSID : $e.puuid) ) ; VT_CLSID
5239 #case 0x49 ( #(VERSIONED_STREAM : $e.pVersionedStream) ) ; VT_VERSIONED_STREAM
5240 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5242 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5243 #case 0x1002 ( #(vector of I2 : $e.cai) ) ; VT_I2|VT_VECTOR
5244 #case 0x1003 ( #(vector of I4 : $e.cal) ) ; VT_I4|VT_VECTOR
5245 #case 0x1004 ( #(vector of R4 : $e.caflt) ) ; VT_R4|VT_VECTOR
5246 #case 0x1005 ( #(vector of R8 : $e.cadbl) ) ; VT_R8|VT_VECTOR
5247 #case 0x1010 ( #(vector of I1 : $e.cac) ) ; VT_I1|VT_VECTOR
5248 #case 0x1011 ( #(vector of UI1 : $e.caub) ) ; VT_UI1|VT_VECTOR
5249 #case 0x1012 ( #(vector of UI2 : $e.caui) ) ; VT_UI2|VT_VECTOR
5250 #case 0x1013 ( #(vector of UI4 : $e.caul) ) ; VT_UI4|VT_VECTOR
5251 #case 0x1014 ( #(vector of I8 : $e.cah) ) ; VT_I8|VT_VECTOR
5252 #case 0x1015 ( #(vector of UI8 : $e.cauh) ) ; VT_UI8|VT_VECTOR
5253 #case 0x101E ( #(vector of LPSTR : $e.calpstr) ) ; VT_LPSTR|VT_VECTOR
5254 #case 0x101F ( #(vector of LPWSTR : $e.calpwstr) ) ; VT_LPWSTR|VT_VECTOR
5255 #case 0x100C ( #(vector of VARIANT : $e.capropvar) ) ; VT_VARIANT|VT_VECTOR
5256 #case 0x100B ( #(vector of BOOL : $e.cabool) ) ; VT_BOOL|VT_VECTOR
5257 #case 0x100A ( #(vector of ERROR : $e.cascode) ) ; VT_ERROR|VT_VECTOR
5258 #case 0x1006 ( #(vector of CY : $e.cacy) ) ; VT_CY|VT_VECTOR
5259 #case 0x1007 ( #(vector of DATE : $e.cadate) ) ; VT_DATE|VT_VECTOR
5260 #case 0x1040 ( #(vector of FILETIME : $e.cafiletime) ) ; VT_FILETIME|VT_VECTOR
5261 #case 0x1048 ( #(vector of CLSID : $e.cauuid) ) ; VT_CLSID|VT_VECTOR
5262 #case 0x1047 ( #(vector of CF : $e.caclipdata) ) ; VT_CF|VT_VECTOR
5263 #case 0x1008 ( #(vector of BSTR : $e.cabstr) ) ; VT_BSTR|VT_VECTOR
5264 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5266 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5267 #case 0x4016 ( #(byref of INT : $e.pintVal) ) ; VT_INT|VT_BYREF
5268 #case 0x4017 ( #(byref of UINT : $e.puintVal) ) ; VT_UINT|VT_BYREF
5269 #case 0x4002 ( #(byref of I2 : $e.piVal) ) ; VT_I2|VT_BYREF
5270 #case 0x4003 ( #(byref of I4 : $e.plVal) ) ; VT_I4|VT_BYREF
5271 #case 0x4004 ( #(byref of R4 : $e.pfltVal) ) ; VT_R4|VT_BYREF
5272 #case 0x4005 ( #(byref of R8 : $e.pdblVal) ) ; VT_R8|VT_BYREF
5273 #case 0x4010 ( #(byref of I1 : $e.pcVal) ) ; VT_I1|VT_BYREF
5274 #case 0x4011 ( #(byref of UI1 : $e.pbVal) ) ; VT_UI1|VT_BYREF
5275 #case 0x4012 ( #(byref of UI2 : $e.puiVal) ) ; VT_UI2|VT_BYREF
5276 #case 0x4013 ( #(byref of UI4 : $e.pulVal) ) ; VT_UI4|VT_BYREF
5277 #case 0x4014 ( #(byref of I8 : (__int64*)$e.pdblVal) ) ; VT_I8|VT_BYREF
5278 #case 0x4015 ( #(byref of UI8 : (unsigned __int64*)$e.pdblVal) ) ; VT_UI8|VT_BYREF
5279 #case 0x400C ( #(byref of VARIANT : $e.pvarVal) ) ; VT_VARIANT|VT_BYREF
5280 #case 0x400B ( #(byref of BOOL : $e.pboolVal) ) ; VT_BOOL|VT_BYREF
5281 #case 0x400A ( #(byref of ERROR : $e.pscode) ) ; VT_ERROR|VT_BYREF
5282 #case 0x4006 ( #(byref of CY : $e.pcyVal) ) ; VT_CY|VT_BYREF
5283 #case 0x4007 ( #(byref of DATE : $e.pdate) ) ; VT_DATE|VT_BYREF
5284 #case 0x4008 ( #(byref of BSTR : $e.pbstrVal) ) ; VT_BSTR|VT_BYREF
5285 #case 0x400E ( #(byref of DECIMAL : $e.pdecVal) ) ; VT_DECIMAL|VT_BYREF
5286 #case 0x400D ( #(byref of UNKNOWN : $e.ppunkVal) ) ; VT_UNKOWN|VT_BYREF
5287 #case 0x4009 ( #(byref of DISPATCH : $e.ppdispVal) ) ; VT_DISPATCH|VT_BYREF
5288 #case 0x6000 ( #(byref of ARRAY : $e.pparray) ) ; VT_ARRAY|VT_BYREF
5290 ; the following are either empty
or invalid vt values for a variant
5291 ; #case 0 ( #(Empty :) ) ; VT_EMPTY
5292 ; #case 0x1 ( #(NULL :) ) ; VT_NULL
5293 ; #case 0xC ( #(VARIANT :) ) ; VT_VARIANT
5294 ; #case 0x18 ( #(VOID :) ) ; VT_VOID
5295 ; #case 0x19 ( #(HRESULT :) ) ; VT_HRESULT
5296 ; #case 0x1A ( #(PTR :) ) ; VT_PTR
5297 ; #case 0x1B ( #(SAFEARRAY :) ) ; VT_SAFEARRAY
5298 ; #case 0x1C ( #(CARRAY :) ) ; VT_CARRAY
5299 ; #case 0x1D ( #(USERDEFINED :) ) ; VT_USERDEFINED
5300 ; #case 0x24 ( #(RECORD :) ) ; VT_RECORD
5301 ; #case 0x26 ( #(UINT_PTR :) ) ; VT_UINT_PTR
5304 #if ($e.vt & 0x2000 )
5305 ( #(safearray: $e.parray))
5309 [raw members
]: [$e
,!] ; unformatted
data members
5316 [raw members
]: [$e
,!] ; unformatted
data members
5322 ; This section lets you define your own errors for the HRESULT
display.
5323 ; You need
to list the error code
in unsigned decimal
, followed
by the message.
5324 ; Changes will take effect the
next time you redisplay the variable.
5327 ;1234=my custom error code