diff options
Diffstat (limited to '')
-rw-r--r-- | docs/doxygen/nel/a03435.html | 2802 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLMISC::CSString Class Reference</h1><code>#include <<a class="el" href="a06431.html">sstring.h</a>></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 </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<class C> bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa1">atof</a> (C &result) const </td></tr> + +<tr><td class="mdescLeft"> </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 </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<class C> bool </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa3">atoi</a> (C &result) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa4">back</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa7">countWordOrWords</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa8">countWords</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa9">CSString</a> (const std::string &<a class="el" href="a04223.html#a626">s</a>, const char *fmt)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </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> </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> </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> </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> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa15">CSString</a> (const std::string &<a class="el" href="a04223.html#a626">s</a>)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </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> </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 </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"> </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> </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"> </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> </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> </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"> </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> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa23">icompare</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Case insensitive string compare (useful for use as map keys, see less<CSString> 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> </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"> </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> </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa26">operator *</a> ()</td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa28">operator!=</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa29">operator<</a> (const char *other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa30">operator<</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa31">operator<=</a> (const char *other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa32">operator<=</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa34">operator==</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa35">operator></a> (const char *other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa36">operator></a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa37">operator>=</a> (const char *other) const </td></tr> + +<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa38">operator>=</a> (const std::string &other) const </td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </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"> </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> </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"> </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 </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> &<a class="el" href="a04223.html#a626">s</a>)</td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa48">strip</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa50">tailFromFirstWord</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa51">tailFromFirstWordOrWords</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa52">toLower</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html#NLMISC_1_1CSStringa53">toUpper</a> () const </td></tr> + +<tr><td class="mdescLeft"> </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> </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"> </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> </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"> </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 </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"> </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 & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>s</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>s</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">char </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">int </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 * </td> + <td class="mdname" nowrap> <em>fmt</em> = "%d"</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">unsigned </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 * </td> + <td class="mdname" nowrap> <em>fmt</em> = "%u"</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">double </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 * </td> + <td class="mdname" nowrap> <em>fmt</em> = "%f"</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const char * </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 * </td> + <td class="mdname" nowrap> <em>fmt</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const std::string & </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 * </td> + <td class="mdname" nowrap> <em>fmt</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<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<class C> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CSString::atof </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">C & </td> + <td class="mdname1" valign="top" nowrap> <em>result</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<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<class C> </td> + </tr> + <tr> + <td class="md" nowrap valign="top"> bool NLMISC::CSString::atoi </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">C & </td> + <td class="mdname1" valign="top" nowrap> <em>result</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return the 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">( </td> + <td class="md" nowrap valign="top">int </td> + <td class="mdname1" valign="top" nowrap> <em>character</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>toFind</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="md" nowrap valign="top">const char * </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 </td> + <td class="mdname" nowrap> <em>startLocation</em> = 0</td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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>=<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<<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>=<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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>truncateThis</em> = false </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<a class="code" href="a04115.html#a94">size</a>() && <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]>=<span class="charliteral">'A'</span> && (*this)[i]<=<span class="charliteral">'Z'</span>) || ((*this)[i]>=<span class="charliteral">'a'</span> && (*this)[i]<=<span class="charliteral">'z'</span>) || +00293 ((*this)[i]>=<span class="charliteral">'0'</span> && (*this)[i]<=<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<(*this).size() && +00297 ( ((*this)[i]>=<span class="charliteral">'A'</span> && (*this)[i]<=<span class="charliteral">'Z'</span>) || ((*this)[i]>=<span class="charliteral">'a'</span> && (*this)[i]<=<span class="charliteral">'z'</span>) || +00298 ((*this)[i]>=<span class="charliteral">'0'</span> && (*this)[i]<=<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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<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<CSString *>(<span class="keyword">this</span>)->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">( </td> + <td class="md" nowrap valign="top">bool </td> + <td class="mdname1" valign="top" nowrap> <em>truncateThis</em> = false </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<hold.size() && 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<<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> + +<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<CSString *>(<span class="keyword">this</span>)->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">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Case insensitive string compare (useful for use as map keys, see less<CSString> 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())<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">( </td> + <td class="md" nowrap valign="top">char </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline, static]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>count</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>count</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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>>=<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">( </td> + <td class="md" nowrap valign="top">void </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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< </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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)>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< </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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())>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<= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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)<=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<= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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())<=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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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> </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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)>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> </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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())>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>= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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)>=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>= </td> + <td class="md" valign="top">( </td> + <td class="md" nowrap valign="top">const std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>other</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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())>=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">( </td> + <td class="md" nowrap valign="top">const char * </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 * </td> + <td class="mdname" nowrap> <em>replacement</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </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> + + </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<<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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>count</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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>>=<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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>count</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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>>=<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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a02270.html">NLMISC::IStream</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>s</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<std::string&>( *<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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>s</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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<<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<<a class="code" href="a04115.html#a94">size</a>() && <a class="code" href="a04223.html#a626">s</a>[j]!=0 && <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">( </td> + <td class="md" nowrap valign="top">char </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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() && *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">( </td> + <td class="md" nowrap valign="top">const char * </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 </td> + <td class="mdname" nowrap> <em>truncateThis</em> = false</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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 && <a class="code" href="a04223.html#a626">s</a>[j]==(&((*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<<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">( </td> + <td class="md" nowrap valign="top">char </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 </td> + <td class="mdname" nowrap> <em>truncateThis</em> = false</td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<a class="code" href="a04115.html#a94">size</a>() && (*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<<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">( </td> + <td class="md" nowrap valign="top">char </td> + <td class="mdname1" valign="top" nowrap> <em>c</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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<<a class="code" href="a04115.html#a94">size</a>() && (*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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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>=0 && <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<j && <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<=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">( </td> + <td class="md" nowrap valign="top">const char * </td> + <td class="mdname1" valign="top" nowrap> <em>separators</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<<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] && (*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<<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] && (*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<<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] && (*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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +Return 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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>=<span class="charliteral">'A'</span> && c<=<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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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>=<span class="charliteral">'a'</span> && c<=<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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>idx</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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><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">( </td> + <td class="md" nowrap valign="top">unsigned </td> + <td class="mdname1" valign="top" nowrap> <em>idx</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const<code> [inline]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </td> + <td> + +<p> +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><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> |