560 lines
83 KiB
HTML
560 lines
83 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - Classes And Methods - The Support Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
|
||
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
|
||
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheSupportKit.html" title="The Support Kit" /><link rel="prev" href="BStopWatch.html" title="BStopWatch" /><link rel="next" href="TheSupportKit_Functions.html" title="Functions and Macros" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BStopWatch.html" title="BStopWatch"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheSupportKit.html" title="The Support Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="TheSupportKit_Functions.html" title="Functions and Macros"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - Classes And Methods - The Support Kit</div></div><div id="headerB">Prev: <a href="BStopWatch.html">BStopWatch</a> Up: <a href="TheSupportKit.html">The Support Kit</a> Next: <a href="TheSupportKit_Functions.html">Functions and Macros</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString"></a>BString</h2></div></div></div><a id="id1275253" class="indexterm"></a><div class="classheader"><table border="0"><colgroup><col /><col /></colgroup><tbody><tr><td><table width="100%" border="0"><colgroup><col /><col /></colgroup><tbody><tr><td>Derived From:</td><td>–</td></tr><tr><td>Mix-in Classes:</td><td>–</td></tr><tr><td>Declared In:</td><td><code class="filename">support/String.h</code></td></tr><tr><td>Library:</td><td><code class="filename">libbe.so</code></td></tr><tr><td>Allocation:</td><td>Constructor or on the stack</td></tr></tbody></table></td><td>
|
||
<a class="link overview" href="BString_Overview.html" title="BString">Class Overview</a>
|
||
<div class="toc"><ul><li><span class="section"><a href="BString.html#BString_ConstructorDestructor">Constructor and Destructor</a></span></li><li><span class="section"><a href="BString.html#BString_MemberFunctions">Member Functions</a></span></li><li><span class="section"><a href="BString.html#BString_Operators">Operators</a></span></li></ul></div>
|
||
</td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_ConstructorDestructor"></a>Constructor and Destructor</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Constructor"></a>BString()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="constructorsynopsis cpp"><span class="methodname">BString</span>();</code>
|
||
|
||
<code class="constructorsynopsis cpp"><span class="methodname">BString</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="constructorsynopsis cpp"><span class="methodname">BString</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">maxLength</span></span>);</code>
|
||
|
||
<code class="constructorsynopsis cpp"><span class="methodname">BString</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
</div><p>
|
||
Creates a new <code class="classname">BString</code> object that allocates enough storage to accommodate
|
||
<code class="parameter">string</code> (or
|
||
<code class="parameter">string</code>-><a class="link" href="BString.html#BString_String" title="String(), ByteAt()"><code class="methodname">String()</code></a>,
|
||
or up to <code class="parameter">maxLength</code> bytes), and then copies
|
||
the string into the storage. Without an argument, the new <code class="classname">BString</code> is
|
||
empty. You can also set a <code class="classname">BString</code>'s data by using
|
||
<a class="link" href="BString.html#BString_SetTo" title="SetTo(), Adopt()"><code class="methodname">SetTo()</code></a>,
|
||
<a class="link" href="BString.html#BString_Adopt"><code class="methodname">Adopt()</code></a>, or
|
||
the <a class="link" href="BString.html#BString_Adopt"><code class="methodname">= operator</code></a>.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Destructor"></a>~BString()</h4></div></div></div><code class="destructorsynopsis cpp"><span class="methodname">~BString</span>();</code><p>
|
||
Frees the object's allocated memory, and destroys the object.
|
||
</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_MemberFunctions"></a>Member Functions</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Append"></a><a id="BString_Insert"></a>
|
||
<a id="BString_Prepend"></a>
|
||
Append(), Prepend(), Insert()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">BString& </span><span class="methodname">Append</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Append</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">BString& </span><span class="methodname">Append</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Append</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Append</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Prepend</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Prepend</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Prepend</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Prepend</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Prepend</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Insert</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">insertAt</span></span>);</code>
|
||
</div><p>
|
||
These functions add characters to the end (append), beginning (prepend),
|
||
or middle (insert) of the <code class="classname">BString</code>'s string. In
|
||
each case, the <code class="classname">BString</code>
|
||
automatically reallocates to accommodate the new data. All of these
|
||
functions return *this.
|
||
</p><p>
|
||
<code class="methodname">Append()</code> copies <code class="parameter">charCount</code>
|
||
characters from <code class="parameter">source</code> and adds them to the end
|
||
of this <code class="classname">BString</code>. If <code class="parameter">charCount</code>
|
||
isn't specified, the entire string is
|
||
copied; this is the same as the
|
||
<a class="link" href="BString.html#BString_operator_addition_assignment" title="+= (append)"><code class="methodname">+= operator</code></a>.
|
||
The single character version
|
||
of <code class="methodname">Append()</code> adds <code class="parameter">count</code>
|
||
copies of the character <code class="parameter">c</code> to the end of the object.
|
||
</p><p>
|
||
<code class="methodname">Prepend()</code> does the same as <code class="methodname">Append()</code>,
|
||
except it adds the characters to the
|
||
beginning of this <code class="classname">BString</code>,
|
||
shifting the existing data "to the right" to
|
||
make room.
|
||
</p><p>
|
||
<code class="methodname">Insert()</code> adds the designated characters at
|
||
<code class="parameter">insertAt</code> (zero-based) in this
|
||
<code class="classname">BString</code>. The <code class="classname">BString</code>'s
|
||
existing data (at location <code class="parameter">insertAt</code> and higher) is
|
||
shifted right to make room for the new data. The <code class="parameter">sourceOffset</code> argument is
|
||
an offset (zero-based) into the source string.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_CharacterEscape"></a><a id="BString_CharacterDeescape"></a>
|
||
CharacterEscape(), CharacterDeescape()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CharacterEscape</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">original</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">setOfCharsToEscape</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">escapeWithChar</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CharacterEscape</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">setOfCharsToEscape</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">escapeWithChar</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CharacterDeescape</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">original</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">escapeWithChar</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CharacterDeescape</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">escapeWithChar</span></span>);</code>
|
||
</div><p>
|
||
<code class="methodname">CharacterEscape</code> scans a string for occurrences of the individual
|
||
characters in the string <code class="parameter">setOfCharsToEscape</code> and inserts into the string
|
||
the byte indicated by <code class="parameter">escapeWithChar</code> before each such occurrence. The
|
||
first form copies the original string into the <code class="classname">BString</code>; the second form
|
||
operates on the existing <code class="classname">BString</code>.
|
||
</p><p>
|
||
<code class="methodname">CharacterDeescape()</code> undoes this operation by scanning the string and
|
||
removing all occurrences of the byte <code class="parameter">escapeWithChar</code>. The first form
|
||
copies the <code class="parameter">original</code> string into the
|
||
<code class="classname">BString</code>, while the second form
|
||
operates on the existing <code class="classname">BString</code>.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Compare"></a><a id="BString_ICompare"></a>
|
||
Compare() , ICompare()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">range</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">range</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">astring</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">bstring</span></span>) <span class="modifier">global</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">Compare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString* </span><span class="parameter">astring</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString* </span><span class="parameter">bstring</span></span>) <span class="modifier">global</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">range</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">range</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">astring</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">bstring</span></span>) <span class="modifier">global</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int </span><span class="methodname">ICompare</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString* </span><span class="parameter">astring</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString* </span><span class="parameter">bstring</span></span>) <span class="modifier">global</span>;</code>
|
||
</div><p>
|
||
These functions compare this <code class="classname">BString</code> with the argument
|
||
string (<code class="methodname">Compare()</code>
|
||
is case-sensitive, <code class="methodname">ICompare()</code> is case-insensitive); they return 0 if the
|
||
two strings are the same, 1 if this <code class="classname">BString</code> is "greater than" the
|
||
argument, and -1 if the argument is greater than this <code class="classname">BString</code>. Two
|
||
strings are compared by comparing the ASCII or UTF-8 values of their
|
||
respective characters. A longer string is greater than a shorter (but
|
||
otherwise similar) string—"abcdef" is greater than "abcde".
|
||
</p><p>
|
||
Given a <code class="parameter">range</code> argument, the functions only compare the first <code class="parameter">range</code>
|
||
characters.
|
||
</p><p>
|
||
The <span class="code">global</span> functions return 0 if the arguments are equal, 1 if
|
||
<code class="parameter">astring</code> is
|
||
greater than <code class="parameter">bstring</code>, and -1 if <code class="parameter">bstring</code> is greater than <code class="parameter">astring</code>.
|
||
</p><p>
|
||
You can also compare two strings through the comparison operators ==,
|
||
!=, <, <=, >, and >=.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_CopyInto"></a><a id="BString_MoveInto"></a>
|
||
CopyInto(), MoveInto()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CopyInto</span>(<span class="methodparam"><span class="type">BString& </span><span class="parameter">destination</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">CopyInto</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">destination</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">MoveInto</span>(<span class="methodparam"><span class="type">BString& </span><span class="parameter">destination</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="void">void </span><span class="methodname">MoveInto</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">destination</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">sourceOffset</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
</div><p>
|
||
<code class="methodname">CopyInto()</code> copies a substring from this
|
||
<code class="classname">BString</code> into <code class="parameter">destination</code>.
|
||
<code class="methodname">MoveTo()</code> does the same, but it removes the original substring (from this
|
||
<code class="classname">BString</code>). If <code class="parameter">destination</code> is a
|
||
<code class="classname">BString</code>, storage for the substring is
|
||
automatically allocated; if the <code class="parameter">destination</code> is a <span class="type">char*</span>, the caller is
|
||
responsible for allocating sufficient storage.
|
||
</p><p>
|
||
The substring comprises <code class="parameter">charCount</code> characters starting at character
|
||
<code class="parameter">sourceOffset</code> (zero-based). After the substring is removed, the remaining
|
||
characters move (to the left) to fill in the gap (<code class="methodname">MoveTo()</code> only). For
|
||
example:
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">source</code>, <code class="varname">destination</code>;
|
||
<code class="varname">source</code>.<code class="methodname">SetTo</code>("abcdefg");
|
||
<code class="varname">source</code>.<code class="methodname">MoveInto</code>(&<code class="varname">destination</code>, 2, 3);
|
||
|
||
<span class="comment">/* source.String() == "abfg" */</span>
|
||
<span class="comment">/* destination.String() == "cde" */</span></pre><p>
|
||
The functions return destination (or <span class="type">void</span>).
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_CountChars"></a><a id="BString_Length"></a>
|
||
CountChars(), Length()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">CountChars</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">int32 </span><span class="methodname">Length</span>() <span class="modifier">const</span>;</code><p>
|
||
<code class="methodname">CountChars()</code> returns the length of the object's string measured in
|
||
characters; <code class="methodname">Length()</code> returns the length measured in bytes.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_FindFirst"></a><a id="BString_IFindFirst"></a>
|
||
<a id="BString_FindLast"></a>
|
||
<a id="BString_IFindLast"></a>
|
||
FindFirst(), IFindFirst(), FindLast(), IFindLast()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindFirst</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">FindLast</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">int32 </span><span class="methodname">IFindLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><p>
|
||
These functions return the index of the first or last occurrence (within
|
||
this <code class="classname">BString</code>) of a substring or character.
|
||
<code class="methodname">FindFirst()</code> and <code class="methodname">FindLast()</code> are
|
||
case-sensitive; <code class="methodname">IFindFirst()</code> and <code class="methodname">IFindLast()</code> are case-insensitive. The
|
||
functions return <code class="constant">B_ERROR</code> if the character isn't found.
|
||
</p><p>
|
||
The <code class="parameter">offset</code> versions only look in the portion of this
|
||
<code class="classname">BString</code> that starts at character
|
||
<code class="parameter">offset</code> (for
|
||
<code class="methodname">[I]FindFirst()</code>), or that ends at character
|
||
<code class="parameter">offset</code> (for <code class="methodname">[I]FindLast()</code>).
|
||
For example, in this example…
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">astring</code>("AbcAbcAbc");
|
||
<code class="varname">astring</code>.<code class="methodname">FindLast</code>("Abc", 7);</pre><p>
|
||
…the <code class="methodname">FindLast()</code> call returns 3, the index of the last complete instance
|
||
of "Abc" that occurs before character 7.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_LockBuffer"></a><a id="BString_UnlockBuffer"></a>
|
||
LockBuffer(), UnlockBuffer()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">char* </span><span class="methodname">LockBuffer</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">maxLength</span></span>);</code><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">UnlockBuffer</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">length</span><span class="initializer"> = -1</span></span>);</code><p>
|
||
<code class="methodname">LockBuffer()</code> returns a pointer to the object's string; you're allowed to
|
||
manipulate this pointer directly. The <code class="parameter">maxLength</code> argument lets you ask the
|
||
object to allocate some extra space at the end of the string before
|
||
passing you the pointer. If <code class="parameter">maxLength</code> is less than the string's current
|
||
length, the argument is ignored (pass 0 if you want to lock the buffer
|
||
but don't need to pre-allocate extra space).
|
||
</p><p>
|
||
<code class="methodname">UnlockBuffer()</code> tells the object that you're done manipulating the string
|
||
pointer. <code class="parameter">length</code> is the string's new length; if you pass -1, the <code class="classname">BString</code>
|
||
gets the length by calling <code class="function">strlen()</code> on the string. The functions returns
|
||
<span class="code">*this</span>.
|
||
</p><p>
|
||
Every <code class="methodname">LockBuffer()</code> must be balanced by a
|
||
subsequent <code class="methodname">UnlockBuffer()</code>. In
|
||
between the two calls, you may not call any <code class="classname">BString</code> functions. Many of
|
||
the <code class="classname">BString</code> functions assert an error if they're called while the buffer
|
||
is locked.
|
||
</p><p>
|
||
See "Direct Data Access" for an example.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Remove"></a><a id="BString_RemoveFirst"></a>
|
||
<a id="BString_RemoveLast"></a>
|
||
<a id="BString_RemoveAll"></a>
|
||
<a id="BString_RemoveSet"></a>
|
||
Remove(), RemoveFirst(), RemoveLast(), RemoveAll() , RemoveSet()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Remove</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">startingAt</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveAll</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveAll</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
</div><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">RemoveSet</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">charSet</span></span>);</code><p>
|
||
These functions remove characters from the <code class="classname">BString</code> and reallocate the
|
||
object's storage so it fits the new (smaller) data. The functions return
|
||
<span class="code">*this</span>.
|
||
</p><p>
|
||
<code class="methodname">Remove()</code> removes <code class="parameter">charCount</code>
|
||
characters, starting with character <code class="parameter">startingAt</code>
|
||
(zero-based).
|
||
</p><p>
|
||
<code class="methodname">RemoveFirst()</code>, <code class="methodname">RemoveLast()</code>,
|
||
and <code class="methodname">RemoveAll()</code> remove, respectively, the
|
||
first, last and every occurrence of string within the object.
|
||
</p><p>
|
||
<code class="methodname">RemoveSet()</code> removes all occurrences of every
|
||
character in the <code class="parameter">charSet</code>
|
||
string. For example:
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">string</code>("ab abc abcd");
|
||
<code class="varname">string</code>.<code class="methodname">RemoveSet</code>("db");
|
||
<span class="comment">/* 'string' now contains "a ac ac" */</span></pre></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Replace"></a><a id="BString_ReplaceFirst"></a>
|
||
<a id="BString_ReplaceLast"></a>
|
||
<a id="BString_ReplaceSet"></a>
|
||
<a id="BString_IReplace"></a>
|
||
<a id="BString_IReplaceFirst"></a>
|
||
<a id="BString_IReplaceLast"></a>
|
||
Replace(), ReplaceFirst(), ReplaceLast(), ReplaceSet(), IReplace() ,
|
||
IReplaceFirst(), IReplaceLast(), IReplaceAll()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Replace</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">count</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Replace</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">count</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceFirst</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceLast</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceAll</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceAll</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceSet</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">oldSet</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ReplaceSet</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">oldSet</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplace</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">count</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplace</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">count</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceFirst</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceFirst</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceLast</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceLast</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceAll</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceAll</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">old</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">offset</span><span class="initializer"> = 0</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceSet</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">oldSet</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">new</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">IReplaceSet</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">oldSet</span></span>,<br /> <span class="methodparam"><span class="type">char </span><span class="parameter">new</span></span>);</code>
|
||
</div><p>
|
||
These functions find occurrences of <code class="parameter">old</code>
|
||
within the <code class="classname">BString</code>, and replace
|
||
them with <code class="parameter">new</code>. In the <code class="methodname">Replace…()</code>
|
||
functions, the search for <code class="parameter">old</code> is
|
||
case-insensitive; in the <code class="methodname">IReplace…()</code> functions, the search is
|
||
case-insensitive. The functions return <span class="code">*this</span>.
|
||
</p><p>
|
||
<code class="methodname">[I]Replace()</code> replaces the first
|
||
<code class="parameter">count</code> occurrences that start on or after
|
||
the character at <code class="parameter">offset</code>.
|
||
</p><p>
|
||
<code class="methodname">[I]ReplaceFirst()</code> and <code class="methodname">[I]ReplaceLast()</code>
|
||
replace only the first and last
|
||
occurrence (respectively).
|
||
</p><p>
|
||
<code class="methodname">[I]ReplaceAll()</code> replaces all occurrence that start on or after the
|
||
character at <code class="parameter">offset</code>.
|
||
</p><p>
|
||
<code class="methodname">[I]ReplaceSet()</code> is slightly different from the others: It replaces each
|
||
occurrence of any character in <code class="parameter">oldSet</code> with the character or the entire
|
||
string given by new. For example:
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">astring</code>("a-b-c");
|
||
<code class="varname">astring</code>.<code class="methodname">ReplaceSet</code>("abc", "ABC");
|
||
<span class="comment">/* astring is now "ABC-ABC-ABC" */</span></pre></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_SetTo"></a><a id="BString_Adopt"></a>
|
||
SetTo(), Adopt()</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">BString& </span><span class="methodname">SetTo</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">SetTo</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">SetTo</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">SetTo</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">SetTo</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Adopt</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Adopt</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">source</span></span>,<br /> <span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>);</code>
|
||
</div><p>
|
||
These functions initialize a <code class="classname">BString</code>'s string data. Storage for the data
|
||
is automatically allocated by the functions. The object's current data is
|
||
wholly replaced by the new data. The functions return <span class="code">*this</span>.
|
||
</p><p>
|
||
<code class="methodname">SetTo()</code> copies <code class="parameter">charCount</code>
|
||
characters from <code class="parameter">source</code> into this object. If
|
||
<code class="parameter">charCount</code> isn't given, the entire string is copied; this form is
|
||
equivalent to the = operator. The single character version of <code class="methodname">SetTo()</code>
|
||
sets the object's data to a <code class="parameter">charCount</code>-length string that consists
|
||
entirely of the character <code class="parameter">c</code>.
|
||
</p><p>
|
||
<code class="methodname">Adopt()</code> moves <code class="parameter">charCount</code>
|
||
characters from <code class="parameter">source</code> into this object, and then
|
||
clears <code class="parameter">source</code>'s data (pointer). Note that source will be empty after you
|
||
call <code class="methodname">Adopt()</code>, even if <code class="parameter">charCount</code>
|
||
is less than source's full length.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_String"></a><a id="BString_ByteAt"></a>
|
||
String(), ByteAt()</h4></div></div></div><code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="modifier">const </span><span class="type">char* </span><span class="methodname">String</span>() <span class="modifier">const</span>;</code><code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">char </span><span class="methodname">ByteAt</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">index</span></span>) <span class="modifier">const</span>;</code><p>
|
||
<code class="methodname">String()</code> returns a pointer to the object's
|
||
string, guaranteed to be <code class="constant">NULL</code>
|
||
terminated. You may not modify or free the pointer. If the <code class="classname">BString</code> is
|
||
deleted, the pointer becomes invalid.
|
||
</p><p>
|
||
<code class="methodname">ByteAt()</code> returns the <code class="parameter">index</code>'th
|
||
character in the string. If <code class="parameter">index</code> is out of
|
||
bounds, the function returns 0. Except for the boundary check, this
|
||
function is the same as the [] operator.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_ToLower"></a><a id="BString_ToUpper"></a>
|
||
<a id="BString_Capitalize"></a>
|
||
<a id="BString_CapitalizeEachWord"></a>
|
||
ToLower(), ToUpper(), Capitalize(), CapitalizeEachWord()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ToLower</span>();</code><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">ToUpper</span>();</code><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Capitalize</span>();</code><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">CapitalizeEachWord</span>();</code><p>
|
||
<code class="methodname">ToLower()</code> converts every character in the string to lower case;
|
||
<code class="methodname">ToUpper()</code>
|
||
converts them all to upper case. Non-alphabetic characters aren't
|
||
affected.
|
||
</p><p>
|
||
<code class="methodname">Capitalize()</code> converts the first alphabetic character in the word to upper
|
||
case, and the rest to lower case. <code class="methodname">CapitalizeEachWord()</code> converts the first
|
||
alphabetic character in each "word" to upper case, and the rest to lower
|
||
case. A word is a group of alphabetic characters delimited by
|
||
non-alphabetic characters.
|
||
</p><p>
|
||
The functions return <span class="code">*this</span>.
|
||
</p><div class="admonition warning"><div class="title">Warning</div><div class="graphic"><img class="icon" alt="Warning" width="32" src="./images/admonitions/Stop_32.png" /><div class="text"><p><code class="methodname">Capitalize()</code> and
|
||
<code class="methodname">CapitalizeEachWord()</code> are broken in Release 4.0.</p></div></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Truncate"></a>Truncate()</h4></div></div></div><code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">Truncate</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">charCount</span></span>,<br /> <span class="methodparam"><span class="type">bool </span><span class="parameter">lazy</span><span class="initializer"> = <span class="constant">true</span></span></span>);</code><p>
|
||
<code class="methodname">Truncate()</code> shrinks the object's string so
|
||
that it's <code class="parameter">charCount</code> characters
|
||
long. This function will not lengthen the string: If <code class="parameter">charCount</code> is equal
|
||
to or greater than the string's current character count, the function
|
||
does nothing.
|
||
</p><p>
|
||
If <code class="parameter">lazy</code> is <code class="constant">false</code>, the string
|
||
is immediately reallocated to trim it to the
|
||
new size (and the excess is immediately freed). If it's <code class="constant">true</code>, the string
|
||
is set to the new size, but the excess isn't freed until the next storage
|
||
manipulating function is called. It's slightly more efficient to be lazy;
|
||
otherwise, the two forms of the function are identical.
|
||
</p><p>
|
||
The function return <span class="code">*this</span>.
|
||
</p></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_Operators"></a>Operators</h3></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_operator_assignment"></a>= (assignment)</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char </span><span class="parameter">character</span></span>);</code>
|
||
</div><p>
|
||
Sets the contents of the <code class="classname">BString</code> to
|
||
<code class="parameter">string</code> or <code class="parameter">character</code>, and returns
|
||
<span class="code">*this-><a class="link" href="BString.html#BString_LockBuffer" title="LockBuffer(), UnlockBuffer()"><code class="methodname">LockBuffer()</code></a></span>.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_operator_addition_assignment"></a>+= (append)</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">BString& </span><span class="methodname">operator+=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator+=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator+=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char </span><span class="parameter">character</span></span>);</code>
|
||
</div><p>
|
||
Appends <code class="parameter">string</code> or <code class="parameter">character</code>
|
||
to this <code class="classname">BString</code>, and returns <span class="code">*this</span>.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_operator_formatted_append"></a><< (formatted append)</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">char </span><span class="parameter">c</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">uint32 </span><span class="parameter">val</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">val</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">uint64 </span><span class="parameter">val</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">int64 </span><span class="parameter">val</span></span>);</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">BString& </span><span class="methodname">operator<<</span>(<span class="methodparam"><span class="type">float </span><span class="parameter">val</span></span>);</code>
|
||
</div><p>
|
||
Converts the right operand to a string (if necessary), and appends it to
|
||
the left operand. Floating point values are always written with two
|
||
decimal digits:
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">astring</code>("The result is: "), <code class="varname">bstring</code>(" bps");
|
||
<span class="type">float</span> <code class="varname">result</code> = 12.5;
|
||
<code class="varname">astring</code> << result << <code class="varname">bstring</code>;</pre><p>
|
||
Here, <code class="varname">astring</code> becomes "The result is: 12.50 bps".
|
||
</p><p>
|
||
Multiple append operations are evaluated from left to right, so that only
|
||
the leftmost operand is modified. For example:
|
||
</p><pre class="programlisting example cpp"><code class="classname">BString</code> <code class="varname">astring</code>("a"), <code class="varname">bstring</code>("b"), <code class="varname">cstring</code>("c");
|
||
<code class="varname">astring</code> << <code class="varname">bstring</code> << <code class="varname">cstring</code>;</pre><p>
|
||
Here, <code class="varname">bstring</code> is appended to <code class="varname">astring</code>,
|
||
and then <code class="varname">cstring</code> is appended to the
|
||
result; thus, <code class="varname">astring</code> is "abc", and
|
||
<code class="varname">bstring</code> is still "b".
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_operator_indexing"></a>[] (indexing)</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="type">char </span><span class="methodname">operator[]</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">index</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">char& </span><span class="methodname">operator[]</span>(<span class="methodparam"><span class="type">int32 </span><span class="parameter">index</span></span>);</code>
|
||
</div><p>
|
||
Returns the character at <code class="parameter">index</code> in the string. No boundary checking is
|
||
done—it's up to the caller to ensure that <code class="parameter">index</code> is in
|
||
bounds.
|
||
</p></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h4 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BString_operator_equality"></a><a id="BString_operator_inequality"></a>
|
||
<a id="BString_operator_less_than"></a>
|
||
<a id="BString_operator_greater_than"></a>
|
||
<a id="BString_operator_less_than_or_equals"></a>
|
||
<a id="BString_operator_greater_than_or_equals"></a>
|
||
==, !=, <, >, <=, >= (comparison)</h4></div></div></div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator==</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">bool </span><span class="methodname">operator==</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">global </span><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator==</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator!=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator!=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">global </span><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator!=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator<</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">bool </span><span class="methodname">operator<</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">global </span><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator<</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><div class="synopsisgroup">
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator></span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">bool </span><span class="methodname">operator></span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">global </span><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator></span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator>=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="type">bool </span><span class="methodname">operator>=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
|
||
<code class="methodsynopsis cpp"><span class="modifier">global </span><span class="modifier">inline </span><span class="type">bool </span><span class="methodname">operator>=</span>(<span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">string</span></span>,<br /> <span class="methodparam"><span class="modifier">const </span><span class="type">BString& </span><span class="parameter">string</span></span>) <span class="modifier">const</span>;</code>
|
||
</div><p>
|
||
Case-sensitive comparison of two strings. Two strings are compared by
|
||
comparing the ASCII or UTF-8 values of their respective characters. A
|
||
longer string is greater than a shorter (but otherwise similar)
|
||
string—"abcdef" is greater than "abcde".
|
||
</p><p>
|
||
The global versions of these operators are provided so you don't have to
|
||
worry about the order of the operands; for example:
|
||
</p><pre class="programlisting example cpp">if (<code class="varname">astring</code> == "Okay")
|
||
<span class="comment">/* ...is equivalent to... */</span>
|
||
if ("Okay" == <code class="varname">astring</code>)</pre></div></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BStopWatch.html">BStopWatch</a> Up: <a href="TheSupportKit.html">The Support Kit</a> Next: <a href="TheSupportKit_Functions.html">Functions and Macros</a> </div><div id="footerB"><div id="footerBL"><a href="BStopWatch.html" title="BStopWatch"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheSupportKit.html" title="The Support Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="TheSupportKit_Functions.html" title="Functions and Macros"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
|
||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
|
||
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>
|