`
isiqi
  • 浏览: 16491886 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

stlport调试watch查看容器里面的值

阅读更多

若使用vs2008,则在C:\Program Files\Microsoft Visual Studio 9\Common7\Packages\Debugger\autoexp.dat中的

;---------------------------

;PROPVARIANT

;------------------------------

上添加以下内容

;------------------------------------------------------------------------------
; This is the description of STLport data structures in Visual Studio debugger
; language. Those descriptions has been tested with Visual C++ 2005 Express
; Edition, you are welcome to report successful usage with any other Visual
; Studio version.
; Those descriptions has been tested with STLport 5.2.0.
; How to use: Copy/Paste this file content in the autoexp.dat file you will find
; in your Visual Studio install, for instance
; C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger, in the
; [Visualizer] section.
; TODO: Enhance debug iterator visualization to report end iterators.
; TODO: Add visualization for rope.
; TODO: Fix bitset visualization.
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
; stlport::basic_string
;------------------------------------------------------------------------------
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,*>{
preview
(
[$c._M_start_of_storage._M_data, s]
)

stringview
(
[$c._M_start_of_storage._M_data, s]
)

children
(
#(
[raw view]: [$c,!],
buffer: [(unsigned int)$c._M_start_of_storage._M_data, x],
length: $c._M_finish - $c._M_start_of_storage._M_data,
capacity: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
(
$c._DEFAULT_SIZE
)
#else
(
$c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
),
#array
(
expr: $c._M_start_of_storage._M_data[$i],
size: $c._M_finish - $c._M_start_of_storage._M_data
)
)
)
}

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,*>{
preview
(
[$c._M_start_of_storage._M_data, su]
)

stringview
(
[$c._M_start_of_storage._M_data, su]
)

children
(
#(
[raw view]: [$c,!],
buffer: [(unsigned int)$c._M_start_of_storage._M_data, x],
length: $c._M_finish - $c._M_start_of_storage._M_data,
capacity: #if($c._M_start_of_storage._M_data == $c._M_buffers._M_static_buf)
(
$c._DEFAULT_SIZE
)
#else
(
$c._M_buffers._M_end_of_storage - $c._M_start_of_storage._M_data
),
#array
(
expr: $c._M_start_of_storage._M_data[$i],
size: $c._M_finish - $c._M_start_of_storage._M_data
)
)
)
}

stlpd_std::basic_string<*>|stlpdx_std::basic_string<*>|stlpdmtx_std::basic_string<*>|stlpdxmtx_std::basic_string<*>{
preview
(
$c._M_non_dbg_impl
)

stringview
(
$c._M_non_dbg_impl
)

children
(
#(
[raw view]: [$c,!],
string: $c._M_non_dbg_impl
)
)
}

;------------------------------------------------------------------------------
; stlport::vector
;------------------------------------------------------------------------------
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,*>{
preview
(
#(
"[",
($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset,
"](",
#array
(
expr : ($c._M_start._M_p[$i / (sizeof(unsigned int) * 8)] >> ($i % (sizeof(unsigned int) * 8))),
size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset)
) : (bool)($e & 1),
")"
)
)
children
(
#(
[raw view]: [$c,!],
buffer : [(unsigned int)$c._M_start._M_p, x],
size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset),
#array
(
expr : ($c._M_start._M_p[$i / (sizeof(unsigned int) * 8)] >> ($i % (sizeof(unsigned int) * 8))),
size : (($c._M_finish._M_p - $c._M_start._M_p) * sizeof(unsigned int) * 8 + $c._M_finish._M_offset)
) : (bool)($e & 1)
)
)
}

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<*>{
preview
(
#(
(bool) (((*$c._M_p) >> $c._M_offset) & 1)
)
)
children
(
#(
[raw view]: [$c,!],
value : (bool) (((*$c._M_p) >> $c._M_offset) & 1)
)
)
}

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<*>{
preview
(
#(
"[",
$c._M_finish - $c._M_start,
"/",
$c._M_end_of_storage._M_data - $c._M_start,
"](",
#array
(
expr : ($c._M_start)[$i],
size : $c._M_finish - $c._M_start
),
")"
)
)
children
(
#(
[raw view]: [$c,!],
size : $c._M_finish - $c._M_start,
capacity : $c._M_end_of_storage._M_data - $c._M_start,
#array
(
expr : ($c._M_start)[$i],
size : $c._M_finish - $c._M_start
)
)
)
}

stlpd_std::vector<*>|stlpdx_std::vector<*>|stlpdmtx_std::vector<*>|stlpdxmtx_std::vector<*>{
preview
(
$c._M_non_dbg_impl
)
children
(
#(
[raw view] : [$c,!],
vector : $c._M_non_dbg_impl
)
)
}

;------------------------------------------------------------------------------
; stlport::deque
;------------------------------------------------------------------------------
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<*,*>{
preview
(
#if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
(
#(
"[",
(($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),
"/",
($c._M_finish._M_node - $c._M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1)) - 1,
"](",
#array
(
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)))),
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)
),
")"
)
)
#else
(
#(
"[",
$c._M_finish._M_node - $c._M_start._M_node,
"/",
$c._M_finish._M_node - $c._M_start._M_node,
"](",
#array
(
expr : **($c._M_start._M_node + $i),
size : $c._M_finish._M_node - $c._M_start._M_node
),
")"
)
)
)
children
(
#if (((unsigned int)($c._M_start._M_cur + 1) - ((unsigned int)$c._M_start._M_cur)) < _MAX_BYTES)
(
#(
[raw view]: [$c,!],
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),
capacity : ($c._M_finish._M_node - $c._M_start._M_node + 1) * (_MAX_BYTES / sizeof($T1)) - 1,
front free space : $c._M_start._M_cur - $c._M_start._M_first,
back free space : $c._M_finish._M_last - $c._M_finish._M_cur - 1,
#array
(
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)))),
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)
)
)
)
#else
(
#(
[raw view] : [$c,!],
size : $c._M_finish._M_node - $c._M_start._M_node,
capacity : $c._M_finish._M_node - $c._M_start._M_node,
front free space : $c._M_start._M_cur - $c._M_start._M_first,
back free space : $c._M_finish._M_last - $c._M_finish._M_cur - 1,
#array
(
expr : **($c._M_start._M_node + $i),
size : $c._M_finish._M_node - $c._M_start._M_node
)
)
)
)
}

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<*>{
preview
(
*($c._M_cur)
)
children
(
#(
[raw view] : [$c, !],
ptr : [(unsigned int)($c._M_cur), x],
value : *($c._M_cur)
)
)
}

stlpd_std::deque<*>|stlpdx_std::deque<*>|stlpdmtx_std::deque<*>|stlpdxmtx_std::deque<*>{
preview
(
$c._M_non_dbg_impl
)
children
(
#(
[raw view] : [$c,!],
deque : $c._M_non_dbg_impl
)
)
}

;------------------------------------------------------------------------------
; stlport::list
;------------------------------------------------------------------------------
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<*,*>{
preview
(
#(
"(",
#list
(
head : $c._M_node._M_data._M_next,
skip : &($c._M_node._M_data),
next : _M_next,
): #( *($T1*)(&($e) + 1)),
")"
)
)
children
(
#(
[raw view]: [$c,!],
#list
(
head : $c._M_node._M_data._M_next,
skip : &($c._M_node._M_data),
next : _M_next,
): #( *($T1*)(&($e) + 1))
)
)
}

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<*,*>{
preview
(
#(*($T1 *)($c._M_node + 1))
)
children
(
#(
[raw view] : [$c, !],
ptr : [(unsigned int)($c._M_node + 1), x],
value : *($T1 *)($c._M_node + 1)
)
)
}

stlpd_std::list<*,*>|stlpdx_std::list<*,*>|stlpdmtx_std::list<*,*>|stlpdxmtx_std::list<*,*>{
preview
(
$c._M_non_dbg_impl
)
children
(
#(
[raw view] : [$c,!],
list : $c._M_non_dbg_impl
)
)
}

;------------------------------------------------------------------------------
; stlport::slist
;------------------------------------------------------------------------------
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<*,*>{
preview
(
#(
"(",
#list
(
head : $c._M_head._M_data._M_next,
skip : &($c._M_head._M_data),
next : _M_next,
): #( *($T1*)(&($e) + 1)),
")"
)
)
children
(
#(
[raw view]: [$c,!],
#list
(
head : $c._M_head._M_data._M_next,
skip : &($c._M_head._M_data),
next : _M_next,
): #( *($T1*)(&($e) + 1))
)
)
}

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<*,*>{
preview
(
#(*($T1 *)($c._M_node + 1))
)
children
(
#(
[raw view] : [$c,!],
ptr : [(unsigned int)($c._M_node + 1), x],
value : *($T1 *)($c._M_node + 1)
)
)
}

stlpd_std::slist<*,*>|stlpdx_std::slist<*,*>|stlpdmtx_std::slist<*,*>|stlpdxmtx_std::slist<*,*>{
preview
(
$c._M_non_dbg_impl
)
children
(
#(
[raw view] : [$c,!],
[slist] : $c._M_non_dbg_impl
)
)
}

;------------------------------------------------------------------------------
; stlport::pair
;------------------------------------------------------------------------------
;stlp_std::pair<*,*>|stlpx_std::pair<*,*>|stlpmtx_std::pair<*,*>|stlpxmtx_std::pair<*,*>|stlpd_std::pair<*,*>|stlpdx_std::pair<*,*>|stlpdmtx_std::pair<*,*>|stlpdxmtx_std::pair<*,*>{
; preview
; (
; #(
; "(",
; $c.first,
; ", ",
; $c.second,
; ")"
; )
; )
;}

;------------------------------------------------------------------------------
; stlport::map, stlport::multimap, stlport::set, stlport::multiset
;------------------------------------------------------------------------------
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<*>{
preview
(
#(
"[",
$c._M_t._M_node_count,
"](",
$c._M_t,
")"
)
)
children
(
#(
[raw view]: [$c,!],
size: [$c._M_t._M_node_count],
tree: $c._M_t
)
)
}

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<*>{
preview
(
#(
"[",
$c._M_t._M_non_dbg_impl._M_node_count,
"](",
$c._M_t._M_non_dbg_impl,
")"
)
)
children
(
#(
[raw view]: [$c,!],
size: $c._M_t._M_non_dbg_impl._M_node_count,
tree: $c._M_t._M_non_dbg_impl
)
)
}

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<*,*,*,*,*>{
preview
(
#tree
(
head : $c._M_header._M_data._M_parent,
skip : &($c._M_header._M_data),
size : $c._M_node_count,
left : _M_left,
right : _M_right
): #(*($T3 *)(&($e) + 1))
)
children
(
#(
[raw view]: [$c,!],
#tree
(
head : $c._M_header._M_data._M_parent,
skip : &($c._M_header._M_data),
size : $c._M_node_count,
left : _M_left,
right : _M_right
) : #(*($T3 *)(&($e) + 1))
)
)
}

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<*,*>{
preview
(
[*($T1*)($c._M_node + 1)]
)
children
(
#(
[raw view]: [$c,!],
value: [*($T1*)($c._M_node + 1)],
ptr: [(unsigned int)($c._M_node + 1), x]
)
)
}

;------------------------------------------------------------------------------
; stlport::hash_map, stlport::hash_multimap, stlport::hash_set, stlport::hash_multiset
; stlport::unordered_map, stlport::unordered_multimap, stlport::unordered_set, stlport::unordered_multiset
;------------------------------------------------------------------------------
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<*>{
preview
(
#(
"[",
$c._M_ht._M_num_elements,
"]",
$c._M_ht
)
)
children
(
#(
[raw view]: [$c,!],
hashtable: $c._M_ht
)
)
}

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<*>{
preview
(
#(
"[",
$c._M_ht._M_non_dbg_impl._M_num_elements,
"]",
$c._M_ht._M_non_dbg_impl
)
)
children
(
#(
[raw view]: [$c,!],
hashtable: $c._M_ht._M_non_dbg_impl
)
)
}

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<*,*>{
preview
(
$c._M_elems
)
children
(
#(
[raw view]: [$c,!],
size : $c._M_num_elements,
load factor : (float)$c._M_num_elements / ($c._M_buckets._M_finish - $c._M_buckets._M_start),
max load factor: $c._M_max_load_factor,
buckets : $c._M_buckets,
elements : $c._M_elems
)
)
}

;------------------------------------------------------------------------------
; stlport::queue, stlport::priority_queue, stlport::stack
;------------------------------------------------------------------------------
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<*>{
preview
(
$c.c
)
children
(
#(
[raw view] : [$c,!],
container : $c.c
)
)
}

;------------------------------------------------------------------------------
; stlport debug iterator
;------------------------------------------------------------------------------
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<*>{
preview
(
#if($c._M_owner != 0)
(
$c._M_iterator
)
#else
(
"undefined"
)
)
children
(
#(
#if($c._M_owner != 0)
(
#(
[raw view] : [$c,!],
[iterator] : $c._M_iterator,
[valid] : [true]
)
)
#else
(
#(
[raw view] : [$c,!],
[valid] : [false]
)
)
)
)
}

;------------------------------------------------------------------------------
; stlport::bitset
; TODO: Fix it, it doesn't work as expected even when adding an enum to the bitset
; class to get access to the bitset static size rather than using $T1.
;------------------------------------------------------------------------------
stdp_std::bitset<*,*>|stdpx_std::bitset<*,*>|stdpmtx_std::bitset<*,*>|stdpxmtx_std::bitset<*,*>|stdpd_std::bitset<*>|stdpdx_std::bitset<*>|stdpdmtx_std::bitset<*>|stdpdxmtx_std::bitset<*>{
preview
(
#(
"[",
$T1,
"](",
#array
(
expr : ($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
size : $T1
) : [($e & 1),d],
")"
)
)
children
(
#array
(
expr : ($c._M_w[$i / (sizeof(unsigned long) * 8)] >> ($i % (sizeof(unsigned long) * 8))),
size : $T1
) : (bool)($e & 1)
)
}

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<*>{
preview
(
#(
"bitset[", $c._M_bpos, "] = ",
(bool)(*($c._M_wp) >> $c._M_bpos) & 1)
)
)
}

;------------------------------------------------------------------------------
; stlport::auto_ptr
;------------------------------------------------------------------------------
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<*>{
preview
(
#if(($c._M_p) != 0)
(
[*($T1 *)$c._M_p]
)
#else
(
"null"
)
)
children
(
#if(($c._M_p) != 0)
(
#(
[raw view]: [$c,!],
ptr: [(unsigned int)$c._M_p, x],
value: [*($T1 *)$c._M_p]
)
)
#else
(
#(
[raw view]: [$c,!]
)
)
)
}

;------------------------------------------------------------------------------
; stlport::complex
;------------------------------------------------------------------------------
stlp_std::complex<*>|stlpx_std::complex<*>|stlpmtx_std::complex<*>|stlpxmtx_std::complex<*>|stlpd_std::complex<*>|stlpdx_std::complex<*>|stlpdmtx_std::complex<*>|stlpdxmtx_std::complex<*>{
children
(
#(
real: $e._M_re,
imaginary: $e._M_im
)
)
preview
(
#if($e._M_im != 0)
(
#if ($e._M_re != 0)
( ; Real and Imaginary components
#if ($e._M_im >= 0)
(
#($e._M_re,"+i*", $e._M_im)
)
#else
(
#($e._M_re,"-i*", -$e._M_im)
)
)
#else
( ; Purely imaginary
#if ($e._M_im >= 0.0)
(
#("i*", $e._M_im)
)
#else
(
#("-i*", -$e._M_im)
)
)
)
#else
( ; Purely real
$e._M_re
)
)
}

;------------------------------------------------------------------------------
; stlport::valarray
;------------------------------------------------------------------------------

stlp_std::valarray<*>|stlpx_std::valarray<*>|stlpmtx_std::valarray<*>|stlpxmtx_std::valarray<*>|stlpd_std::valarray<*>|stlpdx_std::valarray<*>|stlpdmtx_std::valarray<*>|stlpdxmtx_std::valarray<*>{
preview
(
#(
"[",
$c._M_size ,
"](",
#array
(
expr : ($c._M_first)[$i],
size : $c._M_size
),
")"
)
)

children
(
#array
(
expr : ($c._M_first)[$i],
size : $c._M_size
)
)
}

stlp_std::slice|stlpx_std::slice|stlpmtx_std::slice|stlpxmtx_std::slice|stlpd_std::slice|stlpdx_std::slice|stlpdmtx_std::slice|stlpdxmtx_std::slice{
preview
(
#(
"start = ",
$c._M_start,
", size = ",
$c._M_length,
", stride = ",
$c._M_stride
)
)
children
(
#(
[raw view] : [$c,!],
start : $c._M_start,
size : $c._M_length,
stride : $c._M_stride
)
)
}

stlp_std::gslice|stlpx_std::gslice|stlpmtx_std::gslice|stlpxmtx_std::gslice|stlpd_std::gslice|stlpdx_std::gslice|stlpdmtx_std::gslice|stlpdxmtx_std::gslice{
preview
(
#(
"start = ",
$c._M_start,
", sizes = ",
$c._M_lengths,
", strides = ",
$c._M_strides
)
)
children
(
#(
[raw view] : [$c,!],
start : $c._M_start,
sizes : $c._M_lengths,
strides : $c._M_strides
)
)
}


分享到:
评论

相关推荐

    STLport-2.033

    4. stldebug.c:这个文件可能包含了STLport的调试支持,例如检查容器的边界、迭代器的有效性等,这对于调试含有STL代码的应用程序非常有用。 5. slist.c:slist是单链表容器,提供了与std::list类似的功能,但通常...

    STLport-5.2.1已编译版

    2. `stlport`文件夹:这个目录包含了STLport的头文件,程序员在编写代码时会包含这些头文件来使用STLport提供的容器(如vector、list、map等)、迭代器、算法和函数对象等。这些头文件遵循了C++标准库的命名和组织...

    stlport 4.6.2 编好的版本

    1. 容器:STLPort提供了多种容器,如vector(动态数组)、list(双向链表)、deque(双端队列)、set(集合)、multiset(多重集合)、map(映射)和multimap(多重映射)。这些容器用于存储和管理数据,每个都有其...

    STLport-4.0 绝版

    3. 性能优化:STLport通常会针对不同平台进行优化,使用它可以期望获得更好的性能,特别是在容器和算法的使用上。 4. 社区支持:虽然STLport-4.0是一个较旧的版本,但当时的社区文档和论坛讨论仍然可以帮助开发者...

    stlport-5.2.1 编译好的dll文件

    当你在项目中链接这个库时,你的程序将能够使用STLPort提供的容器(如vector、list、set等)、算法、迭代器和函数对象等组件。这些组件大大简化了C++编程,提供了面向对象的数据结构和算法,使得代码更易于理解和...

    stlport 5.1.6

    1. **模板库**:STLport提供了包括容器(如vector、list、set)、迭代器、算法、函数对象等在内的标准C++模板类。这些组件是C++编程中不可或缺的部分,用于高效地处理数据结构和算法。 2. **内存管理**:STLport的...

    STLPort的文档.rar_STL_stlport_stlport c

    9. **错误处理和调试**:文档可能包含关于STLPort的错误报告机制以及如何进行调试的信息,这对于开发过程中定位问题十分关键。 "www.pudn.com.txt"可能是一个指向资源下载网站的链接或者说明文本,它可能提供了更多...

    解决vs2015、vs2012用了stlport无法查看容器内容-附件资源

    解决vs2015、vs2012用了stlport无法查看容器内容-附件资源

    STLPort模板库,c++高级编程

    在算法方面,STLPort提供了大量实用的函数,如`sort`用于对容器进行排序,`find`用于查找特定元素,`transform`可以将函数应用到容器的每个元素上,`assign`则可以用来替换容器的所有元素。这些算法都是通用的,可以...

    STLport-5.2.1

    2. **容器**:STLport中的容器是一些可以存储元素的类模板,例如`std::vector`提供了动态数组的功能,`std::list`提供了双向链表,而`std::map`则提供了键值对的关联容器。 3. **迭代器**:迭代器是STL中访问容器...

    stlport 5.2.0

    6. **调试支持**:STLport提供了一套调试模式,可以帮助开发者检测STL的潜在问题,如迭代器不正确使用、内存泄漏等,提高代码质量。 7. **文档与社区**:STLport项目通常会提供详细的文档和用户社区支持,帮助...

    stlport 5.2.1

    STLport是一个开源的STL实现,它提供了一个与标准兼容的C++ Standard Template Library (STL)实现,适用于多种平台和...对于那些在项目中使用STLport的开发者来说,了解其实现细节可以帮助他们更好地调试和优化代码。

    stlport5.2.1

    STLport还提供了一些额外的特性,比如`_STLP_DEBUG`宏,用于启用调试模式,帮助检测常见的STL使用错误。此外,它还支持多线程编程,通过特定的分配器和同步原语确保线程安全。 在实际项目中,STLport 5.2.1可以帮助...

    STLPort for VC6

    STLPort是一个开源的STL(Standard Template Library,标准模板库)实现,它为不同的编译器提供了标准化的C++容器、迭代器和算法。在本案例中,“STLPort for VC6”指的是专为Microsoft Visual C++ 6.0(简称VC6)...

    STLport-4.5.zip_C++标准模板_STLport 4.5_STLport-4.6.2_stlport_stlpor

    STLport是一个开源的C++标准模板库(Standard Template Library, STL)实现,它提供了与标准兼容的容器、迭代器、算法和函数对象等组件。STLport 4.5是该库的一个版本,旨在提高性能、兼容性和跨平台性。在C++编程中...

    stlport vc10

    在实际应用中,开发者可能会将这些库文件添加到他们的项目设置中,以便使用STLPort提供的容器(如vector、list、set等)、迭代器、算法和函数对象。 使用STLPort时,开发者需要注意以下几点: 1. 配置:在VS2010的...

    STLport-5.2.1及安装方法

    在STLport中,你可以找到容器(如vector、list、set等)、迭代器、算法和函数对象等STL的核心组件。 **安装STLport-5.2.1** 1. **VC6.0**:对于Visual C++ 6.0,STLport的集成通常涉及到替换编译器自带的STL实现。...

    Stlport-5.1.3

    4. **调试支持**:STLport提供了调试模式,可以方便地追踪STL容器中的元素,帮助开发者在调试阶段发现问题。 5. **内存管理**:STLport采用了一种名为“智能指针”的技术,通过自动管理对象的生命周期,减少了内存...

    STLPort标准库

    STLPort支持线程安全的容器和算法,这意味着在多线程环境中,不同线程可以同时访问和操作STLPort的组件,而无需担心数据竞争和其他并发问题。这对于构建大规模、高并发的系统来说,是一个极其重要的特性。 除了基本...

    STLPort源代码

    1. 容器:STLPort提供了如vector、list、deque、set、map等基本容器。这些容器都遵循C++标准,允许程序员存储和管理不同类型的数据,并提供了丰富的操作接口,如插入、删除、查找等。 2. 迭代器:迭代器是STL中的...

Global site tag (gtag.js) - Google Analytics