<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> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <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 <<a class="el" href="FXDict_8h-source.html">FXDict.h</a>></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> </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 </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 </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 </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 * </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 * </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 * </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 * </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 * </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 * </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 </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 </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 </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 </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 </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 </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 </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 & 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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXint </td> <td class="mdname1" valign="top" nowrap> <em>m</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">const FXchar * </td> <td class="mdname" nowrap> <em>ky</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>ptr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>FXbool </td> <td class="mdname" nowrap> <em>mrk</em> = FALSE</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">const FXchar * </td> <td class="mdname" nowrap> <em>ky</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const void * </td> <td class="mdname" nowrap> <em>ptr</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>FXbool </td> <td class="mdname" nowrap> <em>mrk</em> = FALSE</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">const FXchar * </td> <td class="mdname1" valign="top" nowrap> <em>ky</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">const FXchar * </td> <td class="mdname1" valign="top" nowrap> <em>ky</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXuint </td> <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXuint </td> <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXuint </td> <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const<code> [inline]</code></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Return position of first filled slot, or >= 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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXint </td> <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">FXint </td> <td class="mdname1" valign="top" nowrap> <em>pos</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 © 1997-2004 Jeroen van der Zijp</font> </td></tr></table> </p> <!--- COPYRIGHT --> </body> </html>