title: pretty printer for STL in lldb
body: <p>gdb 7 has some useful python script for STL structure <a href="http://sourceware.org/gdb/wiki/STLSupport" rel="nofollow">http://sourceware.org/gdb/wiki/STLSupport</a></p>
  
  <p>Is there any similar tools for lldb? 
  The information shown is pretty cryptic even with simple map or vector.</p>
  
  <pre><code>-&gt; 100      h-&gt;moveReceivedSummaries(summaries);
     101      auto res = h-&gt;moveReceivedSummaries();
     102      EXPECT_TRUE(*summary == *res[1].get());
     103  }
  (lldb) p summaries
  (std::__1::map&lt;int, std::__1::unique_ptr&lt;ContextSummary, std::__1::default_delete&lt;ContextSummary&gt; &gt;, std::__1::less&lt;int&gt;, std::__1::allocator&lt;std::__1::pair&lt;const int, std::__1::unique_ptr&lt;ContextSummary, std::__1::default_delete&lt;ContextSummary&gt; &gt; &gt; &gt; &gt;) $0 = size=1 {
    (std::__1::__tree_node&lt;std::__1::pair&lt;int, std::__1::unique_ptr&lt;ContextSummary, std::__1::default_delete&lt;ContextSummary&gt; &gt; &gt;, void *&gt;::value_type) [0] = {
      (int) first = 1
      (std::__1::unique_ptr&lt;ContextSummary, std::__1::default_delete&lt;ContextSummary&gt; &gt;) second = {
        (std::__1::__compressed_pair&lt;ContextSummary *, std::__1::default_delete&lt;ContextSummary&gt; &gt;) __ptr_ = {
          (std::__1::__libcpp_compressed_pair_imp&lt;ContextSummary *, std::__1::default_delete&lt;ContextSummary&gt; &gt;) std::__1::__libcpp_compressed_pair_imp&lt;ContextSummary *, std::__1::default_delete&lt;ContextSummary&gt; &gt; = {
            (ContextSummary *) __first_ = 0x0000000100308390
          }
        }
      }
    }
  }
  </code></pre>