169befb by dums at 2007-10-31 1
;------------------------------------------------------------------------------
2
; This is the description of STLport data structures in Visual Studio debugger
3
; language. Those descriptions has been tested with Visual C++ 2005 Express
4
; Edition, you are welcome to report successful usage with any other Visual
5
; Studio version.
8d84e4f by dums at 2007-12-29 6
; Those descriptions has been tested with STLport 5.2.0.
169befb by dums at 2007-10-31 7
; How to use: Copy/Paste this file content in the autoexp.dat file you will find
8
; in your Visual Studio install, for instance
9
; C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger, in the
10
; [Visualizer] section.
11
; TODO: Enhance debug iterator visualization to report end iterators.
12
; TODO: Add visualization for rope.
13
; TODO: Fix bitset visualization.
14
;------------------------------------------------------------------------------
15
;------------------------------------------------------------------------------
16
; stlport::basic_string
17
;------------------------------------------------------------------------------
18
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,*>{
19
    preview
20
    (
8d84e4f by dums at 2007-12-29 21
        [$c._M_start_of_storage._M_data, s]
169befb by dums at 2007-10-31 22
    )
23
24
    stringview
25
    (
8d84e4f by dums at 2007-12-29 26
        [$c._M_start_of_storage._M_data, s]
169befb by dums at 2007-10-31 27
    )
28
29
    children
30
    (
31
        #(
32
            [raw view]: [$c,!],
8d84e4f by dums at 2007-12-29 33
            buffer: [(unsigned int)$c._M_start_of_storage._M_data, x],
34
            length: $c._M_finish - $c._M_start_of_storage._M_data,
35
            capacity: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
169befb by dums at 2007-10-31 36
                    (
8d84e4f by dums at 2007-12-29 37
                        $c._DEFAULT_SIZE
169befb by dums at 2007-10-31 38
                    )
39
                    #else
40
                    (
8d84e4f by dums at 2007-12-29 41
                        $c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
169befb by dums at 2007-10-31 42
                    ),
8d84e4f by dums at 2007-12-29 43
            #array
169befb by dums at 2007-10-31 44
            (
8d84e4f by dums at 2007-12-29 45
				expr: $c._M_start_of_storage._M_data[$i],
46
				size: $c._M_finish - $c._M_start_of_storage._M_data
47
			)
169befb by dums at 2007-10-31 48
        )
49
    )
50
}
51
52
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,*>{
53
    preview
54
    (
8d84e4f by dums at 2007-12-29 55
        [$c._M_start_of_storage._M_data, su]
169befb by dums at 2007-10-31 56
    )
57
58
    stringview
59
    (
8d84e4f by dums at 2007-12-29 60
        [$c._M_start_of_storage._M_data, su]
169befb by dums at 2007-10-31 61
    )
62
63
    children
64
    (
65
        #(
66
            [raw view]: [$c,!],
8d84e4f by dums at 2007-12-29 67
            buffer: [(unsigned int)$c._M_start_of_storage._M_data, x],
68
            length: $c._M_finish - $c._M_start_of_storage._M_data,
69
            capacity: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
169befb by dums at 2007-10-31 70
                    (
8d84e4f by dums at 2007-12-29 71
                        $c._DEFAULT_SIZE
169befb by dums at 2007-10-31 72
                    )
73
                    #else
74
                    (
8d84e4f by dums at 2007-12-29 75
                        $c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
169befb by dums at 2007-10-31 76
                    ),
8d84e4f by dums at 2007-12-29 77
            #array
169befb by dums at 2007-10-31 78
            (
8d84e4f by dums at 2007-12-29 79
				expr: $c._M_start_of_storage._M_data[$i],
80
				size: $c._M_finish - $c._M_start_of_storage._M_data
81
			)
169befb by dums at 2007-10-31 82
        )
83
    )
84
}
85
86
stlpd_std::basic_string<*>|stlpdx_std::basic_string<*>|stlpdmtx_std::basic_string<*>|stlpdxmtx_std::basic_string<*>{
87
    preview
88
    (
89
		$c._M_non_dbg_impl
90
	)
91
92
    stringview
93
    (
94
		$c._M_non_dbg_impl
95
    )
96
97
    children
98
    (
99
        #(
100
            [raw view]: [$c,!],
101
            string: $c._M_non_dbg_impl
102
         )
103
    )
104
}
105
106
;------------------------------------------------------------------------------
107
; stlport::vector
108
;------------------------------------------------------------------------------
109
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,*>{
110
    preview
111
    (
112
        #(
113
			"[",
114
			($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset,
115
			"](",
116
			#array
117
			(
118
				expr : ($c._M_start._M_p[$i / (sizeof(unsigned int) * 8)] >> ($i % (sizeof(unsigned int) * 8))),
119
				size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset)
120
			)  : (bool)($e & 1),
121
			")"
122
		)
123
	)
124
	children
125
	(
126
		#(
127
			[raw view]: [$c,!],
128
			buffer : [(unsigned int)$c._M_start._M_p, x],
129
			size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset),
130
			#array
131
			(
132
				expr : ($c._M_start._M_p[$i / (sizeof(unsigned int) * 8)] >> ($i % (sizeof(unsigned int) * 8))),
133
				size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset)
134
			)  : (bool)($e & 1)
135
		)
136
	)
137
}
138
139
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<*>{
140
	preview
141
	(
142
		#(
143
			(bool) (((*$c._M_p) >> $c._M_offset) & 1)
144
		)
145
	)
146
	children
147
	(
148
		#(
149
			[raw view]: [$c,!],
150
			value : (bool) (((*$c._M_p) >> $c._M_offset) & 1)
151
		)
152
	)
153
}
154
155
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<*>{
156
    preview
157
    (
158
        #(
159
            "[",
160
            $c._M_finish - $c._M_start,
161
            "/",
162
            $c._M_end_of_storage._M_data - $c._M_start,
163
            "](",
164
            #array
165
            (
166
                expr :  ($c._M_start)[$i],
167
                size :  $c._M_finish - $c._M_start
168
            ),
169
            ")"
170
        )
171
    )
172
    children
173
    (
174
        #(
175
            [raw view]: [$c,!],
176
            size : $c._M_finish - $c._M_start,
177
            capacity : $c._M_end_of_storage._M_data - $c._M_start,
178
            #array
179
            (
180
                expr :  ($c._M_start)[$i],
181
                size :  $c._M_finish - $c._M_start
182
            )
183
        )
184
    )
185
}
186
187
stlpd_std::vector<*>|stlpdx_std::vector<*>|stlpdmtx_std::vector<*>|stlpdxmtx_std::vector<*>{
188
    preview
189
    (
190
		$c._M_non_dbg_impl
191
    )
192
    children
193
    (
194
        #(
195
            [raw view] : [$c,!],
196
            vector : $c._M_non_dbg_impl
197
         )
198
    )
199
}
200
201
;------------------------------------------------------------------------------
202
; stlport::deque
203
;------------------------------------------------------------------------------
204
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<*,*>{
205
    preview
206
    (
207
		#if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
208
		(
209
			#(
210
				"[",
211
				(($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),
212
				"/",
213
				($c._M_finish._M_node - $c._M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1)) - 1,
214
				"](",
215
				#array
216
				(
217
					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)))),
218
					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)
219
				),
220
				")"
221
			)
222
		)
223
		#else
224
		(
225
			#(
226
				"[",
227
				$c._M_finish._M_node - $c._M_start._M_node,
228
				"/",
229
				$c._M_finish._M_node - $c._M_start._M_node,
230
				"](",
231
				#array
232
				(
233
					expr : **($c._M_start._M_node + $i),
234
					size : $c._M_finish._M_node - $c._M_start._M_node
235
				),
236
				")"
237
			)
238
		)
239
    )
240
    children
241
    (
242
		#if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
243
		(
244
			#(
245
				[raw view]: [$c,!],
246
				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),
247
				capacity : ($c._M_finish._M_node - $c._M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1)) - 1,
248
				front free space : $c._M_start._M_cur - $c._M_start._M_first,
249
				back free space : $c._M_finish._M_last - $c._M_finish._M_cur - 1,
250
				#array
251
				(
252
					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)))),
253
					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)
254
				)
255
			)
256
		)
257
		#else
258
		(
259
			#(
260
				[raw view] : [$c,!],
261
				size : $c._M_finish._M_node - $c._M_start._M_node,
262
				capacity : $c._M_finish._M_node - $c._M_start._M_node,
263
				front free space : $c._M_start._M_cur - $c._M_start._M_first,
264
				back free space : $c._M_finish._M_last - $c._M_finish._M_cur - 1,
265
				#array
266
				(
267
					expr : **($c._M_start._M_node + $i),
268
					size : $c._M_finish._M_node - $c._M_start._M_node
269
				)
270
			)
271
		)
272
    )
273
}
274
275
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<*>{
276
	preview
277
	(
278
		*($c._M_cur)
279
	)
280
    children
281
    (
282
        #(
283
            [raw view] : [$c, !],
284
            ptr : [(unsigned int)($c._M_cur), x],
285
            value : *($c._M_cur)
286
        )
287
    )
288
}
289
290
stlpd_std::deque<*>|stlpdx_std::deque<*>|stlpdmtx_std::deque<*>|stlpdxmtx_std::deque<*>{
291
    preview
292
    (
293
		$c._M_non_dbg_impl
294
	)
295
    children
296
    (
297
        #(
298
            [raw view] : [$c,!],
299
            deque : $c._M_non_dbg_impl
300
        )
301
    )
302
}
303
304
;------------------------------------------------------------------------------
305
; stlport::list
306
;------------------------------------------------------------------------------
307
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<*,*>{
308
    preview
309
    (
310
		#(
311
			"(",
312
			#list
313
			(
314
				head : $c._M_node._M_data._M_next,
315
				skip : &($c._M_node._M_data),
316
				next : _M_next,
317
			): #( *($T1*)(&($e) + 1)),
318
			")"
319
		)
320
    )
321
    children
322
    (
323
        #(
324
            [raw view]: [$c,!],
325
            #list
326
            (
327
                head : $c._M_node._M_data._M_next,
328
				skip : &($c._M_node._M_data),
329
                next : _M_next,
330
            ): #( *($T1*)(&($e) + 1))
331
        )
332
    )
333
}
334
335
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<*,*>{
336
    preview
337
    (
338
        #(*($T1 *)($c._M_node + 1))
339
    )
340
    children
341
    (
342
        #(
343
            [raw view] : [$c, !],
344
            ptr : [(unsigned int)($c._M_node + 1), x],
345
            value : *($T1 *)($c._M_node + 1)
346
        )
347
    )
348
}
349
350
stlpd_std::list<*,*>|stlpdx_std::list<*,*>|stlpdmtx_std::list<*,*>|stlpdxmtx_std::list<*,*>{
351
    preview
352
    (
353
		$c._M_non_dbg_impl
354
    )
355
    children
356
    (
357
        #(
358
            [raw view] : [$c,!],
359
            list : $c._M_non_dbg_impl
360
        )
361
    )
362
}
363
364
;------------------------------------------------------------------------------
365
; stlport::slist
366
;------------------------------------------------------------------------------
367
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<*,*>{
368
    preview
369
    (
370
		#(
371
			"(",
372
			#list
373
			(
374
				head : $c._M_head._M_data._M_next,
375
				skip : &($c._M_head._M_data),
376
				next : _M_next,
377
			): #( *($T1*)(&($e) + 1)),
378
			")"
379
		)
380
    )
381
    children
382
    (
383
        #(
384
            [raw view]: [$c,!],
385
            #list
386
            (
387
                head : $c._M_head._M_data._M_next,
388
				skip : &($c._M_head._M_data),
389
                next : _M_next,
390
            ): #( *($T1*)(&($e) + 1))
391
        )
392
    )
393
}
394
395
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<*,*>{
396
    preview
397
    (
398
        #(*($T1 *)($c._M_node + 1))
399
    )
400
    children
401
    (
402
        #(
403
            [raw view] : [$c,!],
404
            ptr : [(unsigned int)($c._M_node + 1), x],
405
            value : *($T1 *)($c._M_node + 1)
406
        )
407
    )
408
}
409
410
stlpd_std::slist<*,*>|stlpdx_std::slist<*,*>|stlpdmtx_std::slist<*,*>|stlpdxmtx_std::slist<*,*>{
411
    preview
412
    (
413
		$c._M_non_dbg_impl
414
    )
415
    children
416
    (
417
        #(
418
            [raw view] : [$c,!],
419
            [slist] : $c._M_non_dbg_impl
420
        )
421
    )
422
}
423
424
;------------------------------------------------------------------------------
425
; stlport::pair
426
;------------------------------------------------------------------------------
427
stlp_std::pair<*,*>|stlpx_std::pair<*,*>|stlpmtx_std::pair<*,*>|stlpxmtx_std::pair<*,*>|stlpd_std::pair<*,*>|stlpdx_std::pair<*,*>|stlpdmtx_std::pair<*,*>|stlpdxmtx_std::pair<*,*>{
428
    preview
429
    (
430
        #(
431
            "(",
432
            $c.first,
433
            ", ",
434
            $c.second,
435
            ")"
436
        )
437
    )
438
}
439
440
;------------------------------------------------------------------------------
441
; stlport::map, stlport::multimap, stlport::set, stlport::multiset
442
;------------------------------------------------------------------------------
443
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<*>{
444
    preview
445
    (
446
		#(
447
			"[",
448
			$c._M_t._M_node_count,
449
			"](",
450
			$c._M_t,
451
			")"
452
		)
453
    )
454
    children
455
    (
456
        #(
457
            [raw view]: [$c,!],
458
            size: [$c._M_t._M_node_count],
459
            tree: $c._M_t
460
        )
461
    )
462
}
463
464
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<*>{
465
    preview
466
    (
467
		#(
468
			"[",
469
			$c._M_t._M_non_dbg_impl._M_node_count,
470
			"](",
471
			$c._M_t._M_non_dbg_impl,
472
			")"
473
		)
474
    )
475
    children
476
    (
477
        #(
478
            [raw view]: [$c,!],
479
            size: $c._M_t._M_non_dbg_impl._M_node_count,
480
            tree: $c._M_t._M_non_dbg_impl
481
        )
482
    )
483
}
484
485
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<*,*,*,*,*>{
486
    preview
487
    (
488
		#tree
489
		(
490
			head : $c._M_header._M_data._M_parent,
491
			skip : &($c._M_header._M_data),
492
			size : $c._M_node_count,
493
			left : _M_left,
494
			right : _M_right
495
		): #(*($T3 *)(&($e) + 1))
496
    )
497
    children
498
    (
499
        #(
500
            [raw view]: [$c,!],
501
            #tree
502
            (
503
                head : $c._M_header._M_data._M_parent,
504
				skip : &($c._M_header._M_data),
505
				size : $c._M_node_count,
506
                left : _M_left,
507
                right : _M_right
508
            ) : #(*($T3 *)(&($e) + 1))
509
        )
510
    )
511
}
512
513
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<*,*>{
514
    preview
515
    (
516
        [*($T1*)($c._M_node + 1)]
517
    )
518
    children
519
    (
520
        #(
521
            [raw view]: [$c,!],
522
            value: [*($T1*)($c._M_node + 1)],
523
            ptr: [(unsigned int)($c._M_node + 1), x]
524
        )
525
    )
526
}
527
528
;------------------------------------------------------------------------------
529
; stlport::hash_map, stlport::hash_multimap, stlport::hash_set, stlport::hash_multiset
530
; stlport::unordered_map, stlport::unordered_multimap, stlport::unordered_set, stlport::unordered_multiset
531
;------------------------------------------------------------------------------
532
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<*>{
533
    preview
534
    (
535
		#(
536
			"[",
537
			$c._M_ht._M_num_elements,
538
			"]",
539
			$c._M_ht
540
		)
541
    )
542
    children
543
    (
544
        #(
545
            [raw view]: [$c,!],
546
            hashtable: $c._M_ht
547
        )
548
    )
549
}
550
551
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<*>{
552
    preview
553
    (
554
		#(
555
			"[",
556
			$c._M_ht._M_non_dbg_impl._M_num_elements,
557
			"]",
558
			$c._M_ht._M_non_dbg_impl
559
		)
560
    )
561
    children
562
    (
563
        #(
564
            [raw view]: [$c,!],
565
            hashtable: $c._M_ht._M_non_dbg_impl
566
        )
567
    )
568
}
569
570
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<*,*>{
571
    preview
572
    (
573
		$c._M_elems
574
    )
575
    children
576
    (
577
        #(
578
            [raw view]: [$c,!],
579
            size : $c._M_num_elements,
580
            load factor : (float)$c._M_num_elements / ($c._M_buckets._M_finish - $c._M_buckets._M_start),
581
            max load factor: $c._M_max_load_factor,
582
            buckets : $c._M_buckets,
583
            elements : $c._M_elems
584
        )
585
    )
586
}
587
588
;------------------------------------------------------------------------------
589
; stlport::queue, stlport::priority_queue, stlport::stack
590
;------------------------------------------------------------------------------
591
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<*>{
592
	preview
593
	(
594
		$c.c
595
	)
596
	children
597
	(
598
		#(
599
			[raw view] : [$c,!],
600
			container : $c.c
601
		)
602
	)
603
}
604
605
;------------------------------------------------------------------------------
606
; stlport debug iterator
607
;------------------------------------------------------------------------------
608
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<*>{
609
	preview
610
	(
611
		#if($c._M_owner != 0)
612
		(
613
			$c._M_iterator
614
		)
615
		#else
616
		(
617
			"undefined"
618
		)
619
	)
620
	children
621
	(
622
		#(
623
			#if($c._M_owner != 0)
624
			(
625
				#(
626
					[raw view] : [$c,!],
627
					[iterator] : $c._M_iterator,
628
					[valid] : [true]
629
				)
630
			)
631
			#else
632
			(
633
				#(
634
					[raw view] : [$c,!],
635
					[valid] : [false]
636
				)
637
			)
638
		)
639
	)
640
}
641
642
;------------------------------------------------------------------------------
643
; stlport::bitset
644
; TODO: Fix it, it doesn't work as expected even when adding an enum to the bitset
645
; class to get access to the bitset static size rather than using $T1.
646
;------------------------------------------------------------------------------
647
stdp_std::bitset<*,*>|stdpx_std::bitset<*,*>|stdpmtx_std::bitset<*,*>|stdpxmtx_std::bitset<*,*>|stdpd_std::bitset<*>|stdpdx_std::bitset<*>|stdpdmtx_std::bitset<*>|stdpdxmtx_std::bitset<*>{
648
	preview
649
	(
650
		#(
651
		"[",
652
			$T1,
653
		"](",
654
		#array
655
		(
656
			expr : ($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
657
			size : $T1
658
		) : [($e & 1),d],
659
		")"
660
		)
661
	)
662
	children
663
	(
664
		#array
665
		(
666
			expr : 	($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
667
			size : 	$T1
668
		) : (bool)($e & 1)
669
	)
670
}
671
672
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<*>{
673
    preview
674
    (
675
		#(
676
			"bitset[", $c._M_bpos, "] = ",
677
			(bool)(*($c._M_wp) >> $c._M_bpos) & 1)
678
		)
679
    )
680
}
681
682
;------------------------------------------------------------------------------
683
; stlport::auto_ptr
684
;------------------------------------------------------------------------------
685
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<*>{
686
    preview
687
    (
688
        #if(($c._M_p) != 0)
689
        (
690
            [*($T1 *)$c._M_p]
691
        )
692
        #else
693
        (
694
            "null"
695
        )
696
    )
697
    children
698
    (
699
        #if(($c._M_p) != 0)
700
        (
701
            #(
702
                [raw view]: [$c,!],
703
                ptr: [(unsigned int)$c._M_p, x],
704
                value: [*($T1 *)$c._M_p]
705
            )
706
        )
707
        #else
708
        (
709
            #(
710
                [raw view]: [$c,!]
711
            )
712
        )
713
    )
714
}
715
716
;------------------------------------------------------------------------------
717
;  stlport::complex
718
;------------------------------------------------------------------------------
719
stlp_std::complex<*>|stlpx_std::complex<*>|stlpmtx_std::complex<*>|stlpxmtx_std::complex<*>|stlpd_std::complex<*>|stlpdx_std::complex<*>|stlpdmtx_std::complex<*>|stlpdxmtx_std::complex<*>{
720
	children
721
	(
722
		#(
723
			real: $e._M_re,
724
			imaginary: $e._M_im
725
		)
726
	)
727
	preview
728
	(
729
		#if($e._M_im != 0)
730
		(
731
			#if ($e._M_re != 0)
732
			(									; Real and Imaginary components
733
				#if ($e._M_im >= 0)
734
				(
735
					#($e._M_re,"+i*", $e._M_im)
736
				)
737
				#else
738
				(
739
					#($e._M_re,"-i*", -$e._M_im)
740
				)
741
			)
742
			#else
743
			(									; Purely imaginary
744
				#if ($e._M_im >= 0.0)
745
				(
746
					#("i*", $e._M_im)
747
				)
748
				#else
749
				(
750
					#("-i*", -$e._M_im)
751
				)
752
			)
753
		)
754
		#else
755
		(										; Purely real
756
			$e._M_re
757
		)
758
	)
759
}
760
761
;------------------------------------------------------------------------------
762
;  stlport::valarray
763
;------------------------------------------------------------------------------
764
765
stlp_std::valarray<*>|stlpx_std::valarray<*>|stlpmtx_std::valarray<*>|stlpxmtx_std::valarray<*>|stlpd_std::valarray<*>|stlpdx_std::valarray<*>|stlpdmtx_std::valarray<*>|stlpdxmtx_std::valarray<*>{
766
    preview
767
    (
768
		#(
769
			"[",
770
            $c._M_size ,
771
            "](",
772
            #array
773
            (
774
				expr : 	($c._M_first)[$i],
775
				size : 	$c._M_size
776
			),
777
			")"
778
		)
779
	)
780
781
	children
782
	(
783
		#array
784
		(
785
			expr :	($c._M_first)[$i],
786
			size :	$c._M_size
787
		)
788
	)
789
}
790
791
stlp_std::slice|stlpx_std::slice|stlpmtx_std::slice|stlpxmtx_std::slice|stlpd_std::slice|stlpdx_std::slice|stlpdmtx_std::slice|stlpdxmtx_std::slice{
792
	preview
793
	(
794
		#(
795
			"start = ",
796
			$c._M_start,
797
			", size = ",
798
			$c._M_length,
799
			", stride = ",
800
			$c._M_stride
801
		)
802
	)
803
	children
804
	(
805
		#(
806
			[raw view] : [$c,!],
807
			start : $c._M_start,
808
			size : $c._M_length,
809
			stride : $c._M_stride
810
		)
811
	)
812
}
813
814
stlp_std::gslice|stlpx_std::gslice|stlpmtx_std::gslice|stlpxmtx_std::gslice|stlpd_std::gslice|stlpdx_std::gslice|stlpdmtx_std::gslice|stlpdxmtx_std::gslice{
815
	preview
816
	(
817
		#(
818
			"start = ",
819
			$c._M_start,
820
			", sizes = ",
821
			$c._M_lengths,
822
			", strides = ",
823
			$c._M_strides
824
		)
825
	)
826
	children
827
	(
828
		#(
829
			[raw view] : [$c,!],
830
			start : $c._M_start,
831
			sizes : $c._M_lengths,
832
			strides : $c._M_strides
833
		)
834
	)
835
}