mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-24 03:25:00 +00:00
minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77053 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0c795d6187
commit
81187ae82a
@ -440,16 +440,16 @@ and <tt>Twine</tt> classes)</a>
|
||||
<div class="doc_text">
|
||||
|
||||
<p>Although LLVM generally does not do much string manipulation, we do have
|
||||
several important APIs which take string. Several important examples are the
|
||||
several important APIs which take strings. Two important examples are the
|
||||
Value class -- which has names for instructions, functions, etc. -- and the
|
||||
StringMap class which is used extensively in LLVM and Clang.</p>
|
||||
|
||||
<p>These are generic classes, and they need to be able to accept strings which
|
||||
may have embedded null characters. Therefore, they cannot simply take
|
||||
a <tt>const char *</tt>, and taking a <tt>const std::string&</tt> requires
|
||||
a <tt>const char *</tt>, and taking a <tt>const std::string&</tt> requires
|
||||
clients to perform a heap allocation which is usually unnecessary. Instead,
|
||||
many LLVM APIs use a <tt>const StringRef&</tt> or a <tt>const Twine&</tt> for
|
||||
passing strings efficiently.</p>
|
||||
many LLVM APIs use a <tt>const StringRef&</tt> or a <tt>const
|
||||
Twine&</tt> for passing strings efficiently.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@ -464,11 +464,12 @@ passing strings efficiently.</p>
|
||||
(a character array and a length) and supports the common operations available
|
||||
on <tt>std:string</tt>, but does not require heap allocation.</p>
|
||||
|
||||
It can be implicitly constructed using either a C style null-terminated string
|
||||
or an <tt>std::string</tt>, or explicitly with a character pointer and length.
|
||||
<p>It can be implicitly constructed using a C style null-terminated string,
|
||||
an <tt>std::string</tt>, or explicitly with a character pointer and length.
|
||||
For example, the <tt>StringRef</tt> find function is declared as:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
iterator find(const StringRef &Key);
|
||||
iterator find(const StringRef &Key);
|
||||
</div>
|
||||
|
||||
<p>and clients can call it using any one of:</p>
|
||||
@ -489,7 +490,7 @@ for more information.</p>
|
||||
|
||||
<p>You should rarely use the <tt>StringRef</tt> class directly, because it contains
|
||||
pointers to external memory it is not generally safe to store an instance of the
|
||||
class (since the external storage may be freed).</p>
|
||||
class (unless you know that the external storage will not be freed).</p>
|
||||
|
||||
</div>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user