diff options
Diffstat (limited to 'docs/ProgrammersManual.html')
-rw-r--r-- | docs/ProgrammersManual.html | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index ed6a2b7..9992cd9 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -457,8 +457,8 @@ StringMap class which is used extensively in LLVM and Clang.</p> may have embedded null characters. Therefore, they cannot simply take 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>StringRef</tt> or a <tt>const Twine&</tt> for +passing strings efficiently.</p> </div> @@ -477,19 +477,17 @@ on <tt>std:string</tt>, but does not require heap allocation.</p> 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); -</div> +<pre class="doc_code"> + iterator find(StringRef Key); +</pre> <p>and clients can call it using any one of:</p> -<div class="doc_code"> -<pre> +<pre class="doc_code"> Map.find("foo"); <i>// Lookup "foo"</i> Map.find(std::string("bar")); <i>// Lookup "bar"</i> Map.find(StringRef("\0baz", 4)); <i>// Lookup "\0baz"</i> </pre> -</div> <p>Similarly, APIs which need to return a string may return a <tt>StringRef</tt> instance, which can be used directly or converted to an <tt>std::string</tt> @@ -499,7 +497,8 @@ 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 (unless you know that the external storage will not be freed).</p> +class (unless you know that the external storage will not be freed). StringRef is +small and pervasive enough in LLVM that it should always be passed by value.</p> </div> @@ -3943,7 +3942,7 @@ arguments. An argument has a pointer to the parent Function.</p> <a href="mailto:dhurjati@cs.uiuc.edu">Dinakar Dhurjati</a> and <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2010-05-07 02:28:04 +0200 (Fri, 07 May 2010) $ + Last modified: $Date: 2010-07-15 00:38:02 +0200 (Thu, 15 Jul 2010) $ </address> </body> |