1<?xml version="1.0" encoding="ascii"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 3 "DTD/xhtml1-transitional.dtd"> 4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 5<head> 6 <title>lldb.formatters.cpp.gnu_libstdcpp</title> 7 <link rel="stylesheet" href="epydoc.css" type="text/css" /> 8 <script type="text/javascript" src="epydoc.js"></script> 9</head> 10 11<body bgcolor="white" text="black" link="blue" vlink="#204080" 12 alink="#204080"> 13<!-- ==================== NAVIGATION BAR ==================== --> 14<table class="navbar" border="0" width="100%" cellpadding="0" 15 bgcolor="#a0c0ff" cellspacing="0"> 16 <tr valign="middle"> 17 18 <!-- Tree link --> 19 <th> <a 20 href="module-tree.html">Trees</a> </th> 21 22 <!-- Index link --> 23 <th> <a 24 href="identifier-index.html">Indices</a> </th> 25 26 <!-- Help link --> 27 <th> <a 28 href="help.html">Help</a> </th> 29 30 <!-- Project homepage --> 31 <th class="navbar" align="right" width="100%"> 32 <table border="0" cellpadding="0" cellspacing="0"> 33 <tr><th class="navbar" align="center" 34 ><a class="navbar" target="_top" href="http://lldb.llvm.org">LLDB python API</a></th> 35 </tr></table></th> 36 </tr> 37</table> 38<table width="100%" cellpadding="0" cellspacing="0"> 39 <tr valign="top"> 40 <td width="100%"> 41 <span class="breadcrumbs"> 42 <a href="lldb-module.html">Package lldb</a> :: 43 <a href="lldb.formatters-module.html">Package formatters</a> :: 44 <a href="lldb.formatters.cpp-module.html">Package cpp</a> :: 45 Module gnu_libstdcpp 46 </span> 47 </td> 48 <td> 49 <table cellpadding="0" cellspacing="0"> 50 <!-- hide/show private --> 51 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" 52 onclick="toggle_private();">hide private</a>]</span></td></tr> 53 <tr><td align="right"><span class="options" 54 >[<a href="frames.html" target="_top">frames</a 55 >] | <a href="lldb.formatters.cpp.gnu_libstdcpp-pysrc.html" 56 target="_top">no frames</a>]</span></td></tr> 57 </table> 58 </td> 59 </tr> 60</table> 61<h1 class="epydoc">Source Code for <a href="lldb.formatters.cpp.gnu_libstdcpp-module.html">Module lldb.formatters.cpp.gnu_libstdcpp</a></h1> 62<pre class="py-src"> 63<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt> 64<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package lldb=lldb-module.html"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-0', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Package lldb.formatters=lldb.formatters-module.html"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-1', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module lldb.formatters.Logger=lldb.formatters.Logger-module.html,Class lldb.formatters.Logger.Logger=lldb.formatters.Logger.Logger-class.html"><a title="lldb.formatters.Logger 65lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-2', 'Logger', 'link-2');">Logger</a></tt> </tt> 66<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"> </tt> 67<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"># C++ STL formatters for LLDB</tt> </tt> 68<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"># These formatters are based upon the version of the GNU libstdc++</tt> </tt> 69<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"># as it ships with Mac OS X 10.6.8 thru 10.8.0</tt> </tt> 70<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"># You are encouraged to look at the STL implementation for your platform</tt> </tt> 71<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"># before relying on these formatters to do the right thing for your setup</tt> </tt> 72<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"> </tt> 73<a name="StdListSynthProvider"></a><div id="StdListSynthProvider-def"><a name="L10"></a><tt class="py-lineno"> 10</tt> <a class="py-toggle" href="#" id="StdListSynthProvider-toggle" onclick="return toggle('StdListSynthProvider');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html">StdListSynthProvider</a><tt class="py-op">:</tt> </tt> 74</div><div id="StdListSynthProvider-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="StdListSynthProvider-expanded"><a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> </tt> 75<a name="StdListSynthProvider.__init__"></a><div id="StdListSynthProvider.__init__-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.__init__-toggle" onclick="return toggle('StdListSynthProvider.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">valobj</tt><tt class="py-op">,</tt> <tt class="py-param">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 76</div><div id="StdListSynthProvider.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.__init__-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-3', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-4', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="lldb.formatters.Logger 77lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-5', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="lldb.formatters.Logger 78lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-6', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 79<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt> <tt class="py-op">=</tt> <tt class="py-name">valobj</tt> </tt> 80<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Variable lldb.SBTypeFilter.count=lldb.SBTypeFilter-class.html#count"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-7', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 81<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Providing synthetic children for a map named "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method lldb.SBBroadcaster.GetName()=lldb.SBBroadcaster-class.html#GetName,Method lldb.SBFunction.GetName()=lldb.SBFunction-class.html#GetName,Method lldb.SBSection.GetName()=lldb.SBSection-class.html#GetName,Method lldb.SBSymbol.GetName()=lldb.SBSymbol-class.html#GetName,Method lldb.SBThread.GetName()=lldb.SBThread-class.html#GetName,Method lldb.SBType.GetName()=lldb.SBType-class.html#GetName,Method lldb.SBTypeCategory.GetName()=lldb.SBTypeCategory-class.html#GetName,Method lldb.SBTypeMember.GetName()=lldb.SBTypeMember-class.html#GetName,Method lldb.SBTypeNameSpecifier.GetName()=lldb.SBTypeNameSpecifier-class.html#GetName,Method lldb.SBValue.GetName()=lldb.SBValue-class.html#GetName"><a title="lldb.SBBroadcaster.GetName 82lldb.SBFunction.GetName 83lldb.SBSection.GetName 84lldb.SBSymbol.GetName 85lldb.SBThread.GetName 86lldb.SBType.GetName 87lldb.SBTypeCategory.GetName 88lldb.SBTypeMember.GetName 89lldb.SBTypeNameSpecifier.GetName 90lldb.SBValue.GetName" class="py-name" href="#" onclick="return doclink('link-8', 'GetName', 'link-8');">GetName</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 91</div><a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"> </tt> 92<a name="StdListSynthProvider.next_node"></a><div id="StdListSynthProvider.next_node-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.next_node-toggle" onclick="return toggle('StdListSynthProvider.next_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#next_node">next_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 93</div><div id="StdListSynthProvider.next_node-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.next_node-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-9', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-10', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="lldb.formatters.Logger 94lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-11', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="lldb.formatters.Logger 95lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-12', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 96<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method lldb.SBValue.GetChildMemberWithName()=lldb.SBValue-class.html#GetChildMemberWithName"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-13', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_next'</tt><tt class="py-op">)</tt> </tt> 97</div><a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"> </tt> 98<a name="StdListSynthProvider.is_valid"></a><div id="StdListSynthProvider.is_valid-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.is_valid-toggle" onclick="return toggle('StdListSynthProvider.is_valid');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#is_valid">is_valid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 99</div><div id="StdListSynthProvider.is_valid-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.is_valid-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-14', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-15', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="lldb.formatters.Logger 100lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-16', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="lldb.formatters.Logger 101lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-17', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 102<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Variable lldb.SBError.value=lldb.SBError-class.html#value,Variable lldb.SBValue.value=lldb.SBValue-class.html#value,Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.value()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#value,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.value()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#value,Variable lldb.formatters.cpp.libcxx.stdlist_entry.value=lldb.formatters.cpp.libcxx.stdlist_entry-class.html#value,Method lldb.formatters.cpp.libcxx.stdlist_iterator.value()=lldb.formatters.cpp.libcxx.stdlist_iterator-class.html#value,Method lldb.formatters.cpp.libcxx.stdmap_iterator.value()=lldb.formatters.cpp.libcxx.stdmap_iterator-class.html#value,Variable lldb.formatters.cpp.libcxx.stdmap_iterator_node.value=lldb.formatters.cpp.libcxx.stdmap_iterator_node-class.html#value,Class lldb.value=lldb.value-class.html"><a title="lldb.SBError.value 103lldb.SBValue.value 104lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.value 105lldb.formatters.cpp.libcxx.stdlist_SynthProvider.value 106lldb.formatters.cpp.libcxx.stdlist_entry.value 107lldb.formatters.cpp.libcxx.stdlist_iterator.value 108lldb.formatters.cpp.libcxx.stdmap_iterator.value 109lldb.formatters.cpp.libcxx.stdmap_iterator_node.value 110lldb.value" class="py-name" href="#" onclick="return doclink('link-18', 'value', 'link-18');">value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.next_node()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#next_node,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.next_node()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#next_node"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.next_node 111lldb.formatters.cpp.libcxx.stdlist_SynthProvider.next_node" class="py-name" href="#" onclick="return doclink('link-19', 'next_node', 'link-19');">next_node</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">node_address</tt> </tt> 112</div><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt> 113<a name="StdListSynthProvider.value"></a><div id="StdListSynthProvider.value-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.value-toggle" onclick="return toggle('StdListSynthProvider.value');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#value">value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 114</div><div id="StdListSynthProvider.value-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.value-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-20', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-21', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="lldb.formatters.Logger 115lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-22', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="lldb.formatters.Logger 116lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-23', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 117<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method lldb.SBValue.GetValueAsUnsigned()=lldb.SBValue-class.html#GetValueAsUnsigned"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-24', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 118</div><a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt> 119<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-comment"># Floyd's cyle-finding algorithm</tt> </tt> 120<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-comment"># try to detect if this list has a loop</tt> </tt> 121<a name="StdListSynthProvider.has_loop"></a><div id="StdListSynthProvider.has_loop-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.has_loop-toggle" onclick="return toggle('StdListSynthProvider.has_loop');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#has_loop">has_loop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 122</div><div id="StdListSynthProvider.has_loop-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.has_loop-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-25" class="py-name" targets="Variable lldb.formatters.cpp.gnu_libstdcpp._list_uses_loop_detector=lldb.formatters.cpp.gnu_libstdcpp-module.html#_list_uses_loop_detector,Variable lldb.formatters.cpp.libcxx._list_uses_loop_detector=lldb.formatters.cpp.libcxx-module.html#_list_uses_loop_detector"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_uses_loop_detector 123lldb.formatters.cpp.libcxx._list_uses_loop_detector" class="py-name" href="#" onclick="return doclink('link-25', '_list_uses_loop_detector', 'link-25');">_list_uses_loop_detector</a></tt> </tt> 124<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-26', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-27', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="lldb.formatters.Logger 125lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-28', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="lldb.formatters.Logger 126lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-29', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 127<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-30" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_uses_loop_detector 128lldb.formatters.cpp.libcxx._list_uses_loop_detector" class="py-name" href="#" onclick="return doclink('link-30', '_list_uses_loop_detector', 'link-25');">_list_uses_loop_detector</a></tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt> 129<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Asked not to use loop detection"</tt> </tt> 130<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt> 131<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-name">slow</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Variable lldb.formatters.cpp.libcxx.stdlist_entry.next=lldb.formatters.cpp.libcxx.stdlist_entry-class.html#next,Method lldb.formatters.cpp.libcxx.stdlist_iterator.next()=lldb.formatters.cpp.libcxx.stdlist_iterator-class.html#next,Method lldb.formatters.cpp.libcxx.stdmap_iterator.next()=lldb.formatters.cpp.libcxx.stdmap_iterator-class.html#next,Method lldb.value_iter.next()=lldb.value_iter-class.html#next"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 132lldb.formatters.cpp.libcxx.stdlist_iterator.next 133lldb.formatters.cpp.libcxx.stdmap_iterator.next 134lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-31', 'next', 'link-31');">next</a></tt> </tt> 135<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">fast1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 136lldb.formatters.cpp.libcxx.stdlist_iterator.next 137lldb.formatters.cpp.libcxx.stdmap_iterator.next 138lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-32', 'next', 'link-31');">next</a></tt> </tt> 139<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-name">fast2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 140lldb.formatters.cpp.libcxx.stdlist_iterator.next 141lldb.formatters.cpp.libcxx.stdmap_iterator.next 142lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-33', 'next', 'link-31');">next</a></tt> </tt> 143<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.is_valid()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#is_valid"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.is_valid" class="py-name" href="#" onclick="return doclink('link-34', 'is_valid', 'link-34');">is_valid</a></tt><tt class="py-op">(</tt><tt class="py-name">slow</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 144<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">slow_value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="lldb.SBError.value 145lldb.SBValue.value 146lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.value 147lldb.formatters.cpp.libcxx.stdlist_SynthProvider.value 148lldb.formatters.cpp.libcxx.stdlist_entry.value 149lldb.formatters.cpp.libcxx.stdlist_iterator.value 150lldb.formatters.cpp.libcxx.stdmap_iterator.value 151lldb.formatters.cpp.libcxx.stdmap_iterator_node.value 152lldb.value" class="py-name" href="#" onclick="return doclink('link-35', 'value', 'link-18');">value</a></tt><tt class="py-op">(</tt><tt class="py-name">slow</tt><tt class="py-op">)</tt> </tt> 153<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-name">fast1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.next_node 154lldb.formatters.cpp.libcxx.stdlist_SynthProvider.next_node" class="py-name" href="#" onclick="return doclink('link-36', 'next_node', 'link-19');">next_node</a></tt><tt class="py-op">(</tt><tt class="py-name">fast2</tt><tt class="py-op">)</tt> </tt> 155<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt class="py-name">fast2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.next_node 156lldb.formatters.cpp.libcxx.stdlist_SynthProvider.next_node" class="py-name" href="#" onclick="return doclink('link-37', 'next_node', 'link-19');">next_node</a></tt><tt class="py-op">(</tt><tt class="py-name">fast1</tt><tt class="py-op">)</tt> </tt> 157<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="lldb.SBError.value 158lldb.SBValue.value 159lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.value 160lldb.formatters.cpp.libcxx.stdlist_SynthProvider.value 161lldb.formatters.cpp.libcxx.stdlist_entry.value 162lldb.formatters.cpp.libcxx.stdlist_iterator.value 163lldb.formatters.cpp.libcxx.stdmap_iterator.value 164lldb.formatters.cpp.libcxx.stdmap_iterator_node.value 165lldb.value" class="py-name" href="#" onclick="return doclink('link-38', 'value', 'link-18');">value</a></tt><tt class="py-op">(</tt><tt class="py-name">fast1</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">slow_value</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="lldb.SBError.value 166lldb.SBValue.value 167lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.value 168lldb.formatters.cpp.libcxx.stdlist_SynthProvider.value 169lldb.formatters.cpp.libcxx.stdlist_entry.value 170lldb.formatters.cpp.libcxx.stdlist_iterator.value 171lldb.formatters.cpp.libcxx.stdmap_iterator.value 172lldb.formatters.cpp.libcxx.stdmap_iterator_node.value 173lldb.value" class="py-name" href="#" onclick="return doclink('link-39', 'value', 'link-18');">value</a></tt><tt class="py-op">(</tt><tt class="py-name">fast2</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">slow_value</tt><tt class="py-op">:</tt> </tt> 174<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt> 175<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-name">slow</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.next_node 176lldb.formatters.cpp.libcxx.stdlist_SynthProvider.next_node" class="py-name" href="#" onclick="return doclink('link-40', 'next_node', 'link-19');">next_node</a></tt><tt class="py-op">(</tt><tt class="py-name">slow</tt><tt class="py-op">)</tt> </tt> 177<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt> 178</div><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt> 179<a name="StdListSynthProvider.num_children"></a><div id="StdListSynthProvider.num_children-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.num_children-toggle" onclick="return toggle('StdListSynthProvider.num_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#num_children">num_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 180</div><div id="StdListSynthProvider.num_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.num_children-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-41" class="py-name" targets="Variable lldb.formatters.cpp.gnu_libstdcpp._list_capping_size=lldb.formatters.cpp.gnu_libstdcpp-module.html#_list_capping_size,Variable lldb.formatters.cpp.libcxx._list_capping_size=lldb.formatters.cpp.libcxx-module.html#_list_capping_size"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 181lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-41', '_list_capping_size', 'link-41');">_list_capping_size</a></tt> </tt> 182<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-42', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-43', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="lldb.formatters.Logger 183lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-44', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="lldb.formatters.Logger 184lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-45', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 185<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-46', 'count', 'link-7');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 186<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-47', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children_impl()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#num_children_impl,Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children_impl()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#num_children_impl,Method lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children_impl()=lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#num_children_impl,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children_impl()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#num_children_impl,Method lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children_impl()=lldb.formatters.cpp.libcxx.stdmap_SynthProvider-class.html#num_children_impl"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children_impl 187lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children_impl 188lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children_impl 189lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children_impl 190lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children_impl" class="py-name" href="#" onclick="return doclink('link-48', 'num_children_impl', 'link-48');">num_children_impl</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 191<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-49', 'count', 'link-7');">count</a></tt> <tt class="py-op">></tt> <tt id="link-50" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 192lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-50', '_list_capping_size', 'link-41');">_list_capping_size</a></tt><tt class="py-op">:</tt> </tt> 193<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-51', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 194lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-52', '_list_capping_size', 'link-41');">_list_capping_size</a></tt> </tt> 195<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-53', 'count', 'link-7');">count</a></tt> </tt> 196</div><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> </tt> 197<a name="StdListSynthProvider.num_children_impl"></a><div id="StdListSynthProvider.num_children_impl-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.num_children_impl-toggle" onclick="return toggle('StdListSynthProvider.num_children_impl');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#num_children_impl">num_children_impl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 198</div><div id="StdListSynthProvider.num_children_impl-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.num_children_impl-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-54', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-55', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="lldb.formatters.Logger 199lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-56', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="lldb.formatters.Logger 200lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-57', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 201<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-58" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 202lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-58', '_list_capping_size', 'link-41');">_list_capping_size</a></tt> </tt> 203<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 204<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">next_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 205lldb.formatters.cpp.libcxx.stdlist_iterator.next 206lldb.formatters.cpp.libcxx.stdmap_iterator.next 207lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-59', 'next', 'link-31');">next</a></tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-60', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 208<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">prev_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">prev</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-61', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 209<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># After a std::list has been initialized, both next and prev will be non-NULL</tt> </tt> 210<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">next_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">prev_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 211<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 212<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">next_val</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">node_address</tt><tt class="py-op">:</tt> </tt> 213<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 214<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">next_val</tt> <tt class="py-op">==</tt> <tt class="py-name">prev_val</tt><tt class="py-op">:</tt> </tt> 215<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> </tt> 216<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.has_loop()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#has_loop,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.has_loop()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#has_loop"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.has_loop 217lldb.formatters.cpp.libcxx.stdlist_SynthProvider.has_loop" class="py-name" href="#" onclick="return doclink('link-62', 'has_loop', 'link-62');">has_loop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 218<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 219<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-63" class="py-name" targets="Variable lldb.SBData.size=lldb.SBData-class.html#size,Variable lldb.SBInstruction.size=lldb.SBInstruction-class.html#size,Variable lldb.SBSection.size=lldb.SBSection-class.html#size,Variable lldb.SBType.size=lldb.SBType-class.html#size,Variable lldb.SBValue.size=lldb.SBValue-class.html#size"><a title="lldb.SBData.size 220lldb.SBInstruction.size 221lldb.SBSection.size 222lldb.SBType.size 223lldb.SBValue.size" class="py-name" href="#" onclick="return doclink('link-63', 'size', 'link-63');">size</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt> 224<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 225lldb.formatters.cpp.libcxx.stdlist_iterator.next 226lldb.formatters.cpp.libcxx.stdmap_iterator.next 227lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-64', 'next', 'link-31');">next</a></tt> </tt> 228<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-65', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_next'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-66', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">node_address</tt><tt class="py-op">:</tt> </tt> 229<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt id="link-67" class="py-name"><a title="lldb.SBData.size 230lldb.SBInstruction.size 231lldb.SBSection.size 232lldb.SBType.size 233lldb.SBValue.size" class="py-name" href="#" onclick="return doclink('link-67', 'size', 'link-63');">size</a></tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="lldb.SBData.size 234lldb.SBInstruction.size 235lldb.SBSection.size 236lldb.SBType.size 237lldb.SBValue.size" class="py-name" href="#" onclick="return doclink('link-68', 'size', 'link-63');">size</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt> 238<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-69', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_next'</tt><tt class="py-op">)</tt> </tt> 239<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-70" class="py-name"><a title="lldb.SBData.size 240lldb.SBInstruction.size 241lldb.SBSection.size 242lldb.SBType.size 243lldb.SBValue.size" class="py-name" href="#" onclick="return doclink('link-70', 'size', 'link-63');">size</a></tt> <tt class="py-op">></tt> <tt id="link-71" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 244lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-71', '_list_capping_size', 'link-41');">_list_capping_size</a></tt><tt class="py-op">:</tt> </tt> 245<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-72" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 246lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-72', '_list_capping_size', 'link-41');">_list_capping_size</a></tt> </tt> 247<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="lldb.SBData.size 248lldb.SBInstruction.size 249lldb.SBSection.size 250lldb.SBType.size 251lldb.SBValue.size" class="py-name" href="#" onclick="return doclink('link-73', 'size', 'link-63');">size</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt> 252<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 253<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt><tt class="py-op">;</tt> </tt> 254</div><a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> </tt> 255<a name="StdListSynthProvider.get_child_index"></a><div id="StdListSynthProvider.get_child_index-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.get_child_index-toggle" onclick="return toggle('StdListSynthProvider.get_child_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#get_child_index">get_child_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 256</div><div id="StdListSynthProvider.get_child_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.get_child_index-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-74', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-75', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="lldb.formatters.Logger 257lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-76', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="lldb.formatters.Logger 258lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-77', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 259<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 260<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-78" class="py-name" targets="Variable lldb.SBBlock.name=lldb.SBBlock-class.html#name,Variable lldb.SBFrame.name=lldb.SBFrame-class.html#name,Variable lldb.SBFunction.name=lldb.SBFunction-class.html#name,Variable lldb.SBSection.name=lldb.SBSection-class.html#name,Variable lldb.SBSymbol.name=lldb.SBSymbol-class.html#name,Variable lldb.SBThread.name=lldb.SBThread-class.html#name,Variable lldb.SBType.name=lldb.SBType-class.html#name,Variable lldb.SBTypeCategory.name=lldb.SBTypeCategory-class.html#name,Variable lldb.SBTypeMember.name=lldb.SBTypeMember-class.html#name,Variable lldb.SBTypeNameSpecifier.name=lldb.SBTypeNameSpecifier-class.html#name,Variable lldb.SBValue.name=lldb.SBValue-class.html#name"><a title="lldb.SBBlock.name 261lldb.SBFrame.name 262lldb.SBFunction.name 263lldb.SBSection.name 264lldb.SBSymbol.name 265lldb.SBThread.name 266lldb.SBType.name 267lldb.SBTypeCategory.name 268lldb.SBTypeMember.name 269lldb.SBTypeNameSpecifier.name 270lldb.SBValue.name" class="py-name" href="#" onclick="return doclink('link-78', 'name', 'link-78');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-string">']'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 271<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 272<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt> 273</div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt> 274<a name="StdListSynthProvider.get_child_at_index"></a><div id="StdListSynthProvider.get_child_at_index-def"><a name="L92"></a><tt class="py-lineno"> 92</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.get_child_at_index-toggle" onclick="return toggle('StdListSynthProvider.get_child_at_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#get_child_at_index">get_child_at_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 275</div><div id="StdListSynthProvider.get_child_at_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.get_child_at_index-expanded"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-79" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-79', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-80', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="lldb.formatters.Logger 276lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-81', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lldb.formatters.Logger 277lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-82', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 278<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Fetching child "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> </tt> 279<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 280<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">;</tt> </tt> 281<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">>=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Variable lldb.SBValue.num_children=lldb.SBValue-class.html#num_children,Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#num_children,Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#num_children,Method lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children()=lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#num_children,Method lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children()=lldb.formatters.cpp.libcxx.stddeque_SynthProvider-class.html#num_children,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#num_children,Method lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children()=lldb.formatters.cpp.libcxx.stdmap_SynthProvider-class.html#num_children,Method lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children()=lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider-class.html#num_children,Method lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children()=lldb.formatters.cpp.libcxx.stdvector_SynthProvider-class.html#num_children"><a title="lldb.SBValue.num_children 282lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 283lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 284lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 285lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 286lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 287lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 288lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 289lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-83', 'num_children', 'link-83');">num_children</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 290<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">;</tt> </tt> 291<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 292<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt id="link-84" class="py-name" targets="Variable lldb.SBAddress.offset=lldb.SBAddress-class.html#offset"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-84', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> </tt> 293<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 294lldb.formatters.cpp.libcxx.stdlist_iterator.next 295lldb.formatters.cpp.libcxx.stdmap_iterator.next 296lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-85', 'next', 'link-31');">next</a></tt> </tt> 297<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-86" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-86', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 298<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-87', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_next'</tt><tt class="py-op">)</tt> </tt> 299<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt id="link-88" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-88', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">=</tt> <tt id="link-89" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-89', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt> 300<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Method lldb.SBValue.CreateChildAtOffset()=lldb.SBValue-class.html#CreateChildAtOffset"><a title="lldb.SBValue.CreateChildAtOffset" class="py-name" href="#" onclick="return doclink('link-90', 'CreateChildAtOffset', 'link-90');">CreateChildAtOffset</a></tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">']'</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">*</tt><tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name" targets="Method lldb.SBError.GetType()=lldb.SBError-class.html#GetType,Method lldb.SBEvent.GetType()=lldb.SBEvent-class.html#GetType,Method lldb.SBFunction.GetType()=lldb.SBFunction-class.html#GetType,Method lldb.SBSymbol.GetType()=lldb.SBSymbol-class.html#GetType,Method lldb.SBTypeMember.GetType()=lldb.SBTypeMember-class.html#GetType,Method lldb.SBTypeNameSpecifier.GetType()=lldb.SBTypeNameSpecifier-class.html#GetType,Method lldb.SBValue.GetType()=lldb.SBValue-class.html#GetType"><a title="lldb.SBError.GetType 301lldb.SBEvent.GetType 302lldb.SBFunction.GetType 303lldb.SBSymbol.GetType 304lldb.SBTypeMember.GetType 305lldb.SBTypeNameSpecifier.GetType 306lldb.SBValue.GetType" class="py-name" href="#" onclick="return doclink('link-91', 'GetType', 'link-91');">GetType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name" targets="Method lldb.SBData.GetByteSize()=lldb.SBData-class.html#GetByteSize,Method lldb.SBInstruction.GetByteSize()=lldb.SBInstruction-class.html#GetByteSize,Method lldb.SBSection.GetByteSize()=lldb.SBSection-class.html#GetByteSize,Method lldb.SBType.GetByteSize()=lldb.SBType-class.html#GetByteSize,Method lldb.SBValue.GetByteSize()=lldb.SBValue-class.html#GetByteSize"><a title="lldb.SBData.GetByteSize 307lldb.SBInstruction.GetByteSize 308lldb.SBSection.GetByteSize 309lldb.SBType.GetByteSize 310lldb.SBValue.GetByteSize" class="py-name" href="#" onclick="return doclink('link-92', 'GetByteSize', 'link-92');">GetByteSize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt> 311<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 312<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 313</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt> 314<a name="StdListSynthProvider.extract_type"></a><div id="StdListSynthProvider.extract_type-def"><a name="L109"></a><tt class="py-lineno">109</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.extract_type-toggle" onclick="return toggle('StdListSynthProvider.extract_type');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#extract_type">extract_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 315</div><div id="StdListSynthProvider.extract_type-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.extract_type-expanded"><a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-93" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-93', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-94', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="lldb.formatters.Logger 316lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-95', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lldb.formatters.Logger 317lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-96', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 318<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">list_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="lldb.SBError.GetType 319lldb.SBEvent.GetType 320lldb.SBFunction.GetType 321lldb.SBSymbol.GetType 322lldb.SBTypeMember.GetType 323lldb.SBTypeNameSpecifier.GetType 324lldb.SBValue.GetType" class="py-name" href="#" onclick="return doclink('link-97', 'GetType', 'link-91');">GetType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method lldb.SBType.GetUnqualifiedType()=lldb.SBType-class.html#GetUnqualifiedType"><a title="lldb.SBType.GetUnqualifiedType" class="py-name" href="#" onclick="return doclink('link-98', 'GetUnqualifiedType', 'link-98');">GetUnqualifiedType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 325<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">list_type</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method lldb.SBType.IsReferenceType()=lldb.SBType-class.html#IsReferenceType"><a title="lldb.SBType.IsReferenceType" class="py-name" href="#" onclick="return doclink('link-99', 'IsReferenceType', 'link-99');">IsReferenceType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 326<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">list_type</tt> <tt class="py-op">=</tt> <tt class="py-name">list_type</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method lldb.SBType.GetDereferencedType()=lldb.SBType-class.html#GetDereferencedType"><a title="lldb.SBType.GetDereferencedType" class="py-name" href="#" onclick="return doclink('link-100', 'GetDereferencedType', 'link-100');">GetDereferencedType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 327<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">list_type</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name" targets="Method lldb.SBType.GetNumberOfTemplateArguments()=lldb.SBType-class.html#GetNumberOfTemplateArguments"><a title="lldb.SBType.GetNumberOfTemplateArguments" class="py-name" href="#" onclick="return doclink('link-101', 'GetNumberOfTemplateArguments', 'link-101');">GetNumberOfTemplateArguments</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 328<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">list_type</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name" targets="Method lldb.SBType.GetTemplateArgumentType()=lldb.SBType-class.html#GetTemplateArgumentType"><a title="lldb.SBType.GetTemplateArgumentType" class="py-name" href="#" onclick="return doclink('link-102', 'GetTemplateArgumentType', 'link-102');">GetTemplateArgumentType</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 329<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 330<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 331<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">data_type</tt> </tt> 332</div><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> </tt> 333<a name="StdListSynthProvider.update"></a><div id="StdListSynthProvider.update-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.update-toggle" onclick="return toggle('StdListSynthProvider.update');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 334</div><div id="StdListSynthProvider.update-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.update-expanded"><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-103', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-104', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="lldb.formatters.Logger 335lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-105', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="lldb.formatters.Logger 336lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-106', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 337<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-comment"># preemptively setting this to None - we might end up changing our mind later</tt> </tt> 338<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-107', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 339<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 340<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">impl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-108', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_impl'</tt><tt class="py-op">)</tt> </tt> 341<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-name">node</tt> <tt class="py-op">=</tt> <tt class="py-name">impl</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-109', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_node'</tt><tt class="py-op">)</tt> </tt> 342<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">node_address</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method lldb.SBValue.AddressOf()=lldb.SBValue-class.html#AddressOf"><a title="lldb.SBValue.AddressOf" class="py-name" href="#" onclick="return doclink('link-110', 'AddressOf', 'link-110');">AddressOf</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-111', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 343<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="lldb.formatters.cpp.libcxx.stdlist_entry.next 344lldb.formatters.cpp.libcxx.stdlist_iterator.next 345lldb.formatters.cpp.libcxx.stdmap_iterator.next 346lldb.value_iter.next" class="py-name" href="#" onclick="return doclink('link-112', 'next', 'link-31');">next</a></tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-113', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_next'</tt><tt class="py-op">)</tt> </tt> 347<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">prev</tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-114', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_prev'</tt><tt class="py-op">)</tt> </tt> 348<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.extract_type()=lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#extract_type,Method lldb.formatters.cpp.libcxx.stdlist_SynthProvider.extract_type()=lldb.formatters.cpp.libcxx.stdlist_SynthProvider-class.html#extract_type"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.extract_type 349lldb.formatters.cpp.libcxx.stdlist_SynthProvider.extract_type" class="py-name" href="#" onclick="return doclink('link-115', 'extract_type', 'link-115');">extract_type</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 350<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="lldb.SBData.GetByteSize 351lldb.SBInstruction.GetByteSize 352lldb.SBSection.GetByteSize 353lldb.SBType.GetByteSize 354lldb.SBValue.GetByteSize" class="py-name" href="#" onclick="return doclink('link-116', 'GetByteSize', 'link-92');">GetByteSize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 355<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 356<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> 357</div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt> 358<a name="StdListSynthProvider.has_children"></a><div id="StdListSynthProvider.has_children-def"><a name="L135"></a><tt class="py-lineno">135</tt> <a class="py-toggle" href="#" id="StdListSynthProvider.has_children-toggle" onclick="return toggle('StdListSynthProvider.has_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider-class.html#has_children">has_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 359</div><div id="StdListSynthProvider.has_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdListSynthProvider.has_children-expanded"><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt> 360</div></div><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> </tt> 361<a name="StdVectorSynthProvider"></a><div id="StdVectorSynthProvider-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider-toggle" onclick="return toggle('StdVectorSynthProvider');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html">StdVectorSynthProvider</a><tt class="py-op">:</tt> </tt> 362</div><div id="StdVectorSynthProvider-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="StdVectorSynthProvider-expanded"><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt> 363<a name="StdVectorSynthProvider.__init__"></a><div id="StdVectorSynthProvider.__init__-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.__init__-toggle" onclick="return toggle('StdVectorSynthProvider.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">valobj</tt><tt class="py-op">,</tt> <tt class="py-param">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 364</div><div id="StdVectorSynthProvider.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.__init__-expanded"><a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-117" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-117', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-118', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="lldb.formatters.Logger 365lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-119', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="lldb.formatters.Logger 366lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-120', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 367<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-121', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 368<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt> <tt class="py-op">=</tt> <tt class="py-name">valobj</tt> </tt> 369<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Providing synthetic children for a map named "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="lldb.SBBroadcaster.GetName 370lldb.SBFunction.GetName 371lldb.SBSection.GetName 372lldb.SBSymbol.GetName 373lldb.SBThread.GetName 374lldb.SBType.GetName 375lldb.SBTypeCategory.GetName 376lldb.SBTypeMember.GetName 377lldb.SBTypeNameSpecifier.GetName 378lldb.SBValue.GetName" class="py-name" href="#" onclick="return doclink('link-122', 'GetName', 'link-8');">GetName</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 379</div><a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> </tt> 380<a name="StdVectorSynthProvider.num_children"></a><div id="StdVectorSynthProvider.num_children-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.num_children-toggle" onclick="return toggle('StdVectorSynthProvider.num_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#num_children">num_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 381</div><div id="StdVectorSynthProvider.num_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.num_children-expanded"><a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-123" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-123', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-124', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lldb.formatters.Logger 382lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-125', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="lldb.formatters.Logger 383lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-126', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 384<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-127', 'count', 'link-7');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 385<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-128', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children_impl 386lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children_impl 387lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children_impl 388lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children_impl 389lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children_impl" class="py-name" href="#" onclick="return doclink('link-129', 'num_children_impl', 'link-48');">num_children_impl</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 390<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-130', 'count', 'link-7');">count</a></tt> </tt> 391</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt> 392<a name="StdVectorSynthProvider.is_valid_pointer"></a><div id="StdVectorSynthProvider.is_valid_pointer-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.is_valid_pointer-toggle" onclick="return toggle('StdVectorSynthProvider.is_valid_pointer');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#is_valid_pointer">is_valid_pointer</a><tt class="py-op">(</tt><tt class="py-param">ptr</tt><tt class="py-op">,</tt><tt class="py-param">process</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 393</div><div id="StdVectorSynthProvider.is_valid_pointer-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.is_valid_pointer-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-131" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-131', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-132', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="lldb.formatters.Logger 394lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-133', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="lldb.formatters.Logger 395lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-134', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 396<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-135" class="py-name" targets="Variable lldb.SBValue.error=lldb.SBValue-class.html#error"><a title="lldb.SBValue.error" class="py-name" href="#" onclick="return doclink('link-135', 'error', 'link-135');">error</a></tt> <tt class="py-op">=</tt> <tt id="link-136" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-136', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Class lldb.SBError=lldb.SBError-class.html"><a title="lldb.SBError" class="py-name" href="#" onclick="return doclink('link-137', 'SBError', 'link-137');">SBError</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 397<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt id="link-138" class="py-name" targets="Variable lldb.SBTarget.process=lldb.SBTarget-class.html#process,Variable lldb.SBThread.process=lldb.SBThread-class.html#process,Variable lldb.SBValue.process=lldb.SBValue-class.html#process,Variable lldb.process=lldb-module.html#process"><a title="lldb.SBTarget.process 398lldb.SBThread.process 399lldb.SBValue.process 400lldb.process" class="py-name" href="#" onclick="return doclink('link-138', 'process', 'link-138');">process</a></tt><tt class="py-op">.</tt><tt id="link-139" class="py-name" targets="Method lldb.SBProcess.ReadMemory()=lldb.SBProcess-class.html#ReadMemory"><a title="lldb.SBProcess.ReadMemory" class="py-name" href="#" onclick="return doclink('link-139', 'ReadMemory', 'link-139');">ReadMemory</a></tt><tt class="py-op">(</tt><tt class="py-name">ptr</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt id="link-140" class="py-name"><a title="lldb.SBValue.error" class="py-name" href="#" onclick="return doclink('link-140', 'error', 'link-135');">error</a></tt><tt class="py-op">)</tt> </tt> 401<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> <tt class="py-keyword">if</tt> <tt id="link-141" class="py-name"><a title="lldb.SBValue.error" class="py-name" href="#" onclick="return doclink('link-141', 'error', 'link-135');">error</a></tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Method lldb.SBError.Fail()=lldb.SBError-class.html#Fail"><a title="lldb.SBError.Fail" class="py-name" href="#" onclick="return doclink('link-142', 'Fail', 'link-142');">Fail</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">else</tt> <tt class="py-name">True</tt> </tt> 402</div><a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt> 403<a name="StdVectorSynthProvider.num_children_impl"></a><div id="StdVectorSynthProvider.num_children_impl-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.num_children_impl-toggle" onclick="return toggle('StdVectorSynthProvider.num_children_impl');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#num_children_impl">num_children_impl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 404</div><div id="StdVectorSynthProvider.num_children_impl-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.num_children_impl-expanded"><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-143" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-143', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-144', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="lldb.formatters.Logger 405lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-145', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="lldb.formatters.Logger 406lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-146', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 407<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 408<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-name">start_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-147', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 409<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"> <tt class="py-name">finish_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">finish</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-148', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 410<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">end_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-149', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 411<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-comment"># Before a vector has been constructed, it will contain bad values</tt> </tt> 412<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-comment"># so we really need to be careful about the length we return since</tt> </tt> 413<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-comment"># unitialized data can cause us to return a huge number. We need</tt> </tt> 414<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-comment"># to also check for any of the start, finish or end of storage values</tt> </tt> 415<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-comment"># being zero (NULL). If any are, then this vector has not been </tt> </tt> 416<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-comment"># initialized yet and we should return zero</tt> </tt> 417<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> </tt> 418<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-comment"># Make sure nothing is NULL</tt> </tt> 419<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">start_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">finish_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">end_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 420<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 421<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-comment"># Make sure start is less than finish</tt> </tt> 422<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">start_val</tt> <tt class="py-op">>=</tt> <tt class="py-name">finish_val</tt><tt class="py-op">:</tt> </tt> 423<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 424<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-comment"># Make sure finish is less than or equal to end of storage</tt> </tt> 425<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">finish_val</tt> <tt class="py-op">></tt> <tt class="py-name">end_val</tt><tt class="py-op">:</tt> </tt> 426<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 427<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> </tt> 428<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-comment"># if we have a struct (or other data type that the compiler pads to native word size)</tt> </tt> 429<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-comment"># this check might fail, unless the sizeof() we get is itself incremented to take the</tt> </tt> 430<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-comment"># padding bytes into account - on current clang it looks like this is the case</tt> </tt> 431<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt id="link-150" class="py-name"><a title="lldb.SBValue.num_children 432lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 433lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 434lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 435lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 436lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 437lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 438lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 439lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-150', 'num_children', 'link-83');">num_children</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">finish_val</tt><tt class="py-op">-</tt><tt class="py-name">start_val</tt><tt class="py-op">)</tt> </tt> 440<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-151" class="py-name"><a title="lldb.SBValue.num_children 441lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 442lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 443lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 444lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 445lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 446lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 447lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 448lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-151', 'num_children', 'link-83');">num_children</a></tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 449<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt> 450<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 451<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt id="link-152" class="py-name"><a title="lldb.SBValue.num_children 452lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 453lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 454lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 455lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 456lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 457lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 458lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 459lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-152', 'num_children', 'link-83');">num_children</a></tt> <tt class="py-op">=</tt> <tt id="link-153" class="py-name"><a title="lldb.SBValue.num_children 460lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 461lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 462lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 463lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 464lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 465lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 466lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 467lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-153', 'num_children', 'link-83');">num_children</a></tt><tt class="py-op">/</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt> </tt> 468<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-154" class="py-name"><a title="lldb.SBValue.num_children 469lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 470lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 471lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 472lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 473lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 474lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 475lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 476lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-154', 'num_children', 'link-83');">num_children</a></tt> </tt> 477<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 478<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt><tt class="py-op">;</tt> </tt> 479</div><a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> </tt> 480<a name="StdVectorSynthProvider.get_child_index"></a><div id="StdVectorSynthProvider.get_child_index-def"><a name="L193"></a><tt class="py-lineno">193</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.get_child_index-toggle" onclick="return toggle('StdVectorSynthProvider.get_child_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#get_child_index">get_child_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 481</div><div id="StdVectorSynthProvider.get_child_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.get_child_index-expanded"><a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-155" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-155', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-156', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="lldb.formatters.Logger 482lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-157', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="lldb.formatters.Logger 483lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-158', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 484<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 485<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-159" class="py-name"><a title="lldb.SBBlock.name 486lldb.SBFrame.name 487lldb.SBFunction.name 488lldb.SBSection.name 489lldb.SBSymbol.name 490lldb.SBThread.name 491lldb.SBType.name 492lldb.SBTypeCategory.name 493lldb.SBTypeMember.name 494lldb.SBTypeNameSpecifier.name 495lldb.SBValue.name" class="py-name" href="#" onclick="return doclink('link-159', 'name', 'link-78');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-string">']'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 496<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 497<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt> 498</div><a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> </tt> 499<a name="StdVectorSynthProvider.get_child_at_index"></a><div id="StdVectorSynthProvider.get_child_at_index-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.get_child_at_index-toggle" onclick="return toggle('StdVectorSynthProvider.get_child_at_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#get_child_at_index">get_child_at_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 500</div><div id="StdVectorSynthProvider.get_child_at_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.get_child_at_index-expanded"><a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-160', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-161', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="lldb.formatters.Logger 501lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-162', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="lldb.formatters.Logger 502lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-163', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 503<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Retrieving child "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> </tt> 504<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 505<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">;</tt> </tt> 506<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">>=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="lldb.SBValue.num_children 507lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 508lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 509lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 510lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 511lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 512lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 513lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 514lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-164', 'num_children', 'link-83');">num_children</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 515<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">;</tt> </tt> 516<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 517<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt id="link-165" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-165', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt> </tt> 518<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lldb.SBValue.CreateChildAtOffset" class="py-name" href="#" onclick="return doclink('link-166', 'CreateChildAtOffset', 'link-90');">CreateChildAtOffset</a></tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">']'</tt><tt class="py-op">,</tt><tt id="link-167" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-167', 'offset', 'link-84');">offset</a></tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt> 519<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 520<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 521</div><a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> </tt> 522<a name="StdVectorSynthProvider.update"></a><div id="StdVectorSynthProvider.update-def"><a name="L213"></a><tt class="py-lineno">213</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.update-toggle" onclick="return toggle('StdVectorSynthProvider.update');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 523</div><div id="StdVectorSynthProvider.update-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.update-expanded"><a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-168" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-168', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-169', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="lldb.formatters.Logger 524lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-170', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="lldb.formatters.Logger 525lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-171', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 526<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-comment"># preemptively setting this to None - we might end up changing our mind later</tt> </tt> 527<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-172', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 528<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 529<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">impl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-173', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_impl'</tt><tt class="py-op">)</tt> </tt> 530<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">impl</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-174', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_start'</tt><tt class="py-op">)</tt> </tt> 531<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">finish</tt> <tt class="py-op">=</tt> <tt class="py-name">impl</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-175', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_finish'</tt><tt class="py-op">)</tt> </tt> 532<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">impl</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-176', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_end_of_storage'</tt><tt class="py-op">)</tt> </tt> 533<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="lldb.SBError.GetType 534lldb.SBEvent.GetType 535lldb.SBFunction.GetType 536lldb.SBSymbol.GetType 537lldb.SBTypeMember.GetType 538lldb.SBTypeNameSpecifier.GetType 539lldb.SBValue.GetType" class="py-name" href="#" onclick="return doclink('link-177', 'GetType', 'link-91');">GetType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name" targets="Method lldb.SBType.GetPointeeType()=lldb.SBType-class.html#GetPointeeType"><a title="lldb.SBType.GetPointeeType" class="py-name" href="#" onclick="return doclink('link-178', 'GetPointeeType', 'link-178');">GetPointeeType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 540<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="lldb.SBData.GetByteSize 541lldb.SBInstruction.GetByteSize 542lldb.SBSection.GetByteSize 543lldb.SBType.GetByteSize 544lldb.SBValue.GetByteSize" class="py-name" href="#" onclick="return doclink('link-179', 'GetByteSize', 'link-92');">GetByteSize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 545<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-comment"># if any of these objects is invalid, it means there is no point in trying to fetch anything</tt> </tt> 546<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name" targets="Method lldb.SBAddress.IsValid()=lldb.SBAddress-class.html#IsValid,Method lldb.SBBlock.IsValid()=lldb.SBBlock-class.html#IsValid,Method lldb.SBBreakpoint.IsValid()=lldb.SBBreakpoint-class.html#IsValid,Method lldb.SBBreakpointLocation.IsValid()=lldb.SBBreakpointLocation-class.html#IsValid,Method lldb.SBBroadcaster.IsValid()=lldb.SBBroadcaster-class.html#IsValid,Method lldb.SBCommandInterpreter.IsValid()=lldb.SBCommandInterpreter-class.html#IsValid,Method lldb.SBCommandReturnObject.IsValid()=lldb.SBCommandReturnObject-class.html#IsValid,Method lldb.SBCommunication.IsValid()=lldb.SBCommunication-class.html#IsValid,Method lldb.SBCompileUnit.IsValid()=lldb.SBCompileUnit-class.html#IsValid,Method lldb.SBData.IsValid()=lldb.SBData-class.html#IsValid,Method lldb.SBDebugger.IsValid()=lldb.SBDebugger-class.html#IsValid,Method lldb.SBDeclaration.IsValid()=lldb.SBDeclaration-class.html#IsValid,Method lldb.SBError.IsValid()=lldb.SBError-class.html#IsValid,Method lldb.SBEvent.IsValid()=lldb.SBEvent-class.html#IsValid,Method lldb.SBFileSpec.IsValid()=lldb.SBFileSpec-class.html#IsValid,Method lldb.SBFrame.IsValid()=lldb.SBFrame-class.html#IsValid,Method lldb.SBFunction.IsValid()=lldb.SBFunction-class.html#IsValid,Method lldb.SBInputReader.IsValid()=lldb.SBInputReader-class.html#IsValid,Method lldb.SBInstruction.IsValid()=lldb.SBInstruction-class.html#IsValid,Method lldb.SBInstructionList.IsValid()=lldb.SBInstructionList-class.html#IsValid,Method lldb.SBLineEntry.IsValid()=lldb.SBLineEntry-class.html#IsValid,Method lldb.SBListener.IsValid()=lldb.SBListener-class.html#IsValid,Method lldb.SBModule.IsValid()=lldb.SBModule-class.html#IsValid,Method lldb.SBModuleSpec.IsValid()=lldb.SBModuleSpec-class.html#IsValid,Method lldb.SBProcess.IsValid()=lldb.SBProcess-class.html#IsValid,Method lldb.SBSection.IsValid()=lldb.SBSection-class.html#IsValid,Method lldb.SBStream.IsValid()=lldb.SBStream-class.html#IsValid,Method lldb.SBStringList.IsValid()=lldb.SBStringList-class.html#IsValid,Method lldb.SBSymbol.IsValid()=lldb.SBSymbol-class.html#IsValid,Method lldb.SBSymbolContext.IsValid()=lldb.SBSymbolContext-class.html#IsValid,Method lldb.SBSymbolContextList.IsValid()=lldb.SBSymbolContextList-class.html#IsValid,Method lldb.SBTarget.IsValid()=lldb.SBTarget-class.html#IsValid,Method lldb.SBThread.IsValid()=lldb.SBThread-class.html#IsValid,Method lldb.SBType.IsValid()=lldb.SBType-class.html#IsValid,Method lldb.SBTypeCategory.IsValid()=lldb.SBTypeCategory-class.html#IsValid,Method lldb.SBTypeFilter.IsValid()=lldb.SBTypeFilter-class.html#IsValid,Method lldb.SBTypeFormat.IsValid()=lldb.SBTypeFormat-class.html#IsValid,Method lldb.SBTypeList.IsValid()=lldb.SBTypeList-class.html#IsValid,Method lldb.SBTypeMember.IsValid()=lldb.SBTypeMember-class.html#IsValid,Method lldb.SBTypeNameSpecifier.IsValid()=lldb.SBTypeNameSpecifier-class.html#IsValid,Method lldb.SBTypeSummary.IsValid()=lldb.SBTypeSummary-class.html#IsValid,Method lldb.SBTypeSynthetic.IsValid()=lldb.SBTypeSynthetic-class.html#IsValid,Method lldb.SBValue.IsValid()=lldb.SBValue-class.html#IsValid,Method lldb.SBValueList.IsValid()=lldb.SBValueList-class.html#IsValid,Method lldb.SBWatchpoint.IsValid()=lldb.SBWatchpoint-class.html#IsValid"><a title="lldb.SBAddress.IsValid 547lldb.SBBlock.IsValid 548lldb.SBBreakpoint.IsValid 549lldb.SBBreakpointLocation.IsValid 550lldb.SBBroadcaster.IsValid 551lldb.SBCommandInterpreter.IsValid 552lldb.SBCommandReturnObject.IsValid 553lldb.SBCommunication.IsValid 554lldb.SBCompileUnit.IsValid 555lldb.SBData.IsValid 556lldb.SBDebugger.IsValid 557lldb.SBDeclaration.IsValid 558lldb.SBError.IsValid 559lldb.SBEvent.IsValid 560lldb.SBFileSpec.IsValid 561lldb.SBFrame.IsValid 562lldb.SBFunction.IsValid 563lldb.SBInputReader.IsValid 564lldb.SBInstruction.IsValid 565lldb.SBInstructionList.IsValid 566lldb.SBLineEntry.IsValid 567lldb.SBListener.IsValid 568lldb.SBModule.IsValid 569lldb.SBModuleSpec.IsValid 570lldb.SBProcess.IsValid 571lldb.SBSection.IsValid 572lldb.SBStream.IsValid 573lldb.SBStringList.IsValid 574lldb.SBSymbol.IsValid 575lldb.SBSymbolContext.IsValid 576lldb.SBSymbolContextList.IsValid 577lldb.SBTarget.IsValid 578lldb.SBThread.IsValid 579lldb.SBType.IsValid 580lldb.SBTypeCategory.IsValid 581lldb.SBTypeFilter.IsValid 582lldb.SBTypeFormat.IsValid 583lldb.SBTypeList.IsValid 584lldb.SBTypeMember.IsValid 585lldb.SBTypeNameSpecifier.IsValid 586lldb.SBTypeSummary.IsValid 587lldb.SBTypeSynthetic.IsValid 588lldb.SBValue.IsValid 589lldb.SBValueList.IsValid 590lldb.SBWatchpoint.IsValid" class="py-name" href="#" onclick="return doclink('link-180', 'IsValid', 'link-180');">IsValid</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">finish</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="lldb.SBAddress.IsValid 591lldb.SBBlock.IsValid 592lldb.SBBreakpoint.IsValid 593lldb.SBBreakpointLocation.IsValid 594lldb.SBBroadcaster.IsValid 595lldb.SBCommandInterpreter.IsValid 596lldb.SBCommandReturnObject.IsValid 597lldb.SBCommunication.IsValid 598lldb.SBCompileUnit.IsValid 599lldb.SBData.IsValid 600lldb.SBDebugger.IsValid 601lldb.SBDeclaration.IsValid 602lldb.SBError.IsValid 603lldb.SBEvent.IsValid 604lldb.SBFileSpec.IsValid 605lldb.SBFrame.IsValid 606lldb.SBFunction.IsValid 607lldb.SBInputReader.IsValid 608lldb.SBInstruction.IsValid 609lldb.SBInstructionList.IsValid 610lldb.SBLineEntry.IsValid 611lldb.SBListener.IsValid 612lldb.SBModule.IsValid 613lldb.SBModuleSpec.IsValid 614lldb.SBProcess.IsValid 615lldb.SBSection.IsValid 616lldb.SBStream.IsValid 617lldb.SBStringList.IsValid 618lldb.SBSymbol.IsValid 619lldb.SBSymbolContext.IsValid 620lldb.SBSymbolContextList.IsValid 621lldb.SBTarget.IsValid 622lldb.SBThread.IsValid 623lldb.SBType.IsValid 624lldb.SBTypeCategory.IsValid 625lldb.SBTypeFilter.IsValid 626lldb.SBTypeFormat.IsValid 627lldb.SBTypeList.IsValid 628lldb.SBTypeMember.IsValid 629lldb.SBTypeNameSpecifier.IsValid 630lldb.SBTypeSummary.IsValid 631lldb.SBTypeSynthetic.IsValid 632lldb.SBValue.IsValid 633lldb.SBValueList.IsValid 634lldb.SBWatchpoint.IsValid" class="py-name" href="#" onclick="return doclink('link-181', 'IsValid', 'link-180');">IsValid</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="lldb.SBAddress.IsValid 635lldb.SBBlock.IsValid 636lldb.SBBreakpoint.IsValid 637lldb.SBBreakpointLocation.IsValid 638lldb.SBBroadcaster.IsValid 639lldb.SBCommandInterpreter.IsValid 640lldb.SBCommandReturnObject.IsValid 641lldb.SBCommunication.IsValid 642lldb.SBCompileUnit.IsValid 643lldb.SBData.IsValid 644lldb.SBDebugger.IsValid 645lldb.SBDeclaration.IsValid 646lldb.SBError.IsValid 647lldb.SBEvent.IsValid 648lldb.SBFileSpec.IsValid 649lldb.SBFrame.IsValid 650lldb.SBFunction.IsValid 651lldb.SBInputReader.IsValid 652lldb.SBInstruction.IsValid 653lldb.SBInstructionList.IsValid 654lldb.SBLineEntry.IsValid 655lldb.SBListener.IsValid 656lldb.SBModule.IsValid 657lldb.SBModuleSpec.IsValid 658lldb.SBProcess.IsValid 659lldb.SBSection.IsValid 660lldb.SBStream.IsValid 661lldb.SBStringList.IsValid 662lldb.SBSymbol.IsValid 663lldb.SBSymbolContext.IsValid 664lldb.SBSymbolContextList.IsValid 665lldb.SBTarget.IsValid 666lldb.SBThread.IsValid 667lldb.SBType.IsValid 668lldb.SBTypeCategory.IsValid 669lldb.SBTypeFilter.IsValid 670lldb.SBTypeFormat.IsValid 671lldb.SBTypeList.IsValid 672lldb.SBTypeMember.IsValid 673lldb.SBTypeNameSpecifier.IsValid 674lldb.SBTypeSummary.IsValid 675lldb.SBTypeSynthetic.IsValid 676lldb.SBValue.IsValid 677lldb.SBValueList.IsValid 678lldb.SBWatchpoint.IsValid" class="py-name" href="#" onclick="return doclink('link-182', 'IsValid', 'link-180');">IsValid</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="lldb.SBAddress.IsValid 679lldb.SBBlock.IsValid 680lldb.SBBreakpoint.IsValid 681lldb.SBBreakpointLocation.IsValid 682lldb.SBBroadcaster.IsValid 683lldb.SBCommandInterpreter.IsValid 684lldb.SBCommandReturnObject.IsValid 685lldb.SBCommunication.IsValid 686lldb.SBCompileUnit.IsValid 687lldb.SBData.IsValid 688lldb.SBDebugger.IsValid 689lldb.SBDeclaration.IsValid 690lldb.SBError.IsValid 691lldb.SBEvent.IsValid 692lldb.SBFileSpec.IsValid 693lldb.SBFrame.IsValid 694lldb.SBFunction.IsValid 695lldb.SBInputReader.IsValid 696lldb.SBInstruction.IsValid 697lldb.SBInstructionList.IsValid 698lldb.SBLineEntry.IsValid 699lldb.SBListener.IsValid 700lldb.SBModule.IsValid 701lldb.SBModuleSpec.IsValid 702lldb.SBProcess.IsValid 703lldb.SBSection.IsValid 704lldb.SBStream.IsValid 705lldb.SBStringList.IsValid 706lldb.SBSymbol.IsValid 707lldb.SBSymbolContext.IsValid 708lldb.SBSymbolContextList.IsValid 709lldb.SBTarget.IsValid 710lldb.SBThread.IsValid 711lldb.SBType.IsValid 712lldb.SBTypeCategory.IsValid 713lldb.SBTypeFilter.IsValid 714lldb.SBTypeFormat.IsValid 715lldb.SBTypeList.IsValid 716lldb.SBTypeMember.IsValid 717lldb.SBTypeNameSpecifier.IsValid 718lldb.SBTypeSummary.IsValid 719lldb.SBTypeSynthetic.IsValid 720lldb.SBValue.IsValid 721lldb.SBValueList.IsValid 722lldb.SBWatchpoint.IsValid" class="py-name" href="#" onclick="return doclink('link-183', 'IsValid', 'link-180');">IsValid</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 723<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-184', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 724<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 725<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-185', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> 726<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 727<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> 728</div><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> </tt> 729<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> </tt> 730<a name="StdVectorSynthProvider.has_children"></a><div id="StdVectorSynthProvider.has_children-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="StdVectorSynthProvider.has_children-toggle" onclick="return toggle('StdVectorSynthProvider.has_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider-class.html#has_children">has_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 731</div><div id="StdVectorSynthProvider.has_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdVectorSynthProvider.has_children-expanded"><a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt> 732</div></div><a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> </tt> 733<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> </tt> 734<a name="StdMapSynthProvider"></a><div id="StdMapSynthProvider-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider-toggle" onclick="return toggle('StdMapSynthProvider');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html">StdMapSynthProvider</a><tt class="py-op">:</tt> </tt> 735</div><div id="StdMapSynthProvider-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="StdMapSynthProvider-expanded"><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> </tt> 736<a name="StdMapSynthProvider.__init__"></a><div id="StdMapSynthProvider.__init__-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.__init__-toggle" onclick="return toggle('StdMapSynthProvider.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">valobj</tt><tt class="py-op">,</tt> <tt class="py-param">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 737</div><div id="StdMapSynthProvider.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.__init__-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-186', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-187', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lldb.formatters.Logger 738lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-188', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="lldb.formatters.Logger 739lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-189', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 740<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt> <tt class="py-op">=</tt> <tt class="py-name">valobj</tt><tt class="py-op">;</tt> </tt> 741<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-190', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 742<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Providing synthetic children for a map named "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="lldb.SBBroadcaster.GetName 743lldb.SBFunction.GetName 744lldb.SBSection.GetName 745lldb.SBSymbol.GetName 746lldb.SBThread.GetName 747lldb.SBType.GetName 748lldb.SBTypeCategory.GetName 749lldb.SBTypeMember.GetName 750lldb.SBTypeNameSpecifier.GetName 751lldb.SBValue.GetName" class="py-name" href="#" onclick="return doclink('link-191', 'GetName', 'link-8');">GetName</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 752</div><a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> </tt> 753<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-comment"># we need this function as a temporary workaround for rdar://problem/10801549</tt> </tt> 754<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> <tt class="py-comment"># which prevents us from extracting the std::pair<K,V> SBType out of the template</tt> </tt> 755<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-comment"># arguments for _Rep_Type _M_t in the map itself - because we have to make up the</tt> </tt> 756<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-comment"># typename and then find it, we may hit the situation were std::string has multiple</tt> </tt> 757<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-comment"># names but only one is actually referenced in the debug information. hence, we need</tt> </tt> 758<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-comment"># to replace the longer versions of std::string with the shorter one in order to be able</tt> </tt> 759<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-comment"># to find the type name</tt> </tt> 760<a name="StdMapSynthProvider.fixup_class_name"></a><div id="StdMapSynthProvider.fixup_class_name-def"><a name="L252"></a><tt class="py-lineno">252</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.fixup_class_name-toggle" onclick="return toggle('StdMapSynthProvider.fixup_class_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#fixup_class_name">fixup_class_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">class_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 761</div><div id="StdMapSynthProvider.fixup_class_name-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.fixup_class_name-expanded"><a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-192" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-192', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-193', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="lldb.formatters.Logger 762lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-194', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="lldb.formatters.Logger 763lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-195', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 764<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt> <tt class="py-op">==</tt> <tt class="py-string">'std::basic_string<char, std::char_traits<char>, std::allocator<char> >'</tt><tt class="py-op">:</tt> </tt> 765<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'std::basic_string<char>'</tt><tt class="py-op">,</tt><tt class="py-name">True</tt> </tt> 766<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt> <tt class="py-op">==</tt> <tt class="py-string">'basic_string<char, std::char_traits<char>, std::allocator<char> >'</tt><tt class="py-op">:</tt> </tt> 767<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'std::basic_string<char>'</tt><tt class="py-op">,</tt><tt class="py-name">True</tt> </tt> 768<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt> <tt class="py-op">==</tt> <tt class="py-string">'std::basic_string<char, std::char_traits<char>, std::allocator<char> >'</tt><tt class="py-op">:</tt> </tt> 769<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'std::basic_string<char>'</tt><tt class="py-op">,</tt><tt class="py-name">True</tt> </tt> 770<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">class_name</tt> <tt class="py-op">==</tt> <tt class="py-string">'basic_string<char, std::char_traits<char>, std::allocator<char> >'</tt><tt class="py-op">:</tt> </tt> 771<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'std::basic_string<char>'</tt><tt class="py-op">,</tt><tt class="py-name">True</tt> </tt> 772<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">class_name</tt><tt class="py-op">,</tt><tt class="py-name">False</tt> </tt> 773</div><a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> </tt> 774<a name="StdMapSynthProvider.update"></a><div id="StdMapSynthProvider.update-def"><a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.update-toggle" onclick="return toggle('StdMapSynthProvider.update');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#update">update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 775</div><div id="StdMapSynthProvider.update-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.update-expanded"><a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-196" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-196', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-197', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="lldb.formatters.Logger 776lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-198', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="lldb.formatters.Logger 777lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-199', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 778<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-comment"># preemptively setting this to None - we might end up changing our mind later</tt> </tt> 779<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-200', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> 780<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 781<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-comment"># we will set this to True if we find out that discovering a node in the map takes more steps than the overall size of the RB tree</tt> </tt> 782<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-comment"># if this gets set to True, then we will merrily return None for any child from that moment on</tt> </tt> 783<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">garbage</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> 784<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mt</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-201', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_t'</tt><tt class="py-op">)</tt> </tt> 785<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mimpl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mt</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-202', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_impl'</tt><tt class="py-op">)</tt> </tt> 786<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mheader</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mimpl</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-203', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_header'</tt><tt class="py-op">)</tt> </tt> 787<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> </tt> 788<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">map_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="lldb.SBError.GetType 789lldb.SBEvent.GetType 790lldb.SBFunction.GetType 791lldb.SBSymbol.GetType 792lldb.SBTypeMember.GetType 793lldb.SBTypeNameSpecifier.GetType 794lldb.SBValue.GetType" class="py-name" href="#" onclick="return doclink('link-204', 'GetType', 'link-91');">GetType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 795<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">map_type</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="lldb.SBType.IsReferenceType" class="py-name" href="#" onclick="return doclink('link-205', 'IsReferenceType', 'link-99');">IsReferenceType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 796<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Dereferencing type"</tt> </tt> 797<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">map_type</tt> <tt class="py-op">=</tt> <tt class="py-name">map_type</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="lldb.SBType.GetDereferencedType" class="py-name" href="#" onclick="return doclink('link-206', 'GetDereferencedType', 'link-100');">GetDereferencedType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 798<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> </tt> 799<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">map_arg_0</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_type</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="lldb.SBType.GetTemplateArgumentType" class="py-name" href="#" onclick="return doclink('link-207', 'GetTemplateArgumentType', 'link-102');">GetTemplateArgumentType</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="lldb.SBBroadcaster.GetName 800lldb.SBFunction.GetName 801lldb.SBSection.GetName 802lldb.SBSymbol.GetName 803lldb.SBThread.GetName 804lldb.SBType.GetName 805lldb.SBTypeCategory.GetName 806lldb.SBTypeMember.GetName 807lldb.SBTypeNameSpecifier.GetName 808lldb.SBValue.GetName" class="py-name" href="#" onclick="return doclink('link-208', 'GetName', 'link-8');">GetName</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 809<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">map_arg_1</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_type</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="lldb.SBType.GetTemplateArgumentType" class="py-name" href="#" onclick="return doclink('link-209', 'GetTemplateArgumentType', 'link-102');">GetTemplateArgumentType</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="lldb.SBBroadcaster.GetName 810lldb.SBFunction.GetName 811lldb.SBSection.GetName 812lldb.SBSymbol.GetName 813lldb.SBThread.GetName 814lldb.SBType.GetName 815lldb.SBTypeCategory.GetName 816lldb.SBTypeMember.GetName 817lldb.SBTypeNameSpecifier.GetName 818lldb.SBValue.GetName" class="py-name" href="#" onclick="return doclink('link-210', 'GetName', 'link-8');">GetName</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 819<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> </tt> 820<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"map has args "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_arg_0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" and "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_arg_1</tt><tt class="py-op">)</tt> </tt> 821<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> </tt> 822<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">map_arg_0</tt><tt class="py-op">,</tt><tt class="py-name">fixed_0</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.fixup_class_name()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#fixup_class_name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.fixup_class_name" class="py-name" href="#" onclick="return doclink('link-211', 'fixup_class_name', 'link-211');">fixup_class_name</a></tt><tt class="py-op">(</tt><tt class="py-name">map_arg_0</tt><tt class="py-op">)</tt> </tt> 823<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">map_arg_1</tt><tt class="py-op">,</tt><tt class="py-name">fixed_1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.fixup_class_name" class="py-name" href="#" onclick="return doclink('link-212', 'fixup_class_name', 'link-211');">fixup_class_name</a></tt><tt class="py-op">(</tt><tt class="py-name">map_arg_1</tt><tt class="py-op">)</tt> </tt> 824<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> </tt> 825<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"arg_0 has become: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_arg_0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" (fixed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">fixed_0</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt> 826<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"arg_1 has become: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_arg_1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" (fixed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">fixed_1</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">")"</tt> </tt> 827<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> </tt> 828<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-comment"># HACK: this is related to the above issue with the typename for std::string</tt> </tt> 829<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-comment"># being shortened by clang - the changes to typename display and searching to honor</tt> </tt> 830<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-comment"># namespaces make it so that we go looking for std::pair<const std::basic_string<char>, ...></tt> </tt> 831<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-comment"># but when we find a type for this, we then compare it against the fully-qualified</tt> </tt> 832<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-comment"># std::pair<const std::basic_string<char, std::char_traits... and of course fail</tt> </tt> 833<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-comment"># the way to bypass this problem is to avoid using the std:: prefix in this specific case</tt> </tt> 834<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">fixed_0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">fixed_1</tt><tt class="py-op">:</tt> </tt> 835<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">map_arg_type</tt> <tt class="py-op">=</tt> <tt class="py-string">"pair<const "</tt> <tt class="py-op">+</tt> <tt class="py-name">map_arg_0</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">map_arg_1</tt> </tt> 836<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 837<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">map_arg_type</tt> <tt class="py-op">=</tt> <tt class="py-string">"std::pair<const "</tt> <tt class="py-op">+</tt> <tt class="py-name">map_arg_0</tt> <tt class="py-op">+</tt> <tt class="py-string">", "</tt> <tt class="py-op">+</tt> <tt class="py-name">map_arg_1</tt> </tt> 838<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> </tt> 839<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">map_arg_1</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'>'</tt><tt class="py-op">:</tt> </tt> 840<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-name">map_arg_type</tt> <tt class="py-op">=</tt> <tt class="py-name">map_arg_type</tt> <tt class="py-op">+</tt> <tt class="py-string">" >"</tt> </tt> 841<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 842<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">map_arg_type</tt> <tt class="py-op">=</tt> <tt class="py-name">map_arg_type</tt> <tt class="py-op">+</tt> <tt class="py-string">">"</tt> </tt> 843<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> </tt> 844<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"final contents datatype is: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">map_arg_type</tt><tt class="py-op">)</tt> </tt> 845<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> </tt> 846<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">valobj</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name" targets="Method lldb.SBProcess.GetTarget()=lldb.SBProcess-class.html#GetTarget,Method lldb.SBValue.GetTarget()=lldb.SBValue-class.html#GetTarget"><a title="lldb.SBProcess.GetTarget 847lldb.SBValue.GetTarget" class="py-name" href="#" onclick="return doclink('link-213', 'GetTarget', 'link-213');">GetTarget</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name" targets="Method lldb.SBModule.FindFirstType()=lldb.SBModule-class.html#FindFirstType,Method lldb.SBTarget.FindFirstType()=lldb.SBTarget-class.html#FindFirstType"><a title="lldb.SBModule.FindFirstType 848lldb.SBTarget.FindFirstType" class="py-name" href="#" onclick="return doclink('link-214', 'FindFirstType', 'link-214');">FindFirstType</a></tt><tt class="py-op">(</tt><tt class="py-name">map_arg_type</tt><tt class="py-op">)</tt> </tt> 849<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> </tt> 850<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"and the SBType is: "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt> 851<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> </tt> 852<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-comment"># from libstdc++ implementation of _M_root for rbtree</tt> </tt> 853<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mroot</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mheader</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-215', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_parent'</tt><tt class="py-op">)</tt> </tt> 854<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="lldb.SBData.GetByteSize 855lldb.SBInstruction.GetByteSize 856lldb.SBSection.GetByteSize 857lldb.SBType.GetByteSize 858lldb.SBValue.GetByteSize" class="py-name" href="#" onclick="return doclink('link-216', 'GetByteSize', 'link-92');">GetByteSize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 859<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skip_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mheader</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="lldb.SBError.GetType 860lldb.SBEvent.GetType 861lldb.SBFunction.GetType 862lldb.SBSymbol.GetType 863lldb.SBTypeMember.GetType 864lldb.SBTypeNameSpecifier.GetType 865lldb.SBValue.GetType" class="py-name" href="#" onclick="return doclink('link-217', 'GetType', 'link-91');">GetType</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="lldb.SBData.GetByteSize 866lldb.SBInstruction.GetByteSize 867lldb.SBSection.GetByteSize 868lldb.SBType.GetByteSize 869lldb.SBValue.GetByteSize" class="py-name" href="#" onclick="return doclink('link-218', 'GetByteSize', 'link-92');">GetByteSize</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 870<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 871<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt> 872</div><a name="L320"></a><tt class="py-lineno">320</tt> <tt class="py-line"> </tt> 873<a name="StdMapSynthProvider.num_children"></a><div id="StdMapSynthProvider.num_children-def"><a name="L321"></a><tt class="py-lineno">321</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.num_children-toggle" onclick="return toggle('StdMapSynthProvider.num_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#num_children">num_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 874</div><div id="StdMapSynthProvider.num_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.num_children-expanded"><a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-219" class="py-name" targets="Variable lldb.formatters.cpp.gnu_libstdcpp._map_capping_size=lldb.formatters.cpp.gnu_libstdcpp-module.html#_map_capping_size,Variable lldb.formatters.cpp.libcxx._map_capping_size=lldb.formatters.cpp.libcxx-module.html#_map_capping_size"><a title="lldb.formatters.cpp.gnu_libstdcpp._map_capping_size 875lldb.formatters.cpp.libcxx._map_capping_size" class="py-name" href="#" onclick="return doclink('link-219', '_map_capping_size', 'link-219');">_map_capping_size</a></tt> </tt> 876<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-220', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-221', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="lldb.formatters.Logger 877lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-222', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="lldb.formatters.Logger 878lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-223', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 879<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-224', 'count', 'link-7');">count</a></tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt> 880<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-225', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children_impl 881lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children_impl 882lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children_impl 883lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children_impl 884lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children_impl" class="py-name" href="#" onclick="return doclink('link-226', 'num_children_impl', 'link-48');">num_children_impl</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 885<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-227', 'count', 'link-7');">count</a></tt> <tt class="py-op">></tt> <tt id="link-228" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._map_capping_size 886lldb.formatters.cpp.libcxx._map_capping_size" class="py-name" href="#" onclick="return doclink('link-228', '_map_capping_size', 'link-219');">_map_capping_size</a></tt><tt class="py-op">:</tt> </tt> 887<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-229', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt id="link-230" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._map_capping_size 888lldb.formatters.cpp.libcxx._map_capping_size" class="py-name" href="#" onclick="return doclink('link-230', '_map_capping_size', 'link-219');">_map_capping_size</a></tt> </tt> 889<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-231', 'count', 'link-7');">count</a></tt> </tt> 890</div><a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> </tt> 891<a name="StdMapSynthProvider.num_children_impl"></a><div id="StdMapSynthProvider.num_children_impl-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.num_children_impl-toggle" onclick="return toggle('StdMapSynthProvider.num_children_impl');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#num_children_impl">num_children_impl</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 892</div><div id="StdMapSynthProvider.num_children_impl-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.num_children_impl-expanded"><a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-232" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-232', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-233', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="lldb.formatters.Logger 893lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-234', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lldb.formatters.Logger 894lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-235', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 895<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 896<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-name">root_ptr_val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#node_ptr_value"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-236', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mroot</tt><tt class="py-op">)</tt> </tt> 897<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">root_ptr_val</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 898<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt><tt class="py-op">;</tt> </tt> 899<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt id="link-237" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-237', 'count', 'link-7');">count</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mimpl</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-238', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">'_M_node_count'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-239', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 900<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"I have "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-240', 'count', 'link-7');">count</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" children available"</tt> </tt> 901<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-241" class="py-name"><a title="lldb.SBTypeFilter.count" class="py-name" href="#" onclick="return doclink('link-241', 'count', 'link-7');">count</a></tt> </tt> 902<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 903<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">0</tt><tt class="py-op">;</tt> </tt> 904</div><a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> </tt> 905<a name="StdMapSynthProvider.get_child_index"></a><div id="StdMapSynthProvider.get_child_index-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.get_child_index-toggle" onclick="return toggle('StdMapSynthProvider.get_child_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#get_child_index">get_child_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 906</div><div id="StdMapSynthProvider.get_child_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.get_child_index-expanded"><a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-242" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-242', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-243', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="lldb.formatters.Logger 907lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-244', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lldb.formatters.Logger 908lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-245', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 909<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 910<a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-246" class="py-name"><a title="lldb.SBBlock.name 911lldb.SBFrame.name 912lldb.SBFunction.name 913lldb.SBSection.name 914lldb.SBSymbol.name 915lldb.SBThread.name 916lldb.SBType.name 917lldb.SBTypeCategory.name 918lldb.SBTypeMember.name 919lldb.SBTypeNameSpecifier.name 920lldb.SBValue.name" class="py-name" href="#" onclick="return doclink('link-246', 'name', 'link-78');">name</a></tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-string">']'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> 921<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 922<a name="L347"></a><tt class="py-lineno">347</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt> 923</div><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> </tt> 924<a name="StdMapSynthProvider.get_child_at_index"></a><div id="StdMapSynthProvider.get_child_at_index-def"><a name="L349"></a><tt class="py-lineno">349</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.get_child_at_index-toggle" onclick="return toggle('StdMapSynthProvider.get_child_at_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#get_child_at_index">get_child_at_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 925</div><div id="StdMapSynthProvider.get_child_at_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.get_child_at_index-expanded"><a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-247" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-247', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-248', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="lldb.formatters.Logger 926lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-249', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="lldb.formatters.Logger 927lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-250', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 928<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Being asked to fetch child["</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"]"</tt> </tt> 929<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 930<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 931<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">index</tt> <tt class="py-op">>=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="lldb.SBValue.num_children 932lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 933lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 934lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 935lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 936lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 937lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 938lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 939lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-251', 'num_children', 'link-83');">num_children</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 940<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">;</tt> </tt> 941<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">garbage</tt><tt class="py-op">:</tt> </tt> 942<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-string">"Returning None since we are a garbage tree"</tt> </tt> 943<a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 944<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt> 945<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> <tt id="link-252" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-252', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> </tt> 946<a name="L361"></a><tt class="py-lineno">361</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.left()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#left,Variable lldb.formatters.cpp.libcxx.stdmap_iterator_node.left=lldb.formatters.cpp.libcxx.stdmap_iterator_node-class.html#left"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.left 947lldb.formatters.cpp.libcxx.stdmap_iterator_node.left" class="py-name" href="#" onclick="return doclink('link-253', 'left', 'link-253');">left</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Mheader</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 948<a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-254" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-254', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 949<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-255" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.increment_node()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#increment_node,Method lldb.formatters.cpp.libcxx.stdlist_iterator.increment_node()=lldb.formatters.cpp.libcxx.stdlist_iterator-class.html#increment_node,Method lldb.formatters.cpp.libcxx.stdmap_iterator.increment_node()=lldb.formatters.cpp.libcxx.stdmap_iterator-class.html#increment_node"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.increment_node 950lldb.formatters.cpp.libcxx.stdlist_iterator.increment_node 951lldb.formatters.cpp.libcxx.stdmap_iterator.increment_node" class="py-name" href="#" onclick="return doclink('link-255', 'increment_node', 'link-255');">increment_node</a></tt><tt class="py-op">(</tt><tt class="py-name">current</tt><tt class="py-op">)</tt> </tt> 952<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt id="link-256" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-256', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">=</tt> <tt id="link-257" class="py-name"><a title="lldb.SBAddress.offset" class="py-name" href="#" onclick="return doclink('link-257', 'offset', 'link-84');">offset</a></tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">;</tt> </tt> 953<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-comment"># skip all the base stuff and get at the data</tt> </tt> 954<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">current</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="lldb.SBValue.CreateChildAtOffset" class="py-name" href="#" onclick="return doclink('link-258', 'CreateChildAtOffset', 'link-90');">CreateChildAtOffset</a></tt><tt class="py-op">(</tt><tt class="py-string">'['</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">index</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">']'</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">skip_size</tt><tt class="py-op">,</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">)</tt> </tt> 955<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt> 956<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 957</div><a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> </tt> 958<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-comment"># utility functions</tt> </tt> 959<a name="StdMapSynthProvider.node_ptr_value"></a><div id="StdMapSynthProvider.node_ptr_value-def"><a name="L371"></a><tt class="py-lineno">371</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.node_ptr_value-toggle" onclick="return toggle('StdMapSynthProvider.node_ptr_value');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#node_ptr_value">node_ptr_value</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 960</div><div id="StdMapSynthProvider.node_ptr_value-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.node_ptr_value-expanded"><a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-259" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-259', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-260" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-260', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="lldb.formatters.Logger 961lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-261', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="lldb.formatters.Logger 962lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-262', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 963<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="lldb.SBValue.GetValueAsUnsigned" class="py-name" href="#" onclick="return doclink('link-263', 'GetValueAsUnsigned', 'link-24');">GetValueAsUnsigned</a></tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt> 964</div><a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> </tt> 965<a name="StdMapSynthProvider.right"></a><div id="StdMapSynthProvider.right-def"><a name="L375"></a><tt class="py-lineno">375</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.right-toggle" onclick="return toggle('StdMapSynthProvider.right');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#right">right</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 966</div><div id="StdMapSynthProvider.right-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.right-expanded"><a name="L376"></a><tt class="py-lineno">376</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-264" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-264', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-265', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="lldb.formatters.Logger 967lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-266', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="lldb.formatters.Logger 968lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-267', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 969<a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-268" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-268', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">"_M_right"</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 970</div><a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> </tt> 971<a name="StdMapSynthProvider.left"></a><div id="StdMapSynthProvider.left-def"><a name="L379"></a><tt class="py-lineno">379</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.left-toggle" onclick="return toggle('StdMapSynthProvider.left');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#left">left</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 972</div><div id="StdMapSynthProvider.left-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.left-expanded"><a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-269" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-269', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-270', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-271" class="py-name"><a title="lldb.formatters.Logger 973lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-271', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="lldb.formatters.Logger 974lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-272', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 975<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-273', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">"_M_left"</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 976</div><a name="L382"></a><tt class="py-lineno">382</tt> <tt class="py-line"> </tt> 977<a name="StdMapSynthProvider.parent"></a><div id="StdMapSynthProvider.parent-def"><a name="L383"></a><tt class="py-lineno">383</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.parent-toggle" onclick="return toggle('StdMapSynthProvider.parent');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#parent">parent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 978</div><div id="StdMapSynthProvider.parent-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.parent-expanded"><a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-274" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-274', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-275" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-275', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-276" class="py-name"><a title="lldb.formatters.Logger 979lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-276', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="lldb.formatters.Logger 980lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-277', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 981<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">node</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="lldb.SBValue.GetChildMemberWithName" class="py-name" href="#" onclick="return doclink('link-278', 'GetChildMemberWithName', 'link-13');">GetChildMemberWithName</a></tt><tt class="py-op">(</tt><tt class="py-string">"_M_parent"</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 982</div><a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> </tt> 983<a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> <tt class="py-comment"># from libstdc++ implementation of iterator for rbtree</tt> </tt> 984<a name="StdMapSynthProvider.increment_node"></a><div id="StdMapSynthProvider.increment_node-def"><a name="L388"></a><tt class="py-lineno">388</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.increment_node-toggle" onclick="return toggle('StdMapSynthProvider.increment_node');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#increment_node">increment_node</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt><tt class="py-param">node</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 985</div><div id="StdMapSynthProvider.increment_node-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.increment_node-expanded"><a name="L389"></a><tt class="py-lineno">389</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">=</tt> <tt id="link-279" class="py-name"><a title="lldb" class="py-name" href="#" onclick="return doclink('link-279', 'lldb', 'link-0');">lldb</a></tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="lldb.formatters" class="py-name" href="#" onclick="return doclink('link-280', 'formatters', 'link-1');">formatters</a></tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="lldb.formatters.Logger 986lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-281', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="lldb.formatters.Logger 987lldb.formatters.Logger.Logger" class="py-name" href="#" onclick="return doclink('link-282', 'Logger', 'link-2');">Logger</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 988<a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt class="py-name">max_steps</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="lldb.SBValue.num_children 989lldb.formatters.cpp.gnu_libstdcpp.StdListSynthProvider.num_children 990lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.num_children 991lldb.formatters.cpp.gnu_libstdcpp.StdVectorSynthProvider.num_children 992lldb.formatters.cpp.libcxx.stddeque_SynthProvider.num_children 993lldb.formatters.cpp.libcxx.stdlist_SynthProvider.num_children 994lldb.formatters.cpp.libcxx.stdmap_SynthProvider.num_children 995lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider.num_children 996lldb.formatters.cpp.libcxx.stdvector_SynthProvider.num_children" class="py-name" href="#" onclick="return doclink('link-283', 'num_children', 'link-83');">num_children</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> 997<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-284', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name" targets="Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.right()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#right,Variable lldb.formatters.cpp.libcxx.stdmap_iterator_node.right=lldb.formatters.cpp.libcxx.stdmap_iterator_node-class.html#right"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.right 998lldb.formatters.cpp.libcxx.stdmap_iterator_node.right" class="py-name" href="#" onclick="return doclink('link-285', 'right', 'link-285');">right</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 999<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt id="link-286" class="py-name" targets="Variable lldb.formatters.cpp.x=lldb.formatters.cpp-module.html#x,Variable lldb.formatters.x=lldb.formatters-module.html#x,Variable lldb.utils.x=lldb.utils-module.html#x"><a title="lldb.formatters.cpp.x 1000lldb.formatters.x 1001lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-286', 'x', 'link-286');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.right 1002lldb.formatters.cpp.libcxx.stdmap_iterator_node.right" class="py-name" href="#" onclick="return doclink('link-287', 'right', 'link-285');">right</a></tt><tt class="py-op">(</tt><tt class="py-name">node</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 1003<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> <tt class="py-name">max_steps</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt> 1004<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-288', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.left 1005lldb.formatters.cpp.libcxx.stdmap_iterator_node.left" class="py-name" href="#" onclick="return doclink('link-289', 'left', 'link-253');">left</a></tt><tt class="py-op">(</tt><tt id="link-290" class="py-name"><a title="lldb.formatters.cpp.x 1006lldb.formatters.x 1007lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-290', 'x', 'link-286');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 1008<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"> <tt id="link-291" class="py-name"><a title="lldb.formatters.cpp.x 1009lldb.formatters.x 1010lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-291', 'x', 'link-286');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.left 1011lldb.formatters.cpp.libcxx.stdmap_iterator_node.left" class="py-name" href="#" onclick="return doclink('link-292', 'left', 'link-253');">left</a></tt><tt class="py-op">(</tt><tt id="link-293" class="py-name"><a title="lldb.formatters.cpp.x 1012lldb.formatters.x 1013lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-293', 'x', 'link-286');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 1014<a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> <tt class="py-name">max_steps</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt> 1015<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">max_steps</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" more to go before giving up"</tt> </tt> 1016<a name="L398"></a><tt class="py-lineno">398</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">max_steps</tt> <tt class="py-op"><=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 1017<a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">garbage</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt> 1018<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 1019<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-294" class="py-name"><a title="lldb.formatters.cpp.x 1020lldb.formatters.x 1021lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-294', 'x', 'link-286');">x</a></tt><tt class="py-op">;</tt> </tt> 1022<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> 1023<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt id="link-295" class="py-name"><a title="lldb.formatters.cpp.x 1024lldb.formatters.x 1025lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-295', 'x', 'link-286');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">node</tt><tt class="py-op">;</tt> </tt> 1026<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name" targets="Variable lldb.SBBlock.parent=lldb.SBBlock-class.html#parent,Method lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.parent()=lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#parent,Variable lldb.formatters.cpp.libcxx.stdmap_iterator_node.parent=lldb.formatters.cpp.libcxx.stdmap_iterator_node-class.html#parent"><a title="lldb.SBBlock.parent 1027lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.parent 1028lldb.formatters.cpp.libcxx.stdmap_iterator_node.parent" class="py-name" href="#" onclick="return doclink('link-296', 'parent', 'link-296');">parent</a></tt><tt class="py-op">(</tt><tt id="link-297" class="py-name"><a title="lldb.formatters.cpp.x 1029lldb.formatters.x 1030lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-297', 'x', 'link-286');">x</a></tt><tt class="py-op">)</tt> </tt> 1031<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-name">max_steps</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt> 1032<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-298', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt id="link-299" class="py-name"><a title="lldb.formatters.cpp.x 1033lldb.formatters.x 1034lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-299', 'x', 'link-286');">x</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-300', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.right 1035lldb.formatters.cpp.libcxx.stdmap_iterator_node.right" class="py-name" href="#" onclick="return doclink('link-301', 'right', 'link-285');">right</a></tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 1036<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt id="link-302" class="py-name"><a title="lldb.formatters.cpp.x 1037lldb.formatters.x 1038lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-302', 'x', 'link-286');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">y</tt><tt class="py-op">;</tt> </tt> 1039<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"> <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-303" class="py-name"><a title="lldb.SBBlock.parent 1040lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.parent 1041lldb.formatters.cpp.libcxx.stdmap_iterator_node.parent" class="py-name" href="#" onclick="return doclink('link-303', 'parent', 'link-296');">parent</a></tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">;</tt> </tt> 1042<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"> <tt class="py-name">max_steps</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt> 1043<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"> <tt class="py-name">logger</tt> <tt class="py-op">>></tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">max_steps</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" more to go before giving up"</tt> </tt> 1044<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">max_steps</tt> <tt class="py-op"><=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt> 1045<a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">garbage</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt> 1046<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt> 1047<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-304', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.right 1048lldb.formatters.cpp.libcxx.stdmap_iterator_node.right" class="py-name" href="#" onclick="return doclink('link-305', 'right', 'link-285');">right</a></tt><tt class="py-op">(</tt><tt id="link-306" class="py-name"><a title="lldb.formatters.cpp.x 1049lldb.formatters.x 1050lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-306', 'x', 'link-286');">x</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider.node_ptr_value" class="py-name" href="#" onclick="return doclink('link-307', 'node_ptr_value', 'link-236');">node_ptr_value</a></tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 1051<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> <tt id="link-308" class="py-name"><a title="lldb.formatters.cpp.x 1052lldb.formatters.x 1053lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-308', 'x', 'link-286');">x</a></tt> <tt class="py-op">=</tt> <tt class="py-name">y</tt><tt class="py-op">;</tt> </tt> 1054<a name="L416"></a><tt class="py-lineno">416</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-309" class="py-name"><a title="lldb.formatters.cpp.x 1055lldb.formatters.x 1056lldb.utils.x" class="py-name" href="#" onclick="return doclink('link-309', 'x', 'link-286');">x</a></tt><tt class="py-op">;</tt> </tt> 1057</div><a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> </tt> 1058<a name="StdMapSynthProvider.has_children"></a><div id="StdMapSynthProvider.has_children-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="StdMapSynthProvider.has_children-toggle" onclick="return toggle('StdMapSynthProvider.has_children');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="lldb.formatters.cpp.gnu_libstdcpp.StdMapSynthProvider-class.html#has_children">has_children</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> 1059</div><div id="StdMapSynthProvider.has_children-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="StdMapSynthProvider.has_children-expanded"><a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt> 1060</div></div><a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> </tt> 1061<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"><tt id="link-310" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._map_capping_size 1062lldb.formatters.cpp.libcxx._map_capping_size" class="py-name" href="#" onclick="return doclink('link-310', '_map_capping_size', 'link-219');">_map_capping_size</a></tt> <tt class="py-op">=</tt> <tt class="py-number">255</tt> </tt> 1063<a name="L422"></a><tt class="py-lineno">422</tt> <tt class="py-line"><tt id="link-311" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_capping_size 1064lldb.formatters.cpp.libcxx._list_capping_size" class="py-name" href="#" onclick="return doclink('link-311', '_list_capping_size', 'link-41');">_list_capping_size</a></tt> <tt class="py-op">=</tt> <tt class="py-number">255</tt> </tt> 1065<a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"><tt id="link-312" class="py-name"><a title="lldb.formatters.cpp.gnu_libstdcpp._list_uses_loop_detector 1066lldb.formatters.cpp.libcxx._list_uses_loop_detector" class="py-name" href="#" onclick="return doclink('link-312', '_list_uses_loop_detector', 'link-25');">_list_uses_loop_detector</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt> 1067<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> </tt><script type="text/javascript"> 1068<!-- 1069expandto(location.href); 1070// --> 1071</script> 1072</pre> 1073<br /> 1074<!-- ==================== NAVIGATION BAR ==================== --> 1075<table class="navbar" border="0" width="100%" cellpadding="0" 1076 bgcolor="#a0c0ff" cellspacing="0"> 1077 <tr valign="middle"> 1078 1079 <!-- Tree link --> 1080 <th> <a 1081 href="module-tree.html">Trees</a> </th> 1082 1083 <!-- Index link --> 1084 <th> <a 1085 href="identifier-index.html">Indices</a> </th> 1086 1087 <!-- Help link --> 1088 <th> <a 1089 href="help.html">Help</a> </th> 1090 1091 <!-- Project homepage --> 1092 <th class="navbar" align="right" width="100%"> 1093 <table border="0" cellpadding="0" cellspacing="0"> 1094 <tr><th class="navbar" align="center" 1095 ><a class="navbar" target="_top" href="http://lldb.llvm.org">LLDB python API</a></th> 1096 </tr></table></th> 1097 </tr> 1098</table> 1099<table border="0" cellpadding="0" cellspacing="0" width="100%%"> 1100 <tr> 1101 <td align="left" class="footer"> 1102 Generated by Epydoc 3.0.1 on Fri Jul 19 13:22:38 2013 1103 </td> 1104 <td align="right" class="footer"> 1105 <a target="mainFrame" href="http://epydoc.sourceforge.net" 1106 >http://epydoc.sourceforge.net</a> 1107 </td> 1108 </tr> 1109</table> 1110 1111<script type="text/javascript"> 1112 <!-- 1113 // Private objects are initially displayed (because if 1114 // javascript is turned off then we want them to be 1115 // visible); but by default, we want to hide them. So hide 1116 // them unless we have a cookie that says to show them. 1117 checkCookie(); 1118 // --> 1119</script> 1120</body> 1121</html> 1122