<?php
  $BASE = '../..';
  $TITLE = 'gppfs';
  $FULLTITLE = 'Software / ' . $TITLE;

  require ($BASE.'/include/header.php');
?>

            <h1>
              gppfs - GDB pretty printers for STLport
            </h1>

            <h2>
              Introduction
            </h2>

            <p>
              This python module provides <a href="http://www.gnu.org/software/gdb/">GDB</a>
              pretty printers for the containers from <a href="http://www.stlport.org/">STLport</a>.
              It is based on a similar python module for
              <a href="http://sourceware.org/gdb/wiki/STLSupport">libstdc++</a>.
              It has been tested with GDB versions 7.0.1, 7.2, and 7.4.1 and
              STLport versions 4.6.2, 5.0.3, 5.1.7, and 5.2.1.
            </p>

            <h2>
              Example
            </h2>

            <p>With these pretty printers GDB prints an instance of std::string from STLport as</p>
            <div class="code" style="padding-left: 2em">
              $1 = "Hello World!"
            </div>
            <p>instead of the very hard to understand real structure:</p>
            <div class="code" style="padding-left: 2em"><pre>
$2 = {
  &lt;stlp_std::priv::_String_base&lt;char, stlp_std::allocator&lt;char&gt; &gt;&gt; = {
    _M_buffers = {
      _M_end_of_storage = 0x6f57206f6c6c6548 &lt;Address 0x6f57206f6c6c6548 out of bounds&gt;,
      _M_static_buf = "Hello World!\000\177\000\000\266\005\000\000\001\000\000\000p\331\377\377\377\177\000"
    },
    _M_finish = 0x7fffffffd8ec "",
    _M_start_of_storage = {
      &lt;stlp_std::allocator&lt;char&gt;&gt; = {
        &lt;stlp_std::__stlport_class&lt;stlp_std::allocator&lt;char&gt; &gt;&gt; = {&lt;No data fields&gt;}, &lt;No data fields&gt;},
      members of stlp_std::priv::_STLP_alloc_proxy&lt;char*, char, stlp_std::allocator&lt;char&gt; &gt;:
      _M_data = 0x7fffffffd8e0 "Hello World!"
    }
  },
  members of stlp_std::priv::_NonDbg_str&lt;char, stlp_std::char_traits&lt;char&gt;, stlp_std::allocator&lt;char&gt; &gt;:
  static npos = &lt;optimized out&gt;
}           </pre></div>
            <p>(The structure is even more complex if -D_STLP_DEBUG is used.)</p>
            <h2>
              Download
            </h2>

            <ul>
              <li><a class="download" href="gppfs-0.2.tar.bz2">gppfs-0.2.tar.bz2</a> (18 kB)</li>
              <li><a class="download" href="gppfs-0.1.tar.bz2">gppfs-0.1.tar.bz2</a> (17 kB)</li>
            </ul>

<?php
  require ($BASE.'/include/footer.php');
?>
