xref: /reactos/sdk/lib/3rdparty/stlport/etc/autoexp.dat (revision 80774a2f)
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.
6; Those descriptions has been tested with STLport 5.2.0.
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;------------------------------------------------------------------------------
18stlp_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    (
21        [$c._M_start_of_storage._M_data, s]
22    )
23
24    stringview
25    (
26        [$c._M_start_of_storage._M_data, s]
27    )
28
29    children
30    (
31        #(
32            [raw view]: [$c,!],
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)
36                    (
37                        $c._DEFAULT_SIZE
38                    )
39                    #else
40                    (
41                        $c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
42                    ),
43            #array
44            (
45				expr: $c._M_start_of_storage._M_data[$i],
46				size: $c._M_finish - $c._M_start_of_storage._M_data
47			)
48        )
49    )
50}
51
52stlp_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    (
55        [$c._M_start_of_storage._M_data, su]
56    )
57
58    stringview
59    (
60        [$c._M_start_of_storage._M_data, su]
61    )
62
63    children
64    (
65        #(
66            [raw view]: [$c,!],
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)
70                    (
71                        $c._DEFAULT_SIZE
72                    )
73                    #else
74                    (
75                        $c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
76                    ),
77            #array
78            (
79				expr: $c._M_start_of_storage._M_data[$i],
80				size: $c._M_finish - $c._M_start_of_storage._M_data
81			)
82        )
83    )
84}
85
86stlpd_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;------------------------------------------------------------------------------
109stlp_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
139stlp_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
155stlp_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
187stlpd_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;------------------------------------------------------------------------------
204stlp_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
275stlp_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
290stlpd_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;------------------------------------------------------------------------------
307stlp_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
335stlp_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
350stlpd_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;------------------------------------------------------------------------------
367stlp_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
395stlp_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
410stlpd_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;------------------------------------------------------------------------------
427stlp_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;------------------------------------------------------------------------------
443stlp_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
464stlpd_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
485stlp_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
513stlp_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;------------------------------------------------------------------------------
532stlp_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
551stlpd_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
570stlp_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;------------------------------------------------------------------------------
591stlp_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;------------------------------------------------------------------------------
608stlp_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;------------------------------------------------------------------------------
647stdp_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
672stdp_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;------------------------------------------------------------------------------
685stlp_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;------------------------------------------------------------------------------
719stlp_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
765stlp_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
791stlp_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
814stlp_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}