aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03435.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a03435.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a03435.html2802
1 files changed, 2802 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03435.html b/docs/doxygen/nel/a03435.html
new file mode 100644
index 00000000..a53e88a4
--- /dev/null
+++ b/docs/doxygen/nel/a03435.html
@@ -0,0 +1,2802 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLMISC::CSString class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLMISC::CSString Class Reference</h1><code>#include &lt;<a class="el" href="a06431.html">sstring.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<a class="el" href="a03435.html">CSString</a> : std::string with more functionalities and case insensitive compare<p>
+<dl compact><dt><b>Author:</b></dt><dd>Daniel Miller <p>
+Nevrax </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2003 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00031">31</a> of file <a class="el" href="a06431.html">sstring.h</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>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa0">atof</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class C&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa1">atof</a> (C &amp;result) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A couple of handy atof routines... <a href="#NLMISC_1_1CSStringa1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa2">atoi</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class C&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa3">atoi</a> (C &amp;result) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A couple of handy atoi routines... <a href="#NLMISC_1_1CSStringa3"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa4">back</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the n right hand most characters of a string. <a href="#NLMISC_1_1CSStringa4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa5">contains</a> (int character) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if this contains given sub string. <a href="#NLMISC_1_1CSStringa5"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa6">contains</a> (const char *toFind) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if this contains given sub string. <a href="#NLMISC_1_1CSStringa6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa7">countWordOrWords</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count the number of words (or quote delimited sub-strings) in a string. <a href="#NLMISC_1_1CSStringa7"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa8">countWords</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count the number of words (or quote delimited sub-strings) in a string. <a href="#NLMISC_1_1CSStringa8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa9">CSString</a> (const std::string &amp;<a class="el" href="a04223.html#a626">s</a>, const char *fmt)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa10">CSString</a> (const char *<a class="el" href="a04223.html#a626">s</a>, const char *fmt)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa11">CSString</a> (double d, const char *fmt="%f")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa12">CSString</a> (unsigned u, const char *fmt="%u")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa13">CSString</a> (int i, const char *fmt="%d")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa14">CSString</a> (char c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa15">CSString</a> (const std::string &amp;<a class="el" href="a04223.html#a626">s</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa16">CSString</a> (const char *<a class="el" href="a04223.html#a626">s</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa18">find</a> (const char *toFind, unsigned startLocation=0) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find index at which a sub-string starts (case not sensitive) - if sub-string not found then returns string::npos. <a href="#NLMISC_1_1CSStringa18"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa19">firstWord</a> (bool truncateThis=false)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return first word (blank separated). <a href="#NLMISC_1_1CSStringa19"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa20">firstWordConst</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa21">firstWordOrWords</a> (bool truncateThis=false)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return first word or quote-encompassed sub-string. <a href="#NLMISC_1_1CSStringa21"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa22">firstWordOrWordsConst</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa23">icompare</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare (useful for use as map keys, see less&lt;CSString&gt; below). <a href="#NLMISC_1_1CSStringa23"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa24">left</a> (unsigned <a class="el" href="a04223.html#a577">count</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the n left hand most characters of a string. <a href="#NLMISC_1_1CSStringa24"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa25">leftCrop</a> (unsigned <a class="el" href="a04223.html#a577">count</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the string minus the n left hand most characters of a string. <a href="#NLMISC_1_1CSStringa25"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa26">operator *</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the first character, or '' is the string is empty. <a href="#NLMISC_1_1CSStringa26"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa27">operator!=</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa27"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa28">operator!=</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa28"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa29">operator&lt;</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa29"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa30">operator&lt;</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa30"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa31">operator&lt;=</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa31"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa32">operator&lt;=</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa32"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa33">operator==</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa33"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa34">operator==</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa34"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa35">operator&gt;</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa35"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa36">operator&gt;</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa36"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa37">operator&gt;=</a> (const char *other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa37"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa38">operator&gt;=</a> (const std::string &amp;other) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case insensitive string compare. <a href="#NLMISC_1_1CSStringa38"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa39">replace</a> (const char *toFind, const char *replacement) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replacing all occurences of one string with another. <a href="#NLMISC_1_1CSStringa39"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa40">right</a> (unsigned <a class="el" href="a04223.html#a577">count</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the n right hand most characters of a string. <a href="#NLMISC_1_1CSStringa40"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa41">rightCrop</a> (unsigned <a class="el" href="a04223.html#a577">count</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the string minus the n right hand most characters of a string. <a href="#NLMISC_1_1CSStringa41"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa42">serial</a> (<a class="el" href="a02270.html">NLMISC::IStream</a> &amp;<a class="el" href="a04223.html#a626">s</a>)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Serial. <a href="#NLMISC_1_1CSStringa42"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa43">splitFrom</a> (const char *<a class="el" href="a04223.html#a626">s</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string from character following first instance of given character on. <a href="#NLMISC_1_1CSStringa43"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa44">splitFrom</a> (char c) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string from character following first instance of given character on. <a href="#NLMISC_1_1CSStringa44"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa45">splitTo</a> (const char *<a class="el" href="a04223.html#a626">s</a>, bool truncateThis=false)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string up to but not including first instance of given character. <a href="#NLMISC_1_1CSStringa45"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa46">splitTo</a> (char c, bool truncateThis=false)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string up to but not including first instance of given character. <a href="#NLMISC_1_1CSStringa46"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa47">splitTo</a> (char c) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string up to but not including first instance of given character. <a href="#NLMISC_1_1CSStringa47"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa48">strip</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a copy of the string with leading and trainling spaces rmoved. <a href="#NLMISC_1_1CSStringa48"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa49">strtok</a> (const char *separators)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Behave like a s <a class="el" href="a03435.html#NLMISC_1_1CSStringa49">strtok()</a> routine, returning the sun string extracted from (and removed from) *this. <a href="#NLMISC_1_1CSStringa49"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa50">tailFromFirstWord</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string up to but not including first instance of given character. <a href="#NLMISC_1_1CSStringa50"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa51">tailFromFirstWordOrWords</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return sub string up to but not including first instance of given character. <a href="#NLMISC_1_1CSStringa51"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa52">toLower</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Making a lower case copy of a string. <a href="#NLMISC_1_1CSStringa52"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa53">toUpper</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Making an upper case copy of a string. <a href="#NLMISC_1_1CSStringa53"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa54">word</a> (unsigned idx) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count the number of words (or quote delimited sub-strings) in a string. <a href="#NLMISC_1_1CSStringa54"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03435.html">CSString</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa55">wordOrWords</a> (unsigned idx) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count the number of words (or quote delimited sub-strings) in a string. <a href="#NLMISC_1_1CSStringa55"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringe0">isWhiteSpace</a> (char c)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handy utility routine for knowing if a character is a white space character or not. <a href="#NLMISC_1_1CSStringe0"></a><br><br></td></tr>
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CSStringa17" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </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> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00034">34</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00125">leftCrop()</a>, and <a class="el" href="a06431.html#l00111">rightCrop()</a>.
+<p>
+<div class="fragment"><pre>00035 {
+00036 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa16" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00038">38</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+<div class="fragment"><pre>00039 {
+00040 *(std::string *)<span class="keyword">this</span>=<a class="code" href="a04223.html#a626">s</a>;
+00041 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa15" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00043">43</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+<div class="fragment"><pre>00044 {
+00045 *(std::string *)<span class="keyword">this</span>=<a class="code" href="a04223.html#a626">s</a>;
+00046 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa14" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00048">48</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00049 {
+00050 *(std::string *)<span class="keyword">this</span>=c;
+00051 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa13" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname" nowrap> <em>i</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>fmt</em> = "%d"</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00053">53</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00054 {
+00055 <span class="keywordtype">char</span> buf[1024];
+00056 sprintf(buf,fmt,i);
+00057 *<span class="keyword">this</span>=buf;
+00058 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa12" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname" nowrap> <em>u</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>fmt</em> = "%u"</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00060">60</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00061 {
+00062 <span class="keywordtype">char</span> buf[1024];
+00063 sprintf(buf,fmt,u);
+00064 *<span class="keyword">this</span>=buf;
+00065 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa11" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>fmt</em> = "%f"</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00067">67</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00068 {
+00069 <span class="keywordtype">char</span> buf[1024];
+00070 sprintf(buf,fmt,d);
+00071 *<span class="keyword">this</span>=buf;
+00072 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa10" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>fmt</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00074">74</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+<div class="fragment"><pre>00075 {
+00076 <span class="keywordtype">char</span> buf[1024];
+00077 sprintf(buf,fmt,s);
+00078 *<span class="keyword">this</span>=buf;
+00079 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa9" doxytag="NLMISC::CSString::CSString" ></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"> NLMISC::CSString::CSString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>fmt</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00081">81</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 <span class="keywordtype">char</span> buf[1024];
+00084 sprintf(buf,fmt,<a class="code" href="a04223.html#a626">s</a>.c_str());
+00085 *<span class="keyword">this</span>=buf;
+00086 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLMISC_1_1CSStringa0" doxytag="NLMISC::CSString::atof" ></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"> double NLMISC::CSString::atof </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>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00561">561</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00562 {
+00563 return ::atof(c_str());
+00564 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa1" doxytag="NLMISC::CSString::atof" ></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" colspan="4">
+template&lt;class C&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::CSString::atof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">C &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>result</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>
+A couple of handy atof routines...
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00556">556</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00557 {
+00558 result=::atof(c_str());
+00559 <span class="keywordflow">return</span> (result!=0 || *<span class="keyword">this</span>==<span class="stringliteral">"0"</span>);
+00560 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa2" doxytag="NLMISC::CSString::atoi" ></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"> unsigned NLMISC::CSString::atoi </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>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00550">550</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00551 {
+00552 return ::atoi(c_str());
+00553 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa3" doxytag="NLMISC::CSString::atoi" ></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" colspan="4">
+template&lt;class C&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::CSString::atoi </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">C &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>result</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>
+A couple of handy atoi routines...
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00545">545</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00546 {
+00547 result=::atoi(c_str());
+00548 <span class="keywordflow">return</span> (result!=0 || *<span class="keyword">this</span>==<span class="stringliteral">"0"</span>);
+00549 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa4" doxytag="NLMISC::CSString::back" ></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"> char NLMISC::CSString::back </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 n right hand most characters of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00097">97</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00098 {
+00099 <span class="keywordflow">return</span> (*this)[<a class="code" href="a04115.html#a94">size</a>()-1];
+00100 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa5" doxytag="NLMISC::CSString::contains" ></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"> bool NLMISC::CSString::contains </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>character</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 true if this contains given sub string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00535">535</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00536 {
+00537 <span class="keywordflow">for</span> (const_iterator it=begin();it!=end();++it)
+00538 <span class="keywordflow">if</span> ((*it)==character)
+00539 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00540
+00541 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00542 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa6" doxytag="NLMISC::CSString::contains" ></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"> bool NLMISC::CSString::contains </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>toFind</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 true if this contains given sub string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00529">529</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00506">find()</a>.
+<p>
+<div class="fragment"><pre>00530 {
+00531 <span class="keywordflow">return</span> <a class="code" href="a03435.html#NLMISC_1_1CSStringa18">find</a>(toFind)!=std::string::npos;
+00532 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa7" doxytag="NLMISC::CSString::countWordOrWords" ></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"> unsigned NLMISC::CSString::countWordOrWords </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>
+Count the number of words (or quote delimited sub-strings) in a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00406">406</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00433">strip()</a>, and <a class="el" href="a06431.html#l00398">tailFromFirstWordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00407 {
+00408 <span class="keywordtype">unsigned</span> <a class="code" href="a04223.html#a577">count</a>=0;
+00409 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=<a class="code" href="a03435.html#NLMISC_1_1CSStringa48">strip</a>();
+00410 <span class="keywordflow">while</span> (!hold.empty())
+00411 {
+00412 hold=hold.tailFromFirstWordOrWords().strip();
+00413 ++<a class="code" href="a04223.html#a577">count</a>;
+00414 }
+00415 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a577">count</a>;
+00416 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa8" doxytag="NLMISC::CSString::countWords" ></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"> unsigned NLMISC::CSString::countWords </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>
+Count the number of words (or quote delimited sub-strings) in a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00335">335</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00433">strip()</a>, and <a class="el" href="a06431.html#l00327">tailFromFirstWord()</a>.
+<p>
+<div class="fragment"><pre>00336 {
+00337 <span class="keywordtype">unsigned</span> <a class="code" href="a04223.html#a577">count</a>=0;
+00338 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=<a class="code" href="a03435.html#NLMISC_1_1CSStringa48">strip</a>();
+00339 <span class="keywordflow">while</span> (!hold.empty())
+00340 {
+00341 hold=hold.tailFromFirstWord().strip();
+00342 ++<a class="code" href="a04223.html#a577">count</a>;
+00343 }
+00344 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a577">count</a>;
+00345 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa18" doxytag="NLMISC::CSString::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"> unsigned NLMISC::CSString::find </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>toFind</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>unsigned&nbsp;</td>
+ <td class="mdname" nowrap> <em>startLocation</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Find index at which a sub-string starts (case not sensitive) - if sub-string not found then returns string::npos.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00506">506</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00529">contains()</a>, and <a class="el" href="a06753.html#l00144">NLMISC::CWordsDictionary::lookup()</a>.
+<p>
+<div class="fragment"><pre>00507 {
+00508 <span class="keyword">const</span> <span class="keywordtype">char</span> *constStr = c_str();
+00509
+00510 <span class="comment">// just bypass the problems that can cause a crash...</span>
+00511 <span class="keywordflow">if</span> (toFind==NULL || *toFind==0 || startLocation&gt;=<a class="code" href="a04115.html#a94">size</a>())
+00512 <span class="keywordflow">return</span> std::string::npos;
+00513
+00514 <span class="keywordtype">unsigned</span> i,j;
+00515 <span class="keywordflow">for</span> (i=startLocation;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00516 {
+00517 <span class="comment">// string compare toFind against (*this)+i ...</span>
+00518 <span class="keywordflow">for</span> (j=0;toFind[j];++j)
+00519 <span class="keywordflow">if</span> ((i+j&gt;=<a class="code" href="a04115.html#a94">size</a>()) || (*this)[i+j]!=toFind[j])
+00520 <span class="keywordflow">break</span>;
+00521 <span class="comment">// if strings were identical then we're done</span>
+00522 <span class="keywordflow">if</span> (toFind[j]==0)
+00523 <span class="keywordflow">return</span> i;
+00524 }
+00525 <span class="keywordflow">return</span> std::string::npos;
+00526 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa19" doxytag="NLMISC::CSString::firstWord" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::firstWord </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>truncateThis</em> = false </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return first word (blank separated).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00284">284</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00430">isWhiteSpace()</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00321">firstWordConst()</a>, <a class="el" href="a06431.html#l00359">firstWordOrWords()</a>, <a class="el" href="a06431.html#l00327">tailFromFirstWord()</a>, and <a class="el" href="a06431.html#l00348">word()</a>.
+<p>
+<div class="fragment"><pre>00285 {
+00286 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00287 <span class="keywordtype">unsigned</span> i=0;
+00288 <span class="comment">// skip white space</span>
+00289 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>() &amp;&amp; <a class="code" href="a03435.html#NLMISC_1_1CSStringe0">isWhiteSpace</a>((*<span class="keyword">this</span>)[i]);++i)
+00290 {}
+00291
+00292 <span class="keywordflow">if</span> ( ((*this)[i]&gt;=<span class="charliteral">'A'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'Z'</span>) || ((*this)[i]&gt;=<span class="charliteral">'a'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'z'</span>) ||
+00293 ((*this)[i]&gt;=<span class="charliteral">'0'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'9'</span>) || (*this)[i]==<span class="charliteral">'_'</span>)
+00294 {
+00295 <span class="comment">// copy out an alpha-numeric string</span>
+00296 <span class="keywordflow">for</span> (;i&lt;(*this).size() &amp;&amp;
+00297 ( ((*this)[i]&gt;=<span class="charliteral">'A'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'Z'</span>) || ((*this)[i]&gt;=<span class="charliteral">'a'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'z'</span>) ||
+00298 ((*this)[i]&gt;=<span class="charliteral">'0'</span> &amp;&amp; (*this)[i]&lt;=<span class="charliteral">'9'</span>) || (*this)[i]==<span class="charliteral">'_'</span>)
+00299 ;++i)
+00300 result+=(*this)[i];
+00301 }
+00302 <span class="keywordflow">else</span>
+00303 {
+00304 <span class="comment">// just take the first character of the input</span>
+00305 result=(*this)[i];
+00306 ++i;
+00307 }
+00308
+00309 <span class="comment">// remove the result string from the input string if so desired</span>
+00310 <span class="keywordflow">if</span> (truncateThis)
+00311 {
+00312 <span class="keywordflow">if</span> (i&lt;<a class="code" href="a04115.html#a94">size</a>())
+00313 (*this)=substr(i);
+00314 <span class="keywordflow">else</span>
+00315 clear();
+00316 }
+00317
+00318 <span class="keywordflow">return</span> result;
+00319 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa20" doxytag="NLMISC::CSString::firstWordConst" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::firstWordConst </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>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00321">321</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00284">firstWord()</a>.
+<p>
+<div class="fragment"><pre>00322 {
+00323 <span class="keywordflow">return</span> const_cast&lt;CSString *&gt;(<span class="keyword">this</span>)-&gt;firstWord();
+00324 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa21" doxytag="NLMISC::CSString::firstWordOrWords" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::firstWordOrWords </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>truncateThis</em> = false </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return first word or quote-encompassed sub-string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00359">359</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00284">firstWord()</a>, <a class="el" href="a05538.html#l02935">size</a>, and <a class="el" href="a06431.html#l00433">strip()</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00392">firstWordOrWordsConst()</a>, <a class="el" href="a06431.html#l00398">tailFromFirstWordOrWords()</a>, and <a class="el" href="a06431.html#l00419">wordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00360 {
+00361 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=<a class="code" href="a03435.html#NLMISC_1_1CSStringa48">strip</a>();
+00362 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> emptyString;
+00363
+00364 <span class="keywordflow">if</span> (hold.empty())
+00365 <span class="keywordflow">return</span> emptyString;
+00366
+00367 <span class="keywordflow">if</span> (hold[0]!=<span class="charliteral">'\"'</span>)
+00368 <span class="keywordflow">return</span> <a class="code" href="a03435.html#NLMISC_1_1CSStringa19">firstWord</a>(truncateThis);
+00369
+00370 <span class="comment">// the string is quote enclosed</span>
+00371 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00372 <span class="keywordtype">unsigned</span> i=1; <span class="comment">// skip leading quote</span>
+00373 <span class="comment">// copy from character following opening quote to char preceding closing quote (or end of string)</span>
+00374 <span class="keywordflow">while</span> (i&lt;hold.size() &amp;&amp; hold[i]!=<span class="charliteral">'\"'</span>)
+00375 {
+00376 result+=hold[i];
+00377 ++i;
+00378 }
+00379
+00380 <span class="comment">// remove the result string from the input string if so desired</span>
+00381 <span class="keywordflow">if</span> (truncateThis)
+00382 {
+00383 <span class="keywordflow">if</span> (i&lt;<a class="code" href="a04115.html#a94">size</a>()-1)
+00384 (*this)=substr(i+1); <span class="comment">// +1 to skip the closing quote</span>
+00385 <span class="keywordflow">else</span>
+00386 clear();
+00387 }
+00388
+00389 <span class="keywordflow">return</span> result;
+00390 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa22" doxytag="NLMISC::CSString::firstWordOrWordsConst" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::firstWordOrWordsConst </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>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00392">392</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00359">firstWordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00393 {
+00394 <span class="keywordflow">return</span> const_cast&lt;CSString *&gt;(<span class="keyword">this</span>)-&gt;firstWordOrWords();
+00395 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa23" doxytag="NLMISC::CSString::icompare" ></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"> bool NLMISC::CSString::icompare </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare (useful for use as map keys, see less&lt;CSString&gt; below).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00639">639</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00640 {
+00641 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())&lt;0;
+00642 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringe0" doxytag="NLMISC::CSString::isWhiteSpace" ></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"> bool NLMISC::CSString::isWhiteSpace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A handy utility routine for knowing if a character is a white space character or not.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00430">430</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00284">firstWord()</a>, and <a class="el" href="a06431.html#l00433">strip()</a>.
+<p>
+<div class="fragment"><pre>00430 { <span class="keywordflow">return</span> c==<span class="charliteral">' '</span> || c==<span class="charliteral">'\t'</span> || c==<span class="charliteral">'\n'</span> || c==<span class="charliteral">'\r'</span> || c==26; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa24" doxytag="NLMISC::CSString::left" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::left </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>count</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 the n left hand most characters of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00119">119</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>.
+<p>
+<div class="fragment"><pre>00120 {
+00121 <span class="keywordflow">return</span> substr(0,count);
+00122 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa25" doxytag="NLMISC::CSString::leftCrop" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::leftCrop </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>count</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 the string minus the n left hand most characters of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00125">125</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00034">CSString()</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a577">count</a>&gt;=<a class="code" href="a04115.html#a94">size</a>())
+00128 <span class="keywordflow">return</span> <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a>();
+00129 <span class="keywordflow">return</span> substr(count);
+00130 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa26" doxytag="NLMISC::CSString::operator *" ></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"> char NLMISC::CSString::operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the first character, or '' is the string is empty.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00089">89</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00090 {
+00091 <span class="keywordflow">if</span> (empty())
+00092 <span class="keywordflow">return</span> 0;
+00093 <span class="keywordflow">return</span> (*this)[0];
+00094 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa27" doxytag="NLMISC::CSString::operator!=" ></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"> bool NLMISC::CSString::operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00585">585</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00586 {
+00587 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)!=0;
+00588 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa28" doxytag="NLMISC::CSString::operator!=" ></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"> bool NLMISC::CSString::operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00579">579</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00580 {
+00581 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())!=0;
+00582 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa29" doxytag="NLMISC::CSString::operator<" ></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"> bool NLMISC::CSString::operator&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00633">633</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00634 {
+00635 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)&gt;0;
+00636 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa30" doxytag="NLMISC::CSString::operator<" ></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"> bool NLMISC::CSString::operator&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00627">627</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00628 {
+00629 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())&gt;0;
+00630 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa31" doxytag="NLMISC::CSString::operator<=" ></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"> bool NLMISC::CSString::operator&lt;= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00597">597</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00598 {
+00599 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)&lt;=0;
+00600 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa32" doxytag="NLMISC::CSString::operator<=" ></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"> bool NLMISC::CSString::operator&lt;= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00591">591</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00592 {
+00593 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())&lt;=0;
+00594 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa33" doxytag="NLMISC::CSString::operator==" ></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"> bool NLMISC::CSString::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00573">573</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00574 {
+00575 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)==0;
+00576 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa34" doxytag="NLMISC::CSString::operator==" ></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"> bool NLMISC::CSString::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00567">567</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00568 {
+00569 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())==0;
+00570 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa35" doxytag="NLMISC::CSString::operator>" ></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"> bool NLMISC::CSString::operator&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00621">621</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00622 {
+00623 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)&gt;0;
+00624 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa36" doxytag="NLMISC::CSString::operator>" ></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"> bool NLMISC::CSString::operator&gt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00615">615</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00616 {
+00617 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())&gt;0;
+00618 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa37" doxytag="NLMISC::CSString::operator>=" ></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"> bool NLMISC::CSString::operator&gt;= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00609">609</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00610 {
+00611 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other)&gt;=0;
+00612 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa38" doxytag="NLMISC::CSString::operator>=" ></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"> bool NLMISC::CSString::operator&gt;= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>other</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>
+Case insensitive string compare.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00603">603</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00225">NLMISC::stricmp()</a>.
+<p>
+<div class="fragment"><pre>00604 {
+00605 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(c_str(),other.c_str())&gt;=0;
+00606 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa39" doxytag="NLMISC::CSString::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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::replace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>toFind</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>replacement</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Replacing all occurences of one string with another.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00475">475</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00476 {
+00477 <span class="comment">// just bypass the problems that can cause a crash...</span>
+00478 <span class="keywordflow">if</span> (toFind==NULL || *toFind==0)
+00479 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00480
+00481 <span class="keywordtype">unsigned</span> i,j;
+00482 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00483 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>();)
+00484 {
+00485 <span class="comment">// string compare toFind against (*this)+i ...</span>
+00486 <span class="keywordflow">for</span> (j=0;toFind[j];++j)
+00487 <span class="keywordflow">if</span> ((*this)[i+j]!=toFind[j])
+00488 <span class="keywordflow">break</span>;
+00489 <span class="comment">// if strings were identical then j reffers to ASCIIZ terminator at end of 'toFind'</span>
+00490 <span class="keywordflow">if</span> (toFind[j]==0)
+00491 {
+00492 <span class="keywordflow">if</span> (replacement!=NULL)
+00493 result+=replacement;
+00494 i+=j;
+00495 }
+00496 <span class="keywordflow">else</span>
+00497 {
+00498 result+=(*this)[i];
+00499 ++i;
+00500 }
+00501 }
+00502 <span class="keywordflow">return</span> result;
+00503 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa40" doxytag="NLMISC::CSString::right" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::right </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>count</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 the n right hand most characters of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00103">103</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00104 {
+00105 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a577">count</a>&gt;=<a class="code" href="a04115.html#a94">size</a>())
+00106 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00107 <span class="keywordflow">return</span> substr(<a class="code" href="a04115.html#a94">size</a>()-count);
+00108 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa41" doxytag="NLMISC::CSString::rightCrop" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::rightCrop </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>count</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 the string minus the n right hand most characters of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00111">111</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00034">CSString()</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+Referenced by <a class="el" href="a06753.html#l00144">NLMISC::CWordsDictionary::lookup()</a>.
+<p>
+<div class="fragment"><pre>00112 {
+00113 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a577">count</a>&gt;=<a class="code" href="a04115.html#a94">size</a>())
+00114 <span class="keywordflow">return</span> <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a>();
+00115 <span class="keywordflow">return</span> substr(0,<a class="code" href="a04115.html#a94">size</a>()-count);
+00116 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa42" doxytag="NLMISC::CSString::serial" ></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 NLMISC::CSString::serial </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Serial.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00645">645</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>.
+<p>
+<div class="fragment"><pre>00646 {
+00647 <a class="code" href="a04223.html#a626">s</a>.serial( reinterpret_cast&lt;std::string&amp;&gt;( *<span class="keyword">this</span> ) );
+00648 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa43" doxytag="NLMISC::CSString::splitFrom" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::splitFrom </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>s</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 sub string from character following first instance of given character on.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00213">213</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00214 {
+00215 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
+00216 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00217 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00218 {
+00219 <span class="comment">// perform a quick string compare</span>
+00220 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> j;
+00221 <span class="keywordflow">for</span> (j=0;i+j&lt;<a class="code" href="a04115.html#a94">size</a>() &amp;&amp; <a class="code" href="a04223.html#a626">s</a>[j]!=0 &amp;&amp; <a class="code" href="a04223.html#a626">s</a>[j]==(*this)[i+j];++j)
+00222 {
+00223 }
+00224 <span class="comment">// if string compare matched then build and return a result</span>
+00225 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a>[j]==0)
+00226 {
+00227 result=substr(i+j);
+00228 <span class="keywordflow">return</span> result;
+00229 }
+00230 }
+00231 <span class="keywordflow">return</span> result;
+00232 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa44" doxytag="NLMISC::CSString::splitFrom" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::splitFrom </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</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 sub string from character following first instance of given character on.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00197">197</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00198 {
+00199 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00200 std::string::const_iterator it;
+00201 <span class="keywordflow">for</span> (it=begin();it!=end() &amp;&amp; *it!=c;++it)
+00202 {}
+00203 <span class="keywordflow">if</span> (it!=end())
+00204 {
+00205 ++it;
+00206 <span class="keywordflow">for</span> (;it!=end();++it)
+00207 result+=*it;
+00208 }
+00209 <span class="keywordflow">return</span> result;
+00210 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa45" doxytag="NLMISC::CSString::splitTo" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::splitTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>truncateThis</em> = false</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return sub string up to but not including first instance of given character.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00163">163</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00164 {
+00165 <span class="keywordtype">unsigned</span> i;
+00166 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00167 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00168 {
+00169 <span class="comment">// perform a quick string compare</span>
+00170 <span class="keywordtype">int</span> j;
+00171 <span class="keywordflow">for</span> (j=0;<a class="code" href="a04223.html#a626">s</a>[j]!=0 &amp;&amp; <a class="code" href="a04223.html#a626">s</a>[j]==(&amp;((*this)[i]))[j];++j)
+00172 {
+00173 }
+00174 <span class="comment">// if string compare matched then return result so far</span>
+00175 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a626">s</a>[j]==0)
+00176 {
+00177 <span class="comment">// remove the result string from the input string if so desired</span>
+00178 <span class="keywordflow">if</span> (truncateThis)
+00179 {
+00180 <span class="keywordflow">if</span> (i&lt;<a class="code" href="a04115.html#a94">size</a>()-1)
+00181 (*this)=substr(i+1); <span class="comment">// +1 to skip the separator character</span>
+00182 <span class="keywordflow">else</span>
+00183 clear();
+00184 }
+00185
+00186 <span class="keywordflow">return</span> result;
+00187 }
+00188 result+=(*this)[i];
+00189 }
+00190 <span class="comment">// we didn't find the separator string so we're returning a copy of the whole string</span>
+00191 <span class="keywordflow">if</span> (truncateThis)
+00192 clear();
+00193 <span class="keywordflow">return</span> result;
+00194 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa46" doxytag="NLMISC::CSString::splitTo" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::splitTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>truncateThis</em> = false</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return sub string up to but not including first instance of given character.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00143">143</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00144 {
+00145 <span class="keywordtype">unsigned</span> i;
+00146 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00147 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>() &amp;&amp; (*this)[i]!=c;++i)
+00148 result+=(*this)[i];
+00149
+00150 <span class="comment">// remove the result string from the input string if so desired</span>
+00151 <span class="keywordflow">if</span> (truncateThis)
+00152 {
+00153 <span class="keywordflow">if</span> (i&lt;<a class="code" href="a04115.html#a94">size</a>()-1)
+00154 (*this)=substr(i+1); <span class="comment">// +1 to skip the separator character</span>
+00155 <span class="keywordflow">else</span>
+00156 clear();
+00157 }
+00158
+00159 <span class="keywordflow">return</span> result;
+00160 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa47" doxytag="NLMISC::CSString::splitTo" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::splitTo </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</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 sub string up to but not including first instance of given character.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00133">133</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+Referenced by <a class="el" href="a06753.html#l00214">NLMISC::CWordsDictionary::getWordsKey()</a>.
+<p>
+<div class="fragment"><pre>00134 {
+00135 <span class="keywordtype">unsigned</span> i;
+00136 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00137 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>() &amp;&amp; (*this)[i]!=c;++i)
+00138 result+=(*this)[i];
+00139 <span class="keywordflow">return</span> result;
+00140 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa48" doxytag="NLMISC::CSString::strip" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::strip </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 a copy of the string with leading and trainling spaces rmoved.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00433">433</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00430">isWhiteSpace()</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00406">countWordOrWords()</a>, <a class="el" href="a06431.html#l00335">countWords()</a>, <a class="el" href="a06431.html#l00359">firstWordOrWords()</a>, <a class="el" href="a06431.html#l00348">word()</a>, and <a class="el" href="a06431.html#l00419">wordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00434 {
+00435 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00436 <span class="keywordtype">int</span> i,j;
+00437 <span class="keywordflow">for</span> (j=<a class="code" href="a04115.html#a94">size</a>()-1; j&gt;=0 &amp;&amp; <a class="code" href="a03435.html#NLMISC_1_1CSStringe0">isWhiteSpace</a>((*<span class="keyword">this</span>)[j]); --j) {}
+00438 <span class="keywordflow">for</span> (i=0; i&lt;j &amp;&amp; <a class="code" href="a03435.html#NLMISC_1_1CSStringe0">isWhiteSpace</a>((*<span class="keyword">this</span>)[i]); ++i) {}
+00439 <span class="keywordflow">for</span> (; i&lt;=j; ++i)
+00440 result+=(*this)[i];
+00441 <span class="keywordflow">return</span> result;
+00442 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa49" doxytag="NLMISC::CSString::strtok" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::strtok </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>separators</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Behave like a s <a class="el" href="a03435.html#NLMISC_1_1CSStringa49">strtok()</a> routine, returning the sun string extracted from (and removed from) *this.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00235">235</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00236 {
+00237 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
+00238 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00239
+00240 <span class="comment">// skip leading junk</span>
+00241 <span class="keywordflow">for</span> (i=0;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00242 {
+00243 <span class="comment">// look for the next character in the 'separator' character list supplied</span>
+00244 <span class="keywordtype">unsigned</span> j;
+00245 <span class="keywordflow">for</span> (j=0;separators[j] &amp;&amp; (*this)[i]!=separators[j];++j)
+00246 {}
+00247 <span class="comment">// if not found then we're at end of leading junk</span>
+00248 <span class="keywordflow">if</span> (!separators[j])
+00249 <span class="keywordflow">break</span>;
+00250 }
+00251
+00252 <span class="comment">// copy out everything up to the next separator character</span>
+00253 <span class="keywordflow">for</span> (;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00254 {
+00255 <span class="comment">// look for the next character in the 'separator' character list supplied</span>
+00256 <span class="keywordtype">unsigned</span> j;
+00257 <span class="keywordflow">for</span> (j=0;separators[j] &amp;&amp; (*this)[i]!=separators[j];++j)
+00258 {}
+00259 <span class="comment">// if not found then we're at end of leading junk</span>
+00260 <span class="keywordflow">if</span> (separators[j])
+00261 <span class="keywordflow">break</span>;
+00262 result+=(*this)[i];
+00263 }
+00264
+00265 <span class="comment">// skip trailing junk</span>
+00266 <span class="keywordflow">for</span> (;i&lt;<a class="code" href="a04115.html#a94">size</a>();++i)
+00267 {
+00268 <span class="comment">// look for the next character in the 'separator' character list supplied</span>
+00269 <span class="keywordtype">unsigned</span> j;
+00270 <span class="keywordflow">for</span> (j=0;separators[j] &amp;&amp; (*this)[i]!=separators[j];++j)
+00271 {}
+00272 <span class="comment">// if not found then we're at end of leading junk</span>
+00273 <span class="keywordflow">if</span> (!separators[j])
+00274 <span class="keywordflow">break</span>;
+00275 }
+00276
+00277 <span class="comment">// delete the treated bit from this string</span>
+00278 (*this)=substr(i);
+00279
+00280 <span class="keywordflow">return</span> result;
+00281 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa50" doxytag="NLMISC::CSString::tailFromFirstWord" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::tailFromFirstWord </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 sub string up to but not including first instance of given character.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00327">327</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00284">firstWord()</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00335">countWords()</a>, and <a class="el" href="a06431.html#l00348">word()</a>.
+<p>
+<div class="fragment"><pre>00328 {
+00329 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=*<span class="keyword">this</span>;
+00330 hold.firstWord(<span class="keyword">true</span>);
+00331 <span class="keywordflow">return</span> hold;
+00332 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa51" doxytag="NLMISC::CSString::tailFromFirstWordOrWords" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::tailFromFirstWordOrWords </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 sub string up to but not including first instance of given character.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00398">398</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a06431.html#l00359">firstWordOrWords()</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00406">countWordOrWords()</a>, and <a class="el" href="a06431.html#l00419">wordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00399 {
+00400 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=*<span class="keyword">this</span>;
+00401 hold.firstWordOrWords(<span class="keyword">true</span>);
+00402 <span class="keywordflow">return</span> hold;
+00403 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa52" doxytag="NLMISC::CSString::toLower" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::toLower </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>
+Making a lower case copy of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00460">460</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00461 {
+00462 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00463 std::string::const_iterator it;
+00464 <span class="keywordflow">for</span> (it=begin();it!=end();++it)
+00465 {
+00466 <span class="keywordtype">char</span> c=(*it);
+00467 <span class="keywordflow">if</span> (c&gt;=<span class="charliteral">'A'</span> &amp;&amp; c&lt;=<span class="charliteral">'Z'</span>)
+00468 c^=(<span class="charliteral">'a'</span>^<span class="charliteral">'A'</span>);
+00469 result+=c;
+00470 }
+00471 <span class="keywordflow">return</span> result;
+00472 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa53" doxytag="NLMISC::CSString::toUpper" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::toUpper </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>
+Making an upper case copy of a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00445">445</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+<div class="fragment"><pre>00446 {
+00447 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> result;
+00448 std::string::const_iterator it;
+00449 <span class="keywordflow">for</span> (it=begin();it!=end();++it)
+00450 {
+00451 <span class="keywordtype">char</span> c=(*it);
+00452 <span class="keywordflow">if</span> (c&gt;=<span class="charliteral">'a'</span> &amp;&amp; c&lt;=<span class="charliteral">'z'</span>)
+00453 c^=(<span class="charliteral">'a'</span>^<span class="charliteral">'A'</span>);
+00454 result+=c;
+00455 }
+00456 <span class="keywordflow">return</span> result;
+00457 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa54" doxytag="NLMISC::CSString::word" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::word </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>idx</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>
+Count the number of words (or quote delimited sub-strings) in a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00348">348</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00284">firstWord()</a>, <a class="el" href="a06431.html#l00433">strip()</a>, and <a class="el" href="a06431.html#l00327">tailFromFirstWord()</a>.
+<p>
+<div class="fragment"><pre>00349 {
+00350 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=<a class="code" href="a03435.html#NLMISC_1_1CSStringa48">strip</a>();
+00351
+00352 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <a class="code" href="a04223.html#a577">count</a>=0;<a class="code" href="a04223.html#a577">count</a>&lt;idx;++<a class="code" href="a04223.html#a577">count</a>)
+00353 hold=hold.tailFromFirstWord().strip();
+00354
+00355 <span class="keywordflow">return</span> hold.firstWord();
+00356 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLMISC_1_1CSStringa55" doxytag="NLMISC::CSString::wordOrWords" ></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"> <a class="el" href="a03435.html">CSString</a> NLMISC::CSString::wordOrWords </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>idx</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>
+Count the number of words (or quote delimited sub-strings) in a string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06431.html#l00419">419</a> of file <a class="el" href="a06431.html">sstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a06431.html#l00359">firstWordOrWords()</a>, <a class="el" href="a06431.html#l00433">strip()</a>, and <a class="el" href="a06431.html#l00398">tailFromFirstWordOrWords()</a>.
+<p>
+<div class="fragment"><pre>00420 {
+00421 <a class="code" href="a03435.html#NLMISC_1_1CSStringa17">CSString</a> hold=<a class="code" href="a03435.html#NLMISC_1_1CSStringa48">strip</a>();
+00422
+00423 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <a class="code" href="a04223.html#a577">count</a>=0;<a class="code" href="a04223.html#a577">count</a>&lt;idx;++<a class="code" href="a04223.html#a577">count</a>)
+00424 hold=hold.tailFromFirstWordOrWords().strip();
+00425
+00426 <span class="keywordflow">return</span> hold.firstWordOrWords();
+00427 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a06431.html">sstring.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:34:04 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>