summaryrefslogtreecommitdiff
path: root/doc/api-documentation/html/swkey.h-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api-documentation/html/swkey.h-source.html')
-rw-r--r--doc/api-documentation/html/swkey.h-source.html166
1 files changed, 166 insertions, 0 deletions
diff --git a/doc/api-documentation/html/swkey.h-source.html b/doc/api-documentation/html/swkey.h-source.html
new file mode 100644
index 0000000..4df3c7e
--- /dev/null
+++ b/doc/api-documentation/html/swkey.h-source.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta name="robots" content="noindex">
+<title>swkey.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body bgcolor="#ffffff">
+<!-- Generated by Doxygen 1.1.5 on Thu May 24 19:50:26 2001 -->
+<center>
+<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> &nbsp; </center>
+<hr><h1>swkey.h</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************
+</font>00002 <font class="comment"> * swkey.h - code for base class 'swkey'. swkey is the basis for all
+</font>00003 <font class="comment"> * types of keys for indexing into modules (e.g. verse, word,
+</font>00004 <font class="comment"> * place, etc.)
+</font>00005 <font class="comment"> *
+</font>00006 <font class="comment"> * $Id: swkey.h-source.html,v 1.10 2001/05/25 10:44:22 jansorg Exp $
+</font>00007 <font class="comment"> *
+</font>00008 <font class="comment"> * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+</font>00009 <font class="comment"> * CrossWire Bible Society
+</font>00010 <font class="comment"> * P. O. Box 2528
+</font>00011 <font class="comment"> * Tempe, AZ 85280-2528
+</font>00012 <font class="comment"> *
+</font>00013 <font class="comment"> * This program is free software; you can redistribute it and/or modify it
+</font>00014 <font class="comment"> * under the terms of the GNU General Public License as published by the
+</font>00015 <font class="comment"> * Free Software Foundation version 2.
+</font>00016 <font class="comment"> *
+</font>00017 <font class="comment"> * This program is distributed in the hope that it will be useful, but
+</font>00018 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of
+</font>00019 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+</font>00020 <font class="comment"> * General Public License for more details.
+</font>00021 <font class="comment"> *
+</font>00022 <font class="comment"> */</font>
+00023
+00024 <font class="preprocessor">#ifndef SWKEY_H
+</font>00025 <font class="preprocessor"></font><font class="preprocessor">#define SWKEY_H
+</font>00026 <font class="preprocessor"></font>
+00027 <font class="preprocessor">#include &lt;swobject.h&gt;</font>
+00028
+00029 <font class="preprocessor">#include &lt;defs.h&gt;</font>
+00030
+00031 <font class="preprocessor">#define KEYERR_OUTOFBOUNDS 1
+</font>00032 <font class="preprocessor"></font>
+00033 <font class="comment">// For use with = operator to position key.</font>
+00034
+00035 <font class="keyword">class </font>SW_POSITION
+00036 {
+00037 <font class="keywordtype">char</font> pos;
+00038 <font class="keyword">public</font>:
+00039 SW_POSITION (<font class="keywordtype">char</font> ipos)<font class="keyword">
+</font>00040 <font class="keyword"> </font>{
+00041 pos = ipos;
+00042 }
+00043 operator char ()<font class="keyword">
+</font>00044 <font class="keyword"> </font>{
+00045 <font class="keywordflow">return</font> pos;
+00046 }
+00047 };
+00048
+00049 <font class="preprocessor">#define POS_TOP ((char)1)
+</font>00050 <font class="preprocessor"></font><font class="preprocessor">#define POS_BOTTOM ((char)2)
+</font>00051 <font class="preprocessor"></font>
+00052 <font class="preprocessor">#define TOP SW_POSITION(POS_TOP)
+</font>00053 <font class="preprocessor"></font><font class="preprocessor">#define BOTTOM SW_POSITION(POS_BOTTOM)
+</font>00054 <font class="preprocessor"></font>
+<a name="l00059"></a><a class="code" href="class_swkey.html">00059</a> <font class="keyword">class </font>SWDLLEXPORT <a class="code" href="class_swkey.html">SWKey</a>:<font class="keyword">public</font> SWObject
+00060 {
+00061 <font class="keywordtype">long</font> index;
+00062 <font class="keyword">static</font> SWClass classdef;
+00063 <font class="keywordtype">void</font> init ();
+00064
+00065 <font class="keyword">protected</font>:
+00066 <font class="keywordtype">char</font> *keytext;
+00067 <font class="keywordtype">char</font> persist;
+00068 <font class="keywordtype">char</font> error;
+00069
+00070 <font class="keyword">public</font>:
+00075 <a class="code" href="class_swkey.html#a0">SWKey</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *ikey = 0);
+00076
+00080 <a class="code" href="class_swkey.html#a0">SWKey</a> (<a class="code" href="class_swkey.html">SWKey</a> <font class="keyword">const</font> &amp;k);
+00081
+00084 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html#a2">~ SWKey</a> ();
+00085
+00090 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> *<a class="code" href="class_swkey.html#a3">clone</a> () <font class="keyword">const</font>;
+00091
+00098 <font class="keywordtype">char</font> <a class="code" href="class_swkey.html#a4">Persist</a> () <font class="keyword">const</font>;
+00099
+00108 <font class="keywordtype">char</font> <a class="code" href="class_swkey.html#a4">Persist</a> (<font class="keywordtype">char</font> ikey);
+00109
+00114 <font class="keyword">virtual</font> <font class="keywordtype">char</font> <a class="code" href="class_swkey.html#a6">Error</a> ();
+00115
+00120 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a7"> operator = </a>(<font class="keyword">const</font> <font class="keywordtype">char</font> *ikey);
+00121
+00126 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a7"> operator = </a>(<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey);
+00127
+00130 <font class="keyword">virtual</font> operator const char *() <font class="keyword">const</font>;
+00131
+00139 <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_swkey.html#a10">compare</a> (<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey);
+00140
+<a name="l00146"></a><a class="code" href="class_swkey.html#a11">00146</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font><a class="code" href="class_swkey.html#a11"> operator == </a>(<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword"> </font>{ <font class="keywordflow">return</font> !<a class="code" href="class_swkey.html#a10">compare</a> (ikey);
+00147 }
+00148
+<a name="l00154"></a><a class="code" href="class_swkey.html#a12">00154</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font><a class="code" href="class_swkey.html#a12"> operator != </a>(<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword">
+</font>00155 <font class="keyword"> </font>{
+00156 <font class="keywordflow">return</font> <a class="code" href="class_swkey.html#a10">compare</a> (ikey);
+00157 }
+00158
+<a name="l00162"></a><a class="code" href="class_swkey.html#a13">00162</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> operator &gt; (<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword">
+</font>00163 <font class="keyword"> </font>{
+00164 <font class="keywordflow">return</font> (<a class="code" href="class_swkey.html#a10">compare</a> (ikey) &gt; 0);
+00165 }
+00166
+<a name="l00170"></a><a class="code" href="class_swkey.html#a14">00170</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font><a class="code" href="class_swkey.html#a14"> operator &lt; </a>(<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword">
+</font>00171 <font class="keyword"> </font>{
+00172 <font class="keywordflow">return</font> (<a class="code" href="class_swkey.html#a10">compare</a> (ikey) &lt; 0);
+00173 }
+00174
+<a name="l00178"></a><a class="code" href="class_swkey.html#a15">00178</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font> operator &gt;= (<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword">
+</font>00179 <font class="keyword"> </font>{
+00180 <font class="keywordflow">return</font> (<a class="code" href="class_swkey.html#a10">compare</a> (ikey) &gt; -1);
+00181 }
+00182
+<a name="l00186"></a><a class="code" href="class_swkey.html#a16">00186</a> <font class="keyword">virtual</font> <font class="keywordtype">bool</font><a class="code" href="class_swkey.html#a16"> operator &lt;= </a>(<font class="keyword">const</font> <a class="code" href="class_swkey.html">SWKey</a> &amp; ikey)<font class="keyword">
+</font>00187 <font class="keyword"> </font>{
+00188 <font class="keywordflow">return</font> (<a class="code" href="class_swkey.html#a10">compare</a> (ikey) &lt; 1);
+00189 }
+00190
+00193 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a7"> operator = </a>(SW_POSITION);
+00194
+00200 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a18"> operator -= </a>(<font class="keywordtype">int</font> decrement);
+00201
+00207 <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a19"> operator += </a>(<font class="keywordtype">int</font> increment);
+00208
+<a name="l00213"></a><a class="code" href="class_swkey.html#a20">00213</a> <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a20"> operator++ </a>(<font class="keywordtype">int</font>)<font class="keyword">
+</font>00214 <font class="keyword"> </font>{
+00215 <font class="keywordflow">return</font> *<font class="keyword">this</font> += 1;
+00216 }
+00217
+<a name="l00222"></a><a class="code" href="class_swkey.html#a21">00222</a> <font class="keyword">virtual</font> <a class="code" href="class_swkey.html">SWKey</a> &amp;<a class="code" href="class_swkey.html#a21"> operator-- </a>(<font class="keywordtype">int</font>)<font class="keyword">
+</font>00223 <font class="keyword"> </font>{
+00224 <font class="keywordflow">return</font> *<font class="keyword">this</font> -= 1;
+00225 }
+00226
+00227 <font class="keyword">virtual</font> <font class="keywordtype">char</font> Traversable ()<font class="keyword">
+</font>00228 <font class="keyword"> </font>{
+00229 <font class="keywordflow">return</font> 0;
+00230 }
+00231
+<a name="l00253"></a><a class="code" href="class_swkey.html#a23">00253</a> <font class="keyword">virtual</font> <font class="keywordtype">long</font> <a class="code" href="class_swkey.html#a23">Index</a> ()<font class="keyword"> const
+</font>00254 <font class="keyword"> </font>{
+00255 <font class="keywordflow">return</font> index;
+00256 }
+00257
+00258 <font class="keyword">virtual</font> <font class="keywordtype">long</font> <a class="code" href="class_swkey.html#a23">Index</a> (<font class="keywordtype">long</font> iindex)<font class="keyword">
+</font>00259 <font class="keyword"> </font>{
+00260 index = iindex;
+00261 <font class="keywordflow">return</font> index;
+00262 }
+00263 };
+00264
+00265
+00266 <font class="preprocessor">#endif
+</font></div></pre><hr><address><small>Generated at Thu May 24 19:50:26 2001 for The Sword Project by
+<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
+<img src="doxygen.gif" alt="doxygen" align=center border=0
+width=110 height=53></a>1.1.5 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
+ &copy; 1997-2000</small></address>
+</body>
+</html>