<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>librevenge::DirTree Class Reference documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classlibrevenge_1_1DirTree.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="classlibrevenge_1_1DirTree-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">librevenge::DirTree Class Reference</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structlibrevenge_1_1DirTree_1_1CompareEntryName.html">CompareEntryName</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">a comparaison funcion of <a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> used to sort the entry by name <a href="structlibrevenge_1_1DirTree_1_1CompareEntryName.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a2ef704ada56286603232d9edd5a33652"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a2ef704ada56286603232d9edd5a33652">DirTree</a> ()</td></tr> <tr class="memdesc:a2ef704ada56286603232d9edd5a33652"><td class="mdescLeft"> </td><td class="mdescRight">constructor <a href="#a2ef704ada56286603232d9edd5a33652">More...</a><br/></td></tr> <tr class="separator:a2ef704ada56286603232d9edd5a33652"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afba50f21334e062853c5e1ba41398bc2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#afba50f21334e062853c5e1ba41398bc2">clear</a> ()</td></tr> <tr class="memdesc:afba50f21334e062853c5e1ba41398bc2"><td class="mdescLeft"> </td><td class="mdescRight">clear all entries, leaving only a root entries <a href="#afba50f21334e062853c5e1ba41398bc2">More...</a><br/></td></tr> <tr class="separator:afba50f21334e062853c5e1ba41398bc2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abf165479e5e706f78c4bc75801a0f1d5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#abf165479e5e706f78c4bc75801a0f1d5">setRootType</a> (bool pc=true)</td></tr> <tr class="memdesc:abf165479e5e706f78c4bc75801a0f1d5"><td class="mdescLeft"> </td><td class="mdescRight">set the root to a mac/pc root <a href="#abf165479e5e706f78c4bc75801a0f1d5">More...</a><br/></td></tr> <tr class="separator:abf165479e5e706f78c4bc75801a0f1d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a747695ad26172dcc4b8dda78e134dc05"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a747695ad26172dcc4b8dda78e134dc05">hasRootTypePc</a> () const </td></tr> <tr class="memdesc:a747695ad26172dcc4b8dda78e134dc05"><td class="mdescLeft"> </td><td class="mdescRight">returns true if it is a pc file <a href="#a747695ad26172dcc4b8dda78e134dc05">More...</a><br/></td></tr> <tr class="separator:a747695ad26172dcc4b8dda78e134dc05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a27d9d6940dc55d82ec12aca00aeebd73"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a27d9d6940dc55d82ec12aca00aeebd73">count</a> () const </td></tr> <tr class="memdesc:a27d9d6940dc55d82ec12aca00aeebd73"><td class="mdescLeft"> </td><td class="mdescRight">returns the number of entries <a href="#a27d9d6940dc55d82ec12aca00aeebd73">More...</a><br/></td></tr> <tr class="separator:a27d9d6940dc55d82ec12aca00aeebd73"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ababbe93c0354bfa17c963a8d378c77f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a> const * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#ababbe93c0354bfa17c963a8d378c77f6">entry</a> (unsigned ind) const </td></tr> <tr class="memdesc:ababbe93c0354bfa17c963a8d378c77f6"><td class="mdescLeft"> </td><td class="mdescRight">returns the entry with a given index <a href="#ababbe93c0354bfa17c963a8d378c77f6">More...</a><br/></td></tr> <tr class="separator:ababbe93c0354bfa17c963a8d378c77f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba85dac56a6a396829df311f24363b65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#aba85dac56a6a396829df311f24363b65">entry</a> (unsigned ind)</td></tr> <tr class="memdesc:aba85dac56a6a396829df311f24363b65"><td class="mdescLeft"> </td><td class="mdescRight">returns the entry with a given index <a href="#aba85dac56a6a396829df311f24363b65">More...</a><br/></td></tr> <tr class="separator:aba85dac56a6a396829df311f24363b65"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5e94da270e11d487f64369f8fc2f547a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a5e94da270e11d487f64369f8fc2f547a">entry</a> (const std::string &name)</td></tr> <tr class="memdesc:a5e94da270e11d487f64369f8fc2f547a"><td class="mdescLeft"> </td><td class="mdescRight">returns the entry with a given name <a href="#a5e94da270e11d487f64369f8fc2f547a">More...</a><br/></td></tr> <tr class="separator:a5e94da270e11d487f64369f8fc2f547a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:affb5f4daeb611185e93c924ee63bd6fc"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#affb5f4daeb611185e93c924ee63bd6fc">index</a> (const std::string &name, bool create=false)</td></tr> <tr class="memdesc:affb5f4daeb611185e93c924ee63bd6fc"><td class="mdescLeft"> </td><td class="mdescRight">given a fullname (e.g "/ObjectPool/_1020961869"), find the entry <a href="#affb5f4daeb611185e93c924ee63bd6fc">More...</a><br/></td></tr> <tr class="separator:affb5f4daeb611185e93c924ee63bd6fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab42a3588f8531faaae78b4fcf510bc71"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#ab42a3588f8531faaae78b4fcf510bc71">find_child</a> (unsigned ind, const std::string &name) const </td></tr> <tr class="memdesc:ab42a3588f8531faaae78b4fcf510bc71"><td class="mdescLeft"> </td><td class="mdescRight">tries to find a child of ind with a given name <a href="#ab42a3588f8531faaae78b4fcf510bc71">More...</a><br/></td></tr> <tr class="separator:ab42a3588f8531faaae78b4fcf510bc71"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1b32d0008a59e5ff656f7b2884f08fca"><td class="memItemLeft" align="right" valign="top">std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a1b32d0008a59e5ff656f7b2884f08fca">getSubStreamList</a> (unsigned ind=0, bool retrieveAll=false)</td></tr> <tr class="memdesc:a1b32d0008a59e5ff656f7b2884f08fca"><td class="mdescLeft"> </td><td class="mdescRight">returns the list of ind substream <a href="#a1b32d0008a59e5ff656f7b2884f08fca">More...</a><br/></td></tr> <tr class="separator:a1b32d0008a59e5ff656f7b2884f08fca"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1ba3d9ccaa6c4f0ed1052dd241333fcd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a1ba3d9ccaa6c4f0ed1052dd241333fcd">load</a> (unsigned char *buffer, unsigned len)</td></tr> <tr class="memdesc:a1ba3d9ccaa6c4f0ed1052dd241333fcd"><td class="mdescLeft"> </td><td class="mdescRight">tries to read the different entries <a href="#a1ba3d9ccaa6c4f0ed1052dd241333fcd">More...</a><br/></td></tr> <tr class="separator:a1ba3d9ccaa6c4f0ed1052dd241333fcd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4444a42c65ed82de664cc7eeba0ec9ae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a4444a42c65ed82de664cc7eeba0ec9ae">setInRedBlackTreeForm</a> ()</td></tr> <tr class="memdesc:a4444a42c65ed82de664cc7eeba0ec9ae"><td class="mdescLeft"> </td><td class="mdescRight">check/update so that the sibling are store with a red black tree <a href="#a4444a42c65ed82de664cc7eeba0ec9ae">More...</a><br/></td></tr> <tr class="separator:a4444a42c65ed82de664cc7eeba0ec9ae"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7c407dc2db18bea15fd05af0538f0ce8"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a7c407dc2db18bea15fd05af0538f0ce8">saveSize</a> () const </td></tr> <tr class="memdesc:a7c407dc2db18bea15fd05af0538f0ce8"><td class="mdescLeft"> </td><td class="mdescRight">return space required to save a dir entry <a href="#a7c407dc2db18bea15fd05af0538f0ce8">More...</a><br/></td></tr> <tr class="separator:a7c407dc2db18bea15fd05af0538f0ce8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8268a67a0ba9a47448bd0984370da0c4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a8268a67a0ba9a47448bd0984370da0c4">save</a> (unsigned char *buffer) const </td></tr> <tr class="memdesc:a8268a67a0ba9a47448bd0984370da0c4"><td class="mdescLeft"> </td><td class="mdescRight">save the list of direntry in buffer <a href="#a8268a67a0ba9a47448bd0984370da0c4">More...</a><br/></td></tr> <tr class="separator:a8268a67a0ba9a47448bd0984370da0c4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a8c580d96bd204ae8bf71ff238809213a"><td class="memItemLeft" align="right" valign="top">std::vector< unsigned > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a8c580d96bd204ae8bf71ff238809213a">get_siblings</a> (unsigned ind) const </td></tr> <tr class="memdesc:a8c580d96bd204ae8bf71ff238809213a"><td class="mdescLeft"> </td><td class="mdescRight">returns a list of siblings corresponding to a node <a href="#a8c580d96bd204ae8bf71ff238809213a">More...</a><br/></td></tr> <tr class="separator:a8c580d96bd204ae8bf71ff238809213a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a97b26475fa890d3a81cc65e369778c3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a97b26475fa890d3a81cc65e369778c3e">get_siblings</a> (unsigned ind, std::set< unsigned > &seens) const </td></tr> <tr class="memdesc:a97b26475fa890d3a81cc65e369778c3e"><td class="mdescLeft"> </td><td class="mdescRight">constructs the list of siblings ( by filling the seens set ) <a href="#a97b26475fa890d3a81cc65e369778c3e">More...</a><br/></td></tr> <tr class="separator:a97b26475fa890d3a81cc65e369778c3e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a66ab142fe29d08ab7242e5f510559b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a4a66ab142fe29d08ab7242e5f510559b">getSubStreamList</a> (unsigned ind, bool all, const std::string &prefix, std::vector< std::string > &res, std::set< unsigned > &seen, bool isRoot=false) const </td></tr> <tr class="memdesc:a4a66ab142fe29d08ab7242e5f510559b"><td class="mdescLeft"> </td><td class="mdescRight">returns a substream list <a href="#a4a66ab142fe29d08ab7242e5f510559b">More...</a><br/></td></tr> <tr class="separator:a4a66ab142fe29d08ab7242e5f510559b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1d85118b3bfda22065bd2ffd876ca57"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#ad1d85118b3bfda22065bd2ffd876ca57">setInRedBlackTreeForm</a> (unsigned id, std::set< unsigned > &seen)</td></tr> <tr class="memdesc:ad1d85118b3bfda22065bd2ffd876ca57"><td class="mdescLeft"> </td><td class="mdescRight">check that the subtrees of index is a red black tree, if not rebuild it <a href="#ad1d85118b3bfda22065bd2ffd876ca57">More...</a><br/></td></tr> <tr class="separator:ad1d85118b3bfda22065bd2ffd876ca57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed4b1fffe0672dc59e0b4dffad734138"><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#aed4b1fffe0672dc59e0b4dffad734138">setInRBTForm</a> (std::vector< unsigned > const &childList, unsigned firstInd, unsigned lastInd, unsigned height)</td></tr> <tr class="memdesc:aed4b1fffe0672dc59e0b4dffad734138"><td class="mdescLeft"> </td><td class="mdescRight">rebuild all the childs m_left, m_right index as a red black tree, returns the root index. <a href="#aed4b1fffe0672dc59e0b4dffad734138">More...</a><br/></td></tr> <tr class="separator:aed4b1fffe0672dc59e0b4dffad734138"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:a5b66aa057de36028ff26c58f993d037f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a5b66aa057de36028ff26c58f993d037f">DirTree</a> (const <a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> &)</td></tr> <tr class="separator:a5b66aa057de36028ff26c58f993d037f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad1b169b02c2b2cc0847f54dafe82698f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#ad1b169b02c2b2cc0847f54dafe82698f">operator=</a> (const <a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> &)</td></tr> <tr class="separator:ad1b169b02c2b2cc0847f54dafe82698f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:a7a67086cac3472eb00f1345f286d0328"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibrevenge_1_1DirTree.html#a7a67086cac3472eb00f1345f286d0328">m_entries</a></td></tr> <tr class="separator:a7a67086cac3472eb00f1345f286d0328"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a2ef704ada56286603232d9edd5a33652"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">librevenge::DirTree::DirTree </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>constructor </p> </div> </div> <a class="anchor" id="a5b66aa057de36028ff26c58f993d037f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">librevenge::DirTree::DirTree </td> <td>(</td> <td class="paramtype">const <a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> & </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="afba50f21334e062853c5e1ba41398bc2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::clear </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>clear all entries, leaving only a root entries </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1DirTree.html#a2ef704ada56286603232d9edd5a33652">DirTree()</a>.</p> </div> </div> <a class="anchor" id="a27d9d6940dc55d82ec12aca00aeebd73"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned librevenge::DirTree::count </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns the number of entries </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1DirTree.html#ababbe93c0354bfa17c963a8d378c77f6">entry()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a97b26475fa890d3a81cc65e369778c3e">get_siblings()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a8268a67a0ba9a47448bd0984370da0c4">save()</a>, and <a class="el" href="classlibrevenge_1_1DirTree.html#a7c407dc2db18bea15fd05af0538f0ce8">saveSize()</a>.</p> </div> </div> <a class="anchor" id="ababbe93c0354bfa17c963a8d378c77f6"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a> const* librevenge::DirTree::entry </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns the entry with a given index </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1OStorage.html#a85aab147389015791968055df3a8908c">librevenge::OStorage::createEntry()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a5e94da270e11d487f64369f8fc2f547a">entry()</a>, <a class="el" href="classlibrevenge_1_1IStorage.html#a59b5085029f94d00a2c99c0e7d4efb88">librevenge::IStorage::entry()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#ab42a3588f8531faaae78b4fcf510bc71">find_child()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a97b26475fa890d3a81cc65e369778c3e">get_siblings()</a>, <a class="el" href="structlibrevenge_1_1DirTree_1_1CompareEntryName.html#a910d90e4679cc0062e3264ae55c9ac75">librevenge::DirTree::CompareEntryName::operator()()</a>, and <a class="el" href="classlibrevenge_1_1OStorage.html#a730ae4d6d4b99c901298659b5a86c411">librevenge::OStorage::setInformation()</a>.</p> </div> </div> <a class="anchor" id="aba85dac56a6a396829df311f24363b65"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a>* librevenge::DirTree::entry </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns the entry with a given index </p> </div> </div> <a class="anchor" id="a5e94da270e11d487f64369f8fc2f547a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a>* librevenge::DirTree::entry </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>name</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns the entry with a given name </p> </div> </div> <a class="anchor" id="ab42a3588f8531faaae78b4fcf510bc71"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned librevenge::DirTree::find_child </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>tries to find a child of ind with a given name </p> </div> </div> <a class="anchor" id="a8c580d96bd204ae8bf71ff238809213a"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<unsigned> librevenge::DirTree::get_siblings </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns a list of siblings corresponding to a node </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1DirTree.html#ab42a3588f8531faaae78b4fcf510bc71">find_child()</a>, and <a class="el" href="classlibrevenge_1_1DirTree.html#a97b26475fa890d3a81cc65e369778c3e">get_siblings()</a>.</p> </div> </div> <a class="anchor" id="a97b26475fa890d3a81cc65e369778c3e"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::get_siblings </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::set< unsigned > & </td> <td class="paramname"><em>seens</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>constructs the list of siblings ( by filling the seens set ) </p> </div> </div> <a class="anchor" id="a1b32d0008a59e5ff656f7b2884f08fca"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<std::string> librevenge::DirTree::getSubStreamList </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>retrieveAll</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns the list of ind substream </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1IStorage.html#aa073c96d89ae2ee72a6604e872bd60f6">librevenge::IStorage::getSubStreamList()</a>, and <a class="el" href="classlibrevenge_1_1OStorage.html#a7522acd3f297c17c291ac3f0496b6791">librevenge::OStorage::getSubStreamList()</a>.</p> </div> </div> <a class="anchor" id="a4a66ab142fe29d08ab7242e5f510559b"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::getSubStreamList </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>ind</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>all</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>prefix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::vector< std::string > & </td> <td class="paramname"><em>res</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::set< unsigned > & </td> <td class="paramname"><em>seen</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>isRoot</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns a substream list </p> </div> </div> <a class="anchor" id="a747695ad26172dcc4b8dda78e134dc05"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">bool librevenge::DirTree::hasRootTypePc </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>returns true if it is a pc file </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1IStorage.html#a08b7f2704ab733f2673a197c2c44a26a">librevenge::IStorage::hasRootTypePc()</a>.</p> </div> </div> <a class="anchor" id="affb5f4daeb611185e93c924ee63bd6fc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned librevenge::DirTree::index </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"><em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>create</em> = <code>false</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>given a fullname (e.g "/ObjectPool/_1020961869"), find the entry </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1OStorage.html#a85aab147389015791968055df3a8908c">librevenge::OStorage::createEntry()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a5e94da270e11d487f64369f8fc2f547a">entry()</a>, and <a class="el" href="classlibrevenge_1_1IStorage.html#ae767c9e849d609988eb91e5b2cebee8f">librevenge::IStorage::index()</a>.</p> </div> </div> <a class="anchor" id="a1ba3d9ccaa6c4f0ed1052dd241333fcd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::load </td> <td>(</td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>tries to read the different entries </p> </div> </div> <a class="anchor" id="ad1b169b02c2b2cc0847f54dafe82698f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a>& librevenge::DirTree::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classlibrevenge_1_1DirTree.html">DirTree</a> & </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="a8268a67a0ba9a47448bd0984370da0c4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::save </td> <td>(</td> <td class="paramtype">unsigned char * </td> <td class="paramname"><em>buffer</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>save the list of direntry in buffer </p> </div> </div> <a class="anchor" id="a7c407dc2db18bea15fd05af0538f0ce8"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned librevenge::DirTree::saveSize </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>return space required to save a dir entry </p> </div> </div> <a class="anchor" id="aed4b1fffe0672dc59e0b4dffad734138"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned librevenge::DirTree::setInRBTForm </td> <td>(</td> <td class="paramtype">std::vector< unsigned > const & </td> <td class="paramname"><em>childList</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>firstInd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>lastInd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned </td> <td class="paramname"><em>height</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>rebuild all the childs m_left, m_right index as a red black tree, returns the root index. </p> <dl class="section note"><dt>Note</dt><dd>: this function supposes that the childs list is already sorted </dd></dl> </div> </div> <a class="anchor" id="a4444a42c65ed82de664cc7eeba0ec9ae"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::setInRedBlackTreeForm </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>check/update so that the sibling are store with a red black tree </p> </div> </div> <a class="anchor" id="ad1d85118b3bfda22065bd2ffd876ca57"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::setInRedBlackTreeForm </td> <td>(</td> <td class="paramtype">unsigned </td> <td class="paramname"><em>id</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::set< unsigned > & </td> <td class="paramname"><em>seen</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>check that the subtrees of index is a red black tree, if not rebuild it </p> </div> </div> <a class="anchor" id="abf165479e5e706f78c4bc75801a0f1d5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void librevenge::DirTree::setRootType </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"><em>pc</em> = <code>true</code></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>set the root to a mac/pc root </p> <p>Referenced by <a class="el" href="classlibrevenge_1_1OStorage.html#afc65bdff0e2ceabf0c3ac0d3b0314e8b">librevenge::OStorage::setRootType()</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a class="anchor" id="a7a67086cac3472eb00f1345f286d0328"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::vector<<a class="el" href="classlibrevenge_1_1DirEntry.html">DirEntry</a>> librevenge::DirTree::m_entries</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classlibrevenge_1_1DirTree.html#a27d9d6940dc55d82ec12aca00aeebd73">count()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#ababbe93c0354bfa17c963a8d378c77f6">entry()</a>, <a class="el" href="classlibrevenge_1_1DirTree.html#a747695ad26172dcc4b8dda78e134dc05">hasRootTypePc()</a>, and <a class="el" href="classlibrevenge_1_1DirTree.html#a8268a67a0ba9a47448bd0984370da0c4">save()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="RVNGOLEStream_8cpp.html">RVNGOLEStream.cpp</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <hr size="1"><address style="align: right;"><small> Generated for librevenge by <a href="http://www.doxygen.org/index.html"> doxygen</a> 1.8.5</small></address> </body> </html>