<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libcollection: Constants defining traverse modes</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libcollection <span id="projectnumber">0.1.3</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <a href="#define-members">Defines</a> </div> <div class="headertitle"> <div class="title">Constants defining traverse modes</div> </div> <div class="ingroups"><a class="el" href="group__collection.html">COLLECTION interface</a></div></div> <div class="contents"> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="groups"></a> Modules</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__moreiterflag.html">Additional iterator flags</a></td></tr> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa45dfb84ff1913115c8d8e014da6d36"></a><!-- doxytag: member="traverseconst::COL_TRAVERSE_DEFAULT" ref="gafa45dfb84ff1913115c8d8e014da6d36" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__traverseconst.html#gafa45dfb84ff1913115c8d8e014da6d36">COL_TRAVERSE_DEFAULT</a>   0x00000000</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Traverse all items in the collection. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__traverseconst.html#ga9a36a2d0b7033b6de38179204e0d6e4b">COL_TRAVERSE_ONELEVEL</a>   0x00000001</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Traverse only the top level. <a href="#ga9a36a2d0b7033b6de38179204e0d6e4b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__traverseconst.html#ga86d3337570601f58b54cff7271b442eb">COL_TRAVERSE_END</a>   0x00000002</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Insert end collection marker. <a href="#ga86d3337570601f58b54cff7271b442eb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae05f70e97f1eb4489a3290875d63658c"></a><!-- doxytag: member="traverseconst::COL_TRAVERSE_IGNORE" ref="gae05f70e97f1eb4489a3290875d63658c" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__traverseconst.html#gae05f70e97f1eb4489a3290875d63658c">COL_TRAVERSE_IGNORE</a>   0x00000004</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Ignore sub collections as if none is present. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__traverseconst.html#ga243cf08b54ee0562f3db43aae9d83900">COL_TRAVERSE_FLAT</a>   0x00000008</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flatten the collection. <a href="#ga243cf08b54ee0562f3db43aae9d83900"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>The following constants define how a collection can be traversed or iterated.</p> <p>Flags defined below can generally be combined with each other.</p> <p><a class="el" href="group__traverseconst.html#ga243cf08b54ee0562f3db43aae9d83900">COL_TRAVERSE_FLAT</a>, <a class="el" href="group__moreiterflag.html#ga81e9a3c29d038571e4b52ab685f9b417">COL_TRAVERSE_SHOWSUB</a>, <a class="el" href="group__moreiterflag.html#gae304668f4d234fdb2b83682be14c8155">COL_TRAVERSE_ONLYSUB</a> are mutually exclusive flags. If combined together results will be unpredictable.<br/> <b>DO NOT MIX THEM IN ONE ITERATOR.</b> </p> <hr/><h2>Define Documentation</h2> <a class="anchor" id="ga86d3337570601f58b54cff7271b442eb"></a><!-- doxytag: member="collection.h::COL_TRAVERSE_END" ref="ga86d3337570601f58b54cff7271b442eb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define COL_TRAVERSE_END   0x00000002</td> </tr> </table> </div> <div class="memdoc"> <p>Insert end collection marker. </p> <p>Call the handler once more when the end of the collection is reached. Specifying this flag would cause a traversing function to call a callback once more passing in a virtual property of type <a class="el" href="group__coltypes.html#ga57d3248d79fe0ceed54b53958ce8e295">COL_TYPE_END</a>. Good for processing nested collections. </p> </div> </div> <a class="anchor" id="ga243cf08b54ee0562f3db43aae9d83900"></a><!-- doxytag: member="collection.h::COL_TRAVERSE_FLAT" ref="ga243cf08b54ee0562f3db43aae9d83900" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define COL_TRAVERSE_FLAT   0x00000008</td> </tr> </table> </div> <div class="memdoc"> <p>Flatten the collection. </p> <p>Traversing this way would act as if all the properties of sub collection are properties of the root collection. The referencing properties or headers of the referenced collections are skipped.</p> <p>If we think of the book case example this is very useful when one wants to iterate through all the books skipping information about which shelf they are on. </p> </div> </div> <a class="anchor" id="ga9a36a2d0b7033b6de38179204e0d6e4b"></a><!-- doxytag: member="collection.h::COL_TRAVERSE_ONELEVEL" ref="ga9a36a2d0b7033b6de38179204e0d6e4b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define COL_TRAVERSE_ONELEVEL   0x00000001</td> </tr> </table> </div> <div class="memdoc"> <p>Traverse only the top level. </p> <p>Traverse only top level ignored if the IGNORE flag is specified </p> </div> </div> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Sep 15 2011 for libcollection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>