Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 527

ucommon-doc-5.0.4-1mdv2010.2.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ucommon: ucommon/string.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ucommon/string.h File Reference</h1>
<p>A common string class and character string support functions.  
<a href="#_details">More...</a></p>
<code>#include &lt;<a class="el" href="a00194_source.html">ucommon/platform.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00186_source.html">ucommon/generics.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00195_source.html">ucommon/protocols.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00192_source.html">ucommon/object.h</a>&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="a00201_source.html">string.h</a>&gt;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
<div class="dynheader">
Include dependency graph for string.h:</div>
<div class="dynsection">
<div class="center"><img src="a00266.png" border="0" usemap="#ucommon_2string_8h_map" alt=""/></div>
<map name="ucommon_2string_8h_map" id="ucommon_2string_8h">
<area shape="rect" id="node3" href="a00194.html" title="Various miscellaneous platform specific headers and defines." alt="" coords="885,231,1088,257"/><area shape="rect" id="node26" href="a00186.html" title="Generic templates for C++." alt="" coords="1220,156,1423,183"/><area shape="rect" id="node34" href="a00195.html" title="Abstract interfaces and support." alt="" coords="935,156,1145,183"/><area shape="rect" id="node37" href="a00192.html" title="A common object base class with auto&#45;pointer support." alt="" coords="1204,81,1385,108"/></map>
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
<div class="center"><img src="a00267.png" border="0" usemap="#ucommon_2string_8hdep_map" alt=""/></div>
<map name="ucommon_2string_8hdep_map" id="ucommon_2string_8hdep">
<area shape="rect" id="node3" href="a00180.html" title="Classes which use the buffer protocol to stream data." alt="" coords="255,156,436,182"/><area shape="rect" id="node5" href="a00197.html" title="Generic shell parsing and application services." alt="" coords="268,230,439,257"/><area shape="rect" id="node7" href="a00204.html" title="Top level include file for the GNU uCommon C++ core library." alt="" coords="460,305,652,332"/><area shape="rect" id="node12" href="a00183.html" title="Basic classes for manipulating time and date based data, particularly that may be..." alt="" coords="41,230,244,257"/><area shape="rect" id="node15" href="a00185.html" title="Thread&#45;aware file system manipulation class." alt="" coords="383,81,545,108"/><area shape="rect" id="node23" href="a00189.html" title="Support for memory mapped objects." alt="" coords="767,156,948,182"/><area shape="rect" id="node27" href="a00198.html" title="Common socket class and address manipulation." alt="" coords="593,81,775,108"/><area shape="rect" id="node35" href="a00205.html" title="Basic UCommon Unicode support." alt="" coords="856,230,1048,257"/><area shape="rect" id="node38" href="a00207.html" title="XML &quot;SAX&quot; (stream) parsing support from GNU Common C++." alt="" coords="1023,81,1175,108"/><area shape="rect" id="node9" href="a00196.html" title="This library holds basic cryptographic functions and secure socket support for use..." alt="" coords="465,380,647,406"/><area shape="rect" id="node19" href="a00200.html" title="Any ucommon streaming classes that are built from std::streamio facilities and that..." alt="" coords="511,156,692,182"/></map>
</div>

<p><a href="a00201_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">ucommon::charbuf&lt; S &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template to create a character array that can be manipulated as a string.  <a href="a00031.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">ucommon::memstring</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A string class that uses a cstring buffer that is fixed in memory.  <a href="a00082.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html">ucommon::string</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A copy-on-write string class that operates by reference count.  <a href="a00148.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html">ucommon::string::cstring</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is an internal class which contains the actual string data along with some control fields.  <a href="a00149.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html">ucommon::stringbuf&lt; S &gt;</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A string class that has a predefined string buffer.  <a href="a00150.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html">ucommon</a></td></tr>

<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Common namespace for all ucommon objects. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c5089f1e1889e3d5262cae70f4ec808"></a><!-- doxytag: member="string.h::MIME_B64_WIDTH" ref="a7c5089f1e1889e3d5262cae70f4ec808" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MIME_B64_WIDTH</b>&nbsp;&nbsp;&nbsp;76</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adda613fd54e4e5b4bca24588586eb429"></a><!-- doxytag: member="string.h::PGP_B64_WIDTH" ref="adda613fd54e4e5b4bca24588586eb429" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PGP_B64_WIDTH</b>&nbsp;&nbsp;&nbsp;64</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a9045ddbf2980f6330c065a6935f40161">ucommon::String</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type when mixing std::string in old compilers that are bad with namespaces.  <a href="#a9045ddbf2980f6330c065a6935f40161"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111b48f4bb3203a18bab710b093ac628"></a><!-- doxytag: member="string.h::string_t" ref="a111b48f4bb3203a18bab710b093ac628" args="" -->
typedef string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a111b48f4bb3203a18bab710b093ac628">ucommon::string_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience type for string. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff28e825082cbb9ec24f288f210f34c6"></a><!-- doxytag: member="string.h::strsize_t" ref="aff28e825082cbb9ec24f288f210f34c6" args="" -->
typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aff28e825082cbb9ec24f288f210f34c6">ucommon::strsize_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience class for size of strings. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a173d631afa146912b5b78bb56381a38e">ucommon::case_eq</a> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal for a specified size ignoring case.  <a href="#a173d631afa146912b5b78bb56381a38e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aed17b3db1b6589811a2f2f1567775177">ucommon::case_eq</a> (char const *s1, char const *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal ignoring case.  <a href="#aed17b3db1b6589811a2f2f1567775177"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#aaf28fdc5132fbbcb8c1965a70750c012">ucommon::eq</a> (String &amp;s1, String &amp;s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two string objects if equal.  <a href="#aaf28fdc5132fbbcb8c1965a70750c012"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a8fc71f2ff5f59e70eb9fe2bf9c53f593">ucommon::eq</a> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal up to specified size.  <a href="#a8fc71f2ff5f59e70eb9fe2bf9c53f593"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a19850a6054841e4fd921921c64f40cb9">ucommon::eq</a> (char const *s1, char const *s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two null terminated strings if equal.  <a href="#a19850a6054841e4fd921921c64f40cb9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a7cb57be8ab2eda95df6e455058e7535b">ucommon::ieq</a> (String &amp;s1, String &amp;s2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two string objects if equal ignoring case.  <a href="#a7cb57be8ab2eda95df6e455058e7535b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6105349bc8fb59421e1cb5c6df4de044"></a><!-- doxytag: member="string.h::ieq" ref="a6105349bc8fb59421e1cb5c6df4de044" args="(char const *s1, char const *s2, size_t size)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::ieq</b> (char const *s1, char const *s2, size_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae12c6d328a87bdc043e446703e6fb10b"></a><!-- doxytag: member="string.h::ieq" ref="ae12c6d328a87bdc043e446703e6fb10b" args="(char const *s1, char const *s2)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::ieq</b> (char const *s1, char const *s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f5b641a9a464e78aae5db2df24021ad"></a><!-- doxytag: member="string.h::str" ref="a5f5b641a9a464e78aae5db2df24021ad" args="(CharacterProtocol &amp;cp, strsize_t size)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (CharacterProtocol &amp;cp, strsize_t size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a104b0c0660623a2b0b7c3dd7e6e036d0"></a><!-- doxytag: member="string.h::str" ref="a104b0c0660623a2b0b7c3dd7e6e036d0" args="(double value)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (double value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c75d246bb685ec92e5e3e922ac902b6"></a><!-- doxytag: member="string.h::str" ref="a0c75d246bb685ec92e5e3e922ac902b6" args="(unsigned long value)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (unsigned long value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad901193639eaa0501cb4adfbd466d817"></a><!-- doxytag: member="string.h::str" ref="ad901193639eaa0501cb4adfbd466d817" args="(long value)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (long value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafcf3ae5982159b141573bdfbd4301a5"></a><!-- doxytag: member="string.h::str" ref="aafcf3ae5982159b141573bdfbd4301a5" args="(unsigned short value)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (unsigned short value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4cbae19d77d04d5160e6f0b3fe18b61"></a><!-- doxytag: member="string.h::str" ref="ac4cbae19d77d04d5160e6f0b3fe18b61" args="(short value)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (short value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab51981fb72136bfe4e7cf8cec228062f"></a><!-- doxytag: member="string.h::str" ref="ab51981fb72136bfe4e7cf8cec228062f" args="(String &amp;string)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (String &amp;string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a601456b18d6c5e6a0f62c677d734b3ce"></a><!-- doxytag: member="string.h::str" ref="a601456b18d6c5e6a0f62c677d734b3ce" args="(const char *string)" -->
String&nbsp;</td><td class="memItemRight" valign="bottom"><b>ucommon::str</b> (const char *string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#ac9553f1db00795e69cb24dd54b023247">ucommon::stricmp</a> (const char *string1, const char *string2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for case insensitive null terminated string compare.  <a href="#ac9553f1db00795e69cb24dd54b023247"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00208.html#a1c364e071100a7f775ce2058749b2c63">ucommon::strnicmp</a> (const char *string1, const char *string2, size_t max)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function for case insensitive null terminated string compare.  <a href="#a1c364e071100a7f775ce2058749b2c63"></a><br/></td></tr>
<tr><td class="memTemplParams" colspan="2"><a class="anchor" id="ac1c2cfb212244bc7d3cafa8fba8e5c17"></a><!-- doxytag: member="string.h::swap&lt; string_t &gt;" ref="ac1c2cfb212244bc7d3cafa8fba8e5c17" args="(string_t &amp;s1, string_t &amp;s2)" -->
template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>ucommon::swap&lt; string_t &gt;</b> (string_t &amp;s1, string_t &amp;s2)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A common string class and character string support functions. </p>
<p>Ucommon offers a simple string class that operates through copy-on-write when needing to expand buffer size. Derived classes and templates allows one to create strings which live entirely in the stack frame rather than using the heap. This offers the benefit of the string class manipulative members without compromising performance or locking issues in threaded applications. Other things found here include better and safer char array manipulation functions. </p>

<p>Definition in file <a class="el" href="a00201_source.html">string.h</a>.</p>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:14 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>