<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Colorer-take5 Library: String Class Reference</title> <link href="../styles/styles.css" rel="stylesheet" type="text/css"> <link href="../styles/doc.css" rel="stylesheet" type="text/css"> <link rel="icon" href="../images/logo-small-api.png"/> </head> <body> <div align='center'> <a href="../index.html">Home</a> | <a href="modules.html">Modules</a> | <a href="hierarchy.html">Class Hierarchy</a> | <a href="classes.html">Alphabetical List</a> | <a href="annotated.html">Compound List</a> | <a href="pages.html">Related Pages</a> </div> <!-- Generated by Doxygen 1.4.6 --> <h1>String Class Reference<br> <small> [<a class="el" href="group__unicode.html">Unicode core</a>]</small> </h1><!-- doxytag: class="String" --><p>Inheritance diagram for String: <p><center><img src="classString.png" usemap="#String_map" border="0" alt=""></center> <map name="String_map"> <area href="classDString.html" alt="DString" shape="rect" coords="0,56,80,80"> <area href="classSString.html" alt="SString" shape="rect" coords="90,56,170,80"> <area href="classStringBuffer.html" alt="StringBuffer" shape="rect" coords="90,112,170,136"> </map> <hr><a name="_details"></a><h2>Detailed Description</h2> Abstract unicode string class. <p> Colorer defines a set of basic classes to represent Unicode strings. These are<ul> <li><a class="el" href="classString.html">String</a> - abstract class.</li><li><a class="el" href="classDString.html">DString</a> - dynamic string class - works just like filter of some Unicode or ANSI char stream.</li><li><a class="el" href="classSString.html">SString</a> - static independent string. </li></ul> <p> <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"><a class="anchor" name="de0767c74feaa03a0cb9c32b832530c6"></a><!-- doxytag: member="String::operator[]" ref="de0767c74feaa03a0cb9c32b832530c6" args="(int i) const =0" --> virtual wchar </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int i) const =0</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f686bc4864c5021b5e6267884bd6e9f7"></a><!-- doxytag: member="String::length" ref="f686bc4864c5021b5e6267884bd6e9f7" args="() const =0" --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#f686bc4864c5021b5e6267884bd6e9f7">length</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classString.html">String</a> length in unicode characters. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b1a9a59cbd36e881bee945666f26648"></a><!-- doxytag: member="String::operator==" ref="4b1a9a59cbd36e881bee945666f26648" args="(const String &str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#4b1a9a59cbd36e881bee945666f26648">operator==</a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34c0178e265b8eeff20a750c3a1d8190"></a><!-- doxytag: member="String::operator==" ref="34c0178e265b8eeff20a750c3a1d8190" args="(const char *str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#34c0178e265b8eeff20a750c3a1d8190">operator==</a> (const char *str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45f9948f45519815c743ebfc2aa896e0"></a><!-- doxytag: member="String::operator!=" ref="45f9948f45519815c743ebfc2aa896e0" args="(const String &str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#45f9948f45519815c743ebfc2aa896e0">operator!=</a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are not equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea4ab7ca79d652e0509a3b033260036e"></a><!-- doxytag: member="String::operator!=" ref="ea4ab7ca79d652e0509a3b033260036e" args="(const char *str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#ea4ab7ca79d652e0509a3b033260036e">operator!=</a> (const char *str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are not equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c02ebedd370efa59104aebe2c0a559e9"></a><!-- doxytag: member="String::operator>" ref="c02ebedd370efa59104aebe2c0a559e9" args="(const String &str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#c02ebedd370efa59104aebe2c0a559e9">operator></a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if this string lexically 'more', than <code>str</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1c4b93c7ad05dc93d566b38fa98f6db"></a><!-- doxytag: member="String::operator<" ref="c1c4b93c7ad05dc93d566b38fa98f6db" args="(const String &str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#c1c4b93c7ad05dc93d566b38fa98f6db">operator<</a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if this string lexically 'less', than <code>str</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1ee21a8525159dda55768b07341655a"></a><!-- doxytag: member="String::equals" ref="f1ee21a8525159dda55768b07341655a" args="(const String *str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#f1ee21a8525159dda55768b07341655a">equals</a> (const <a class="el" href="classString.html">String</a> *str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed80d84fee20116d6ab92165b20b8fb6"></a><!-- doxytag: member="String::equals" ref="ed80d84fee20116d6ab92165b20b8fb6" args="(const char *str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#ed80d84fee20116d6ab92165b20b8fb6">equals</a> (const char *str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are equals. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95fb181406d1db88acf1b5f9f1bf0059"></a><!-- doxytag: member="String::equalsIgnoreCase" ref="95fb181406d1db88acf1b5f9f1bf0059" args="(const String *str) const " --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#95fb181406d1db88acf1b5f9f1bf0059">equalsIgnoreCase</a> (const <a class="el" href="classString.html">String</a> *str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Checks, if two strings are equals, ignoring Case Folding. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#057d2fa2f4cde7a8bd21be0387e35a65">compareTo</a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compares two strings. <a href="#057d2fa2f4cde7a8bd21be0387e35a65"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#db068e8559e2fb4f301022fa0fa445be">compareToIgnoreCase</a> (const <a class="el" href="classString.html">String</a> &str) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compares two strings ignoring case. <a href="#db068e8559e2fb4f301022fa0fa445be"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92f4b5ea24d948aadea01797e5027106"></a><!-- doxytag: member="String::getWChars" ref="92f4b5ea24d948aadea01797e5027106" args="(wchar **chars) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#92f4b5ea24d948aadea01797e5027106">getWChars</a> (wchar **chars) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copies content of string into array of wchars. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc206ab92a6fd29135a05fef0b998da6"></a><!-- doxytag: member="String::getBytes" ref="bc206ab92a6fd29135a05fef0b998da6" args="(byte **bytes, int encoding=-1) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#bc206ab92a6fd29135a05fef0b998da6">getBytes</a> (byte **bytes, int encoding=-1) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copies content of string into array of bytes, using specified encoding. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a7067eed4d90238795914acfe969e8f"></a><!-- doxytag: member="String::getChars" ref="6a7067eed4d90238795914acfe969e8f" args="(int encoding=-1) const " --> virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#6a7067eed4d90238795914acfe969e8f">getChars</a> (int encoding=-1) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns string content in internally supported character array. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="223fffbc62d08effc54115322ba72407"></a><!-- doxytag: member="String::getWChars" ref="223fffbc62d08effc54115322ba72407" args="() const " --> virtual const wchar * </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#223fffbc62d08effc54115322ba72407">getWChars</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns string content in internally supported unicode character array. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee262521ad680c2c69e4f36e41e72ab5"></a><!-- doxytag: member="String::indexOf" ref="ee262521ad680c2c69e4f36e41e72ab5" args="(wchar wc, int pos=0) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#ee262521ad680c2c69e4f36e41e72ab5">indexOf</a> (wchar wc, int pos=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches first index of char <code>wc</code>, starting from <code>pos</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86b0401bd257e77891f12dd905308aab"></a><!-- doxytag: member="String::indexOf" ref="86b0401bd257e77891f12dd905308aab" args="(const String &str, int pos=0) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#86b0401bd257e77891f12dd905308aab">indexOf</a> (const <a class="el" href="classString.html">String</a> &str, int pos=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches first index of substring <code>str</code>, starting from <code>pos</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2c84b1066da875355b2295f002d6985"></a><!-- doxytag: member="String::indexOfIgnoreCase" ref="d2c84b1066da875355b2295f002d6985" args="(const String &str, int pos=0) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#d2c84b1066da875355b2295f002d6985">indexOfIgnoreCase</a> (const <a class="el" href="classString.html">String</a> &str, int pos=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches first index of substring <code>str</code>, starting from <code>pos</code> ignoring character case. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="045d4e2975c3defbf023f7ca538e3de6"></a><!-- doxytag: member="String::lastIndexOf" ref="045d4e2975c3defbf023f7ca538e3de6" args="(wchar wc, int pos=-1) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#045d4e2975c3defbf023f7ca538e3de6">lastIndexOf</a> (wchar wc, int pos=-1) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches last index of character <code>wc</code>, ending with <code>pos</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b2a44697ece3c0e3222011b44408b28"></a><!-- doxytag: member="String::lastIndexOf" ref="2b2a44697ece3c0e3222011b44408b28" args="(const String &str, int pos=-1) const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#2b2a44697ece3c0e3222011b44408b28">lastIndexOf</a> (const <a class="el" href="classString.html">String</a> &str, int pos=-1) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searches last index of substring <code>str</code>, ending with <code>pos</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f2817527d01629978b332fda3837771"></a><!-- doxytag: member="String::startsWith" ref="1f2817527d01629978b332fda3837771" args="(const String &str, int pos=0) const " --> virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#1f2817527d01629978b332fda3837771">startsWith</a> (const <a class="el" href="classString.html">String</a> &str, int pos=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Tests, if string starts with specified <code>str</code> substring at position <code>pos</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b692f1c759e9753f0e92b237eba26dee"></a><!-- doxytag: member="String::replace" ref="b692f1c759e9753f0e92b237eba26dee" args="(const String &pattern, const String &newstring) const " --> <a class="el" href="classString.html">String</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#b692f1c759e9753f0e92b237eba26dee">replace</a> (const <a class="el" href="classString.html">String</a> &pattern, const <a class="el" href="classString.html">String</a> &newstring) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates new <a class="el" href="classString.html">String</a> instance, and replaces there any matched <code>pattern</code> to <code>newstring</code>. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aae288467a178922c43652a6805586b8"></a><!-- doxytag: member="String::hashCode" ref="aae288467a178922c43652a6805586b8" args="() const " --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classString.html#aae288467a178922c43652a6805586b8">hashCode</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Internal hashcode of string. <br></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="057d2fa2f4cde7a8bd21be0387e35a65"></a><!-- doxytag: member="String::compareTo" ref="057d2fa2f4cde7a8bd21be0387e35a65" args="(const String &str) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int String::compareTo </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classString.html">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>str</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Compares two strings. <p> <dl compact><dt><b>Returns:</b></dt><dd>-1 if this < str; 0 if this == str; 1 if this > str; </dd></dl> </td> </tr> </table> <a class="anchor" name="db068e8559e2fb4f301022fa0fa445be"></a><!-- doxytag: member="String::compareToIgnoreCase" ref="db068e8559e2fb4f301022fa0fa445be" args="(const String &str) const " --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int String::compareToIgnoreCase </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classString.html">String</a> & </td> <td class="mdname1" valign="top" nowrap> <em>str</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> const</td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> Compares two strings ignoring case. <p> <dl compact><dt><b>Returns:</b></dt><dd>-1 if this < str; 0 if this == str; 1 if this > str; </dd></dl> </td> </tr> </table> <br><br> <center><small> Colorer-take5 Library. Copyright © 1999-2006 Igor Russkih.<br> Generated at Fri Nov 24 17:13:14 2006 by doxygen 1.4.6. </small><center> </BODY> </HTML>