/usr/share/doc/aspell-doc/aspell-dev.html/Strings.html is in aspell-doc 0.60.7~20110707-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | <html lang="en">
<head>
<title>Strings - Aspell Developer's Manual</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="Aspell spell checker developer's manual.">
<meta name="generator" content="makeinfo 4.8">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Source-Code-Layout.html#Source-Code-Layout" title="Source Code Layout">
<link rel="next" href="Smart-Pointers.html#Smart-Pointers" title="Smart Pointers">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This is the developer's manual for Aspell.
Copyright (C) 2002, 2003, 2004, 2006 Kevin Atkinson.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.1 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts and
no Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<p>
<a name="Strings"></a>
Next: <a rel="next" accesskey="n" href="Smart-Pointers.html#Smart-Pointers">Smart Pointers</a>,
Previous: <a rel="previous" accesskey="p" href="Source-Code-Layout.html#Source-Code-Layout">Source Code Layout</a>,
Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>
<h2 class="chapter">7 Strings</h2>
<h3 class="section">7.1 String</h3>
<p>The <code>String</code> class provided the same functionality of the C++
string except for fewer constructors. It also inherits <code>OStream</code>
so that you can write to it with the <code><<</code> operator. It is
defined in <code>string.hpp</code>.
<h3 class="section">7.2 ParmString</h3>
<p>ParmString is a special string class that is designed to be used as a
parameter for a function that is expecting a string. It is defined in
<code>parm_string.hpp</code>. It will allow either a <code>const char *</code> or
<code>String</code> class to be passed in. It will automatically convert to
a <code>const char *</code>. The string can also be accessed via the
<code>str</code> method. Usage example:
<pre class="verbatim">
void foo(ParmString s1, ParmString s2) {
const char * str0 = s1;
unsigned int size0 = s2.size()
if (s1 == s2 || s2 == "bar") {
...
}
}
...
String s1 = "...";
foo(s1);
const char * s2 = "...";
foo(s2);
</pre>
<p>This class should be used when a string is being passed in as a
parameter. It is faster than using <code>const String &</code> (as that
will create an unnecessary temporary when a <code>const char *</code> is
passed in), and is less annoying than using <code>const char *</code> (as it
doesn't require the <code>c_str()</code> method to be used when a
<code>String</code> is passed in).
<h3 class="section">7.3 CharVector</h3>
<p>A character vector is basically a <code>Vector<char></code> but it has a few
additional methods for dealing with strings which <code>Vector</code> does
not provide. It, like <code>String</code>, is also inherits <code>OStream</code>
so that you can write to it with the <code><<</code> operator. It is
defined in <code>char_vector.hpp</code>. Use it when ever you need a string
which is guaranteed to be in a continuous block of memory which you
can write to.
</body></html>
|