Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > af7a4b7f1ee5a4a084c41b9005da5527 > files > 596

libfox1.1_46-devel-1.1.46-1mdk.i586.rpm

<html>
<head>
<link rel="stylesheet" href="page.css" type="text/css">
<title>fox-toolkit.org - Documentation</title>
</head>
<body bgcolor=#ffffff link=#990033 vlink=#990033 alink=#990033 text=#000000>
<font face='verdana,sans-serif' size=2 >

<!---- TOPIC TITLE WITH LOGO--->
<table border=0 cellpadding= cellspacing=2 width=100% ><tr><td><a href='http://www.fox-toolkit.org/doc.html'><img src='../art/foxlogo_small.jpg' border=0></a></td><td width=100% valign=bottom><font face='verdana,sans-serif' size=2 ><b>
<a class="qindex" href="index.html">Main Page</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>
<br><img src='../art/line.gif' width=100% height=1></b></font></td></tr></table>
<p>
<!--- TOPIC TITLE WITH LOGO --->
<!-- Generated by Doxygen 1.3.3 -->
<h1>FX::FXDict Class Reference</h1>The dictionary class maintains a fast-access hash table of entities indexed by a character string.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="FXDict_8h-source.html">FXDict.h</a>&gt;</code>
<p>
<p>Inheritance diagram for FX::FXDict:
<p><center><img src="classFX_1_1FXDict.png" usemap="#FX::FXDict_map" border="0" alt=""></center>
<map name="FX::FXDict_map">
<area href="classFX_1_1FXObject.html" alt="FX::FXObject" shape="rect" coords="175,0,282,24">
<area href="classFX_1_1FXFileDict.html" alt="FX::FXFileDict" shape="rect" coords="0,112,107,136">
<area href="classFX_1_1FXIconDict.html" alt="FX::FXIconDict" shape="rect" coords="117,112,224,136">
<area href="classFX_1_1FXSettings.html" alt="FX::FXSettings" shape="rect" coords="234,112,341,136">
<area href="classFX_1_1FXStringDict.html" alt="FX::FXStringDict" shape="rect" coords="351,112,458,136">
<area href="classFX_1_1FXRegistry.html" alt="FX::FXRegistry" shape="rect" coords="234,168,341,192">
</map>
<a href="classFX_1_1FXDict-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a0">FXDict</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a1">size</a> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a2">size</a> (FXint m)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a3">no</a> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a4">insert</a> (const FXchar *ky, const void *ptr, FXbool mrk=FALSE)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a5">replace</a> (const FXchar *ky, const void *ptr, FXbool mrk=FALSE)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a6">remove</a> (const FXchar *ky)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a7">find</a> (const FXchar *ky) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>const FXchar *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a8">key</a> (FXuint pos) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a9">data</a> (FXuint pos) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a10">mark</a> (FXuint pos) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a11">first</a> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a12">last</a> () const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a13">next</a> (FXint pos) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>FXint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a14">prev</a> (FXint pos) const</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a15">clear</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classFX_1_1FXDict.html#a16">~FXDict</a> ()</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The dictionary class maintains a fast-access hash table of entities indexed by a character string. 
<p>
It is typically used to map strings to pointers; however, overloading the createData() and deleteData() members allows any type of data to be indexed by strings. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FX::FXDict::FXDict"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FX::FXDict::FXDict </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Construct an empty dictionary. 
<p>
    </td>
  </tr>
</table>
<a name="a16" doxytag="FX::FXDict::~FXDict"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual FX::FXDict::~<a class="el" href="classFX_1_1FXDict.html">FXDict</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&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>
Destructor. 
<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="FX::FXDict::size"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

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

<p>
Return the size of the table, including the empty slots. 
<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="FX::FXDict::size"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void FX::FXDict::size </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>m</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Resize the table to the given size. 
<p>
    </td>
  </tr>
</table>
<a name="a3" doxytag="FX::FXDict::no"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::no </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

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

<p>
Return the total number of entries in the table. 
<p>
    </td>
  </tr>
</table>
<a name="a4" doxytag="FX::FXDict::insert"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* FX::FXDict::insert </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const FXchar *&nbsp;</td>
          <td class="mdname" nowrap> <em>ky</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>FXbool&nbsp;</td>
          <td class="mdname" nowrap> <em>mrk</em> = FALSE</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

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

<p>
Insert a new entry into the table given key and mark. 
<p>
If there is already an entry with that key, leave it unchanged, otherwise insert the new entry.     </td>
  </tr>
</table>
<a name="a5" doxytag="FX::FXDict::replace"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* FX::FXDict::replace </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const FXchar *&nbsp;</td>
          <td class="mdname" nowrap> <em>ky</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap> <em>ptr</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>FXbool&nbsp;</td>
          <td class="mdname" nowrap> <em>mrk</em> = FALSE</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

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

<p>
Replace data at key, if the entry's mark is less than or equal to the given mark. 
<p>
If there was no existing entry, a new entry is inserted with the given mark.     </td>
  </tr>
</table>
<a name="a6" doxytag="FX::FXDict::remove"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* FX::FXDict::remove </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const FXchar *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>ky</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Remove data given key. 
<p>

<p>
Reimplemented in <a class="el" href="classFX_1_1FXIconDict.html#a5">FX::FXIconDict</a>, <a class="el" href="classFX_1_1FXFileDict.html#a6">FX::FXFileDict</a>, and <a class="el" href="classFX_1_1FXStringDict.html#a3">FX::FXStringDict</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="FX::FXDict::find"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* FX::FXDict::find </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const FXchar *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>ky</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Find data pointer given key. 
<p>

<p>
Reimplemented in <a class="el" href="classFX_1_1FXSettings.html#a4">FX::FXSettings</a>, and <a class="el" href="classFX_1_1FXStringDict.html#a4">FX::FXStringDict</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="FX::FXDict::key"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const FXchar* FX::FXDict::key </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXuint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

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

<p>
Return key at position pos. 
<p>
    </td>
  </tr>
</table>
<a name="a9" doxytag="FX::FXDict::data"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* FX::FXDict::data </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXuint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

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

<p>
return data pointer at position pos. 
<p>

<p>
Reimplemented in <a class="el" href="classFX_1_1FXSettings.html#a3">FX::FXSettings</a>, and <a class="el" href="classFX_1_1FXStringDict.html#a5">FX::FXStringDict</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="FX::FXDict::mark"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXbool FX::FXDict::mark </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXuint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [inline]</code></td>
        </tr>

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

<p>
Return mark flag of entry at position pos. 
<p>
    </td>
  </tr>
</table>
<a name="a11" doxytag="FX::FXDict::first"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::first </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Return position of first filled slot, or &gt;= total. 
<p>
    </td>
  </tr>
</table>
<a name="a12" doxytag="FX::FXDict::last"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::last </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Return position of last filled slot or -1. 
<p>
    </td>
  </tr>
</table>
<a name="a13" doxytag="FX::FXDict::next"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::next </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Return position of next filled slot in hash table or a value greater than or equal to total if no filled slot was found. 
<p>
    </td>
  </tr>
</table>
<a name="a14" doxytag="FX::FXDict::prev"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> FXint FX::FXDict::prev </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">FXint&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pos</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>

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

<p>
Return position of previous filled slot in hash table or a -1 if no filled slot was found. 
<p>
    </td>
  </tr>
</table>
<a name="a15" doxytag="FX::FXDict::clear"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void FX::FXDict::clear </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

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

<p>
Clear all entries. 
<p>

<p>
Reimplemented in <a class="el" href="classFX_1_1FXSettings.html#a21">FX::FXSettings</a>.    </td>
  </tr>
</table>
</font>

<!--- COPYRIGHT -->
<p>
<table width=100% cellpadding=0 cellspacing=0><tr><td width=100% valign=top id=HEADLINE align=right>
<img src='../art/line.gif' width=100% height=1><font size=-1>
Copyright &copy; 1997-2004 Jeroen van der Zijp</font>
</td></tr></table>
</p>
<!--- COPYRIGHT -->
</body>
</html>