Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > a74ec78bdb789d910d054e3918f3f007 > files > 274

libsword1-devel-1.5.5-2mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>TreeKeyIdx class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.15 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>TreeKeyIdx  Class Reference</h1>Class <a class="el" href="class_verse_key.html">VerseKey</a> The <a class="el" href="class_s_w_key.html">SWKey</a> implementation used for verse based modules like Bibles or commentaries. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="treekeyidx_8h-source.html">treekeyidx.h</a>&gt;</code>
<p>
Inheritance diagram for TreeKeyIdx:<p><center><img src="class_tree_key_idx__inherit__graph.png" border="0" usemap="#_tree_key_idx__inherit__map" alt="Inheritance graph"></center>
<map name="_tree_key_idx__inherit__map">
<area href="class_tree_key.html" shape="rect" coords="22,154,83,173" alt="">
<area href="class_s_w_key.html" shape="rect" coords="25,85,81,103" alt="">
<area href="class_s_w_object.html" shape="rect" coords="17,15,89,34" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for TreeKeyIdx:<p><center><img src="class_tree_key_idx__coll__graph.png" border="0" usemap="#_tree_key_idx__coll__map" alt="Collaboration graph"></center>
<map name="_tree_key_idx__coll__map">
<area href="class_tree_key.html" shape="rect" coords="105,268,166,287" alt="">
<area href="class_s_w_key.html" shape="rect" coords="205,196,261,215" alt="">
<area href="class_s_w_object.html" shape="rect" coords="317,106,389,124" alt="">
<area href="class_s_w_class.html" shape="rect" coords="151,15,215,34" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_tree_key_idx-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="TreeKeyIdx::TreeKeyIdx"></a>
&nbsp;</td><td valign=bottom><b>TreeKeyIdx</b> (const TreeKeyIdx &amp;ikey)</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="TreeKeyIdx::TreeKeyIdx"></a>
&nbsp;</td><td valign=bottom><b>TreeKeyIdx</b> (const char *idxPath, int fileMode=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="TreeKeyIdx::~TreeKeyIdx"></a>
&nbsp;</td><td valign=bottom><b>~TreeKeyIdx</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="TreeKeyIdx::getLocalName"></a>
virtual const char *&nbsp;</td><td valign=bottom><b>getLocalName</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="TreeKeyIdx::setLocalName"></a>
virtual const char *&nbsp;</td><td valign=bottom><b>setLocalName</b> (const char *)</td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="TreeKeyIdx::getUserData"></a>
virtual const char *&nbsp;</td><td valign=bottom><b>getUserData</b> (int *size=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="TreeKeyIdx::setUserData"></a>
virtual void&nbsp;</td><td valign=bottom><b>setUserData</b> (const char *userData, int size=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="TreeKeyIdx::getFullName"></a>
virtual const char *&nbsp;</td><td valign=bottom><b>getFullName</b> () const</td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="TreeKeyIdx::root"></a>
virtual void&nbsp;</td><td valign=bottom><b>root</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="TreeKeyIdx::parent"></a>
virtual bool&nbsp;</td><td valign=bottom><b>parent</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="TreeKeyIdx::firstChild"></a>
virtual bool&nbsp;</td><td valign=bottom><b>firstChild</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="TreeKeyIdx::nextSibling"></a>
virtual bool&nbsp;</td><td valign=bottom><b>nextSibling</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a12" doxytag="TreeKeyIdx::previousSibling"></a>
virtual bool&nbsp;</td><td valign=bottom><b>previousSibling</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a13" doxytag="TreeKeyIdx::hasChildren"></a>
virtual bool&nbsp;</td><td valign=bottom><b>hasChildren</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a14" doxytag="TreeKeyIdx::append"></a>
virtual void&nbsp;</td><td valign=bottom><b>append</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a15" doxytag="TreeKeyIdx::appendChild"></a>
virtual void&nbsp;</td><td valign=bottom><b>appendChild</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a16" doxytag="TreeKeyIdx::insertBefore"></a>
virtual void&nbsp;</td><td valign=bottom><b>insertBefore</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="TreeKeyIdx::remove"></a>
virtual void&nbsp;</td><td valign=bottom><b>remove</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a18" doxytag="TreeKeyIdx::save"></a>
virtual void&nbsp;</td><td valign=bottom><b>save</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="TreeKeyIdx::copyFrom"></a>
virtual void&nbsp;</td><td valign=bottom><b>copyFrom</b> (const TreeKeyIdx &amp;ikey)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a20">copyFrom</a> (const <a class="el" href="class_s_w_key.html">SWKey</a> &amp;ikey)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Equates this <a class="el" href="class_s_w_key.html">SWKey</a> to another <a class="el" href="class_s_w_key.html">SWKey</a> object.</em> <a href="#a20">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a21" doxytag="TreeKeyIdx::operator="></a>
virtual <a class="el" href="class_s_w_key.html">SWKey</a> &amp;&nbsp;</td><td valign=bottom><b>operator=</b> (const TreeKeyIdx &amp;ikey)</td></tr>
<tr><td nowrap align=right valign=top><a name="a22" doxytag="TreeKeyIdx::setOffset"></a>
void&nbsp;</td><td valign=bottom><b>setOffset</b> (unsigned long offset)</td></tr>
<tr><td nowrap align=right valign=top><a name="a23" doxytag="TreeKeyIdx::getOffset"></a>
unsigned long&nbsp;</td><td valign=bottom><b>getOffset</b> () const</td></tr>
<tr><td nowrap align=right valign=top>virtual SWKEY_OPERATORS void&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a24">setText</a> (const char *ikey)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Equates this <a class="el" href="class_s_w_key.html">SWKey</a> to a character string.</em> <a href="#a24">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a25" doxytag="TreeKeyIdx::setPosition"></a>
virtual void&nbsp;</td><td valign=bottom><b>setPosition</b> (SW_POSITION p)</td></tr>
<tr><td nowrap align=right valign=top><a name="a26" doxytag="TreeKeyIdx::getText"></a>
virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a26">getText</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>returns text key if (char *) cast is requested.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a27" doxytag="TreeKeyIdx::_compare"></a>
virtual int&nbsp;</td><td valign=bottom><b>_compare</b> (const TreeKeyIdx &amp;ikey)</td></tr>
<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a28">compare</a> (const <a class="el" href="class_s_w_key.html">SWKey</a> &amp;ikey)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Compares another <a class="el" href="class_verse_key.html">VerseKey</a> object.</em> <a href="#a28">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a29">decrement</a> (int steps=1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Decrements key a number of entries.</em> <a href="#a29">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_tree_key_idx.html#a30">increment</a> (int steps=1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Increments key a number of entries.</em> <a href="#a30">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a31" doxytag="TreeKeyIdx::Traversable"></a>
virtual char&nbsp;</td><td valign=bottom><b>Traversable</b> ()</td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="d0" doxytag="TreeKeyIdx::create"></a>
signed char&nbsp;</td><td valign=bottom><b>create</b> (const char *path)</td></tr>
<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="c0" doxytag="TreeKeyIdx::getTreeNodeFromDatOffset"></a>
void&nbsp;</td><td valign=bottom><b>getTreeNodeFromDatOffset</b> (long ioffset, TreeNode *buf) const</td></tr>
<tr><td nowrap align=right valign=top><a name="c1" doxytag="TreeKeyIdx::getTreeNodeFromIdxOffset"></a>
char&nbsp;</td><td valign=bottom><b>getTreeNodeFromIdxOffset</b> (long ioffset, TreeNode *node) const</td></tr>
<tr><td nowrap align=right valign=top><a name="c2" doxytag="TreeKeyIdx::saveTreeNode"></a>
void&nbsp;</td><td valign=bottom><b>saveTreeNode</b> (TreeNode *node)</td></tr>
<tr><td nowrap align=right valign=top><a name="c3" doxytag="TreeKeyIdx::saveTreeNodeOffsets"></a>
void&nbsp;</td><td valign=bottom><b>saveTreeNodeOffsets</b> (TreeNode *node)</td></tr>
<tr><td nowrap align=right valign=top><a name="c4" doxytag="TreeKeyIdx::init"></a>
void&nbsp;</td><td valign=bottom><b>init</b> ()</td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="o0" doxytag="TreeKeyIdx::currentNode"></a>
TreeKeyIdx::TreeNode&nbsp;</td><td valign=bottom><b>currentNode</b></td></tr>
<tr><td nowrap align=right valign=top><a name="o1" doxytag="TreeKeyIdx::path"></a>
char *&nbsp;</td><td valign=bottom><b>path</b></td></tr>
<tr><td nowrap align=right valign=top><a name="o2" doxytag="TreeKeyIdx::idxfd"></a>
FileDesc *&nbsp;</td><td valign=bottom><b>idxfd</b></td></tr>
<tr><td nowrap align=right valign=top><a name="o3" doxytag="TreeKeyIdx::datfd"></a>
FileDesc *&nbsp;</td><td valign=bottom><b>datfd</b></td></tr>
<tr><td colspan=2><br><h2>Static Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="r0" doxytag="TreeKeyIdx::classdef"></a>
<a class="el" href="class_s_w_class.html">SWClass</a>&nbsp;</td><td valign=bottom><b>classdef</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class <a class="el" href="class_verse_key.html">VerseKey</a> The <a class="el" href="class_s_w_key.html">SWKey</a> implementation used for verse based modules like Bibles or commentaries.
<p>

<p>
Definition at line <a class="el" href="treekeyidx_8h-source.html#l00035">35</a> of file <a class="el" href="treekeyidx_8h-source.html">treekeyidx.h</a>.<hr><h2>Member Function Documentation</h2>
<a name="a28" doxytag="TreeKeyIdx::compare"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int TreeKeyIdx::compare </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="class_s_w_key.html">SWKey</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>ikey</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Compares another <a class="el" href="class_verse_key.html">VerseKey</a> object.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ikey</em>&nbsp;</td><td>
key to compare with this one </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
&gt;0 if this key is greater than compare key; &lt;0 if this key is smaller than compare key; 0 if the keys are the same </dl>
<p>
Implements <a class="el" href="class_tree_key.html#a22">TreeKey</a>.
<p>
Definition at line <a class="el" href="treekeyidx_8cpp-source.html#l00520">520</a> of file <a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a>.
<p>
References <a class="el" href="swkey_8cpp-source.html#l00151">SWKey::compare</a>().
<p>
<div class="fragment"><pre>00520                                          {
00521         <a class="code" href="class_tree_key_idx.html">TreeKeyIdx</a> *treeKey = SWDYNAMIC_CAST(<a class="code" href="class_tree_key_idx.html">TreeKeyIdx</a>, (&amp;ikey));
00522         <font class="keywordflow">if</font> (treeKey)
00523                 <font class="keywordflow">return</font> _compare(*treeKey);
00524         <font class="keywordflow">return</font> <a class="code" href="class_s_w_key.html#a11">SWKey::compare</a>(ikey);
00525 }
</pre></div>    </td>
  </tr>
</table>
<a name="a20" doxytag="TreeKeyIdx::copyFrom"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void TreeKeyIdx::copyFrom </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="class_s_w_key.html">SWKey</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>ikey</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Equates this <a class="el" href="class_s_w_key.html">SWKey</a> to another <a class="el" href="class_s_w_key.html">SWKey</a> object.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ikey</em>&nbsp;</td><td>
other swkey object </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="class_s_w_key.html#a8">SWKey</a>.
<p>
Definition at line <a class="el" href="treekeyidx_8cpp-source.html#l00494">494</a> of file <a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a>.
<p>
References <a class="el" href="swkey_8cpp-source.html#l00126">SWKey::copyFrom</a>().
<p>
<div class="fragment"><pre>00494                                            {
00495         <a class="code" href="class_s_w_key.html#a8">SWKey::copyFrom</a>(ikey);
00496 }
</pre></div>    </td>
  </tr>
</table>
<a name="a29" doxytag="TreeKeyIdx::decrement"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void TreeKeyIdx::decrement </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>steps</em> = 1          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Decrements key a number of entries.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>steps</em>&nbsp;</td><td>
Number of entries to jump backward </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
*this </dl>
<p>
Implements <a class="el" href="class_tree_key.html#a23">TreeKey</a>.
<p>
Definition at line <a class="el" href="treekeyidx_8cpp-source.html#l00528">528</a> of file <a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a>.
<p>
<div class="fragment"><pre>00528                                     {
00529         error = getTreeNodeFromIdxOffset(currentNode.offset - (4*steps), &amp;currentNode);
00530 }
</pre></div>    </td>
  </tr>
</table>
<a name="a30" doxytag="TreeKeyIdx::increment"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void TreeKeyIdx::increment </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>steps</em> = 1          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Increments key a number of entries.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>increment</em>&nbsp;</td><td>
Number of entries to jump forward </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
*this </dl>
<p>
Implements <a class="el" href="class_tree_key.html#a24">TreeKey</a>.
<p>
Definition at line <a class="el" href="treekeyidx_8cpp-source.html#l00532">532</a> of file <a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a>.
<p>
<div class="fragment"><pre>00532                                     {
00533         error = getTreeNodeFromIdxOffset(currentNode.offset + (4*steps), &amp;currentNode);
00534 
00535 <font class="comment">/*</font>
00536 <font class="comment">        // assert positive</font>
00537 <font class="comment">        if (steps &lt; 0) {</font>
00538 <font class="comment">                decrement(steps * -1);</font>
00539 <font class="comment">                return;</font>
00540 <font class="comment">        }</font>
00541 <font class="comment"></font>
00542 <font class="comment">        while (steps &gt; 0) {</font>
00543 <font class="comment">                if (!firstChild()) {</font>
00544 <font class="comment">                        if (!nextSibbling() {</font>
00545 <font class="comment">                                error = KEYERR_OUTOFBOUNDS;</font>
00546 <font class="comment">                                return;</font>
00547 <font class="comment">                        }</font>
00548 <font class="comment">                }</font>
00549 <font class="comment">                steps--;</font>
00550 <font class="comment">        }</font>
00551 <font class="comment">*/</font>
00552 }
</pre></div>    </td>
  </tr>
</table>
<a name="a24" doxytag="TreeKeyIdx::setText"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void TreeKeyIdx::setText </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>ikey</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Equates this <a class="el" href="class_s_w_key.html">SWKey</a> to a character string.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>ikey</em>&nbsp;</td><td>
string to set this key to </td></tr>
</table>
</dl>
<p>
Implements <a class="el" href="class_tree_key.html#a19">TreeKey</a>.
<p>
Definition at line <a class="el" href="treekeyidx_8cpp-source.html#l00466">466</a> of file <a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a>.
<p>
References <a class="el" href="swkey_8cpp-source.html#l00100">SWKey::Error</a>().
<p>
<div class="fragment"><pre>00466                                          {
00467         <font class="keywordtype">char</font> *buf = 0;
00468         stdstr(&amp;buf, ikey);
00469         <font class="keywordtype">char</font> *leaf = strtok(buf, <font class="stringliteral">"/"</font>);
00470         root();
00471         <font class="keywordflow">while</font> ((leaf) &amp;&amp; (!<a class="code" href="class_s_w_key.html#a6">Error</a>())) {
00472                 <font class="keywordtype">bool</font> ok, inChild = <font class="keyword">false</font>;
00473                 <font class="keywordflow">for</font> (ok = firstChild(); ok; ok = nextSibling()) {
00474                         inChild = <font class="keyword">true</font>;
00475                         <font class="keywordflow">if</font> (!stricmp(leaf, getLocalName()))
00476                                 <font class="keywordflow">break</font>;
00477                 }
00478                 leaf = strtok(0, <font class="stringliteral">"/"</font>);
00479                 <font class="keywordflow">if</font> (!ok) {
00480                         <font class="keywordflow">if</font> (inChild) {  <font class="comment">// if we didn't find a matching child node, default to first child</font>
00481                                 parent();
00482                                 firstChild();
00483                         }
00484                         <font class="keywordflow">if</font> (leaf)
00485                                 error = KEYERR_OUTOFBOUNDS;
00486                         <font class="keywordflow">break</font>;
00487                 }
00488         }
00489         <font class="keyword">delete</font> [] buf;
00490 }
</pre></div>    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="treekeyidx_8h-source.html">treekeyidx.h</a><li><a class="el" href="treekeyidx_8cpp-source.html">treekeyidx.cpp</a></ul>
<hr><address align="right"><small>Generated on Thu Jun 20 22:13:05 2002 for The Sword Project by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.15 </small></address>
</body>
</html>