Copy-editing optional documentation. Fixes #5382 and a few other issues I noticed while I was at it.

[SVN r71052]
This commit is contained in:
Steven Watanabe
2011-04-06 21:56:23 +00:00
parent 960631e201
commit c1d2381a9b
6 changed files with 15 additions and 16 deletions

View File

@ -1,4 +1,4 @@
[/ [/
Boost.Optional Boost.Optional
Copyright (c) 2003-2007 Fernando Luis Cacciola Carballal Copyright (c) 2003-2007 Fernando Luis Cacciola Carballal
@ -58,7 +58,7 @@ The observation made in the last paragraph about the irrelevant nature of the
additional `nil_t` with respect to [_purpose] of `optional<T>` suggests an additional `nil_t` with respect to [_purpose] of `optional<T>` suggests an
alternative model: a ['container] that either has a value of `T` or nothing. alternative model: a ['container] that either has a value of `T` or nothing.
As of this writing I don't know of any precedence for a variable-size As of this writing I don't know of any precedent for a variable-size
fixed-capacity (of 1) stack-based container model for optional values, yet I fixed-capacity (of 1) stack-based container model for optional values, yet I
believe this is the consequence of the lack of practical implementations of believe this is the consequence of the lack of practical implementations of
such a container rather than an inherent shortcoming of the container model. such a container rather than an inherent shortcoming of the container model.
@ -176,14 +176,14 @@ untitialized optional objects: The operators * and ->]
A relevant feature of a pointer is that it can have a [*null pointer value]. A relevant feature of a pointer is that it can have a [*null pointer value].
This is a ['special] value which is used to indicate that the pointer is not This is a ['special] value which is used to indicate that the pointer is not
referring to any object at all. In other words, null pointer values convey referring to any object at all. In other words, null pointer values convey
the notion of inexistent objects. the notion of nonexistent objects.
This meaning of the null pointer value allowed pointers to became a ['de This meaning of the null pointer value allowed pointers to became a ['de
facto] standard for handling optional objects because all you have to do facto] standard for handling optional objects because all you have to do
to refer to a value which you don't really have is to use a null pointer to refer to a value which you don't really have is to use a null pointer
value of the appropriate type. Pointers have been used for decades—from value of the appropriate type. Pointers have been used for decades—from
the days of C APIs to modern C++ libraries—to ['refer] to optional (that is, the days of C APIs to modern C++ libraries—to ['refer] to optional (that is,
possibly inexistent) objects; particularly as optional arguments to a possibly nonexistent) objects; particularly as optional arguments to a
function, but also quite often as optional data members. function, but also quite often as optional data members.
The possible presence of a null pointer value makes the operations that The possible presence of a null pointer value makes the operations that

View File

@ -217,8 +217,7 @@
otherwise, same as: otherwise, same as:
</li></ul></div> </li></ul></div>
<div class="blockquote"><blockquote class="blockquote"><p> <div class="blockquote"><blockquote class="blockquote"><p>
<code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="special">[</span><span class="error">'</span><span class="special">(</span><span class="keyword">not</span> <span class="identifier">a</span> <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span> </code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">&gt;::</span><span class="identifier">optional</span><span class="special">()</span></code>
<span class="identifier">ref</span><span class="special">)]&gt;::</span><span class="identifier">optional</span><span class="special">()</span></code>
</p></blockquote></div> </p></blockquote></div>
<div class="blockquote"><blockquote class="blockquote"><p> <div class="blockquote"><blockquote class="blockquote"><p>
<code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">::</span><span class="identifier">optional</span><span class="special">()</span></code> <code class="computeroutput"><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&amp;&gt;</span> <span class="special">::</span><span class="identifier">optional</span><span class="special">()</span></code>
@ -712,7 +711,7 @@
<span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only <span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only
be thrown during the call to the <code class="computeroutput"><span class="identifier">T</span></code> be thrown during the call to the <code class="computeroutput"><span class="identifier">T</span></code>
constructor used by the factory; in that case, the <code class="computeroutput"><span class="identifier">optional</span></code> constructor used by the factory; in that case, the <code class="computeroutput"><span class="identifier">optional</span></code>
object will be left empty. object will be reset to be <span class="emphasis"><em>uninitialized</em></span>.
</li> </li>
</ul></div> </ul></div>
<p> <p>

View File

@ -96,7 +96,7 @@
value of <code class="computeroutput"><span class="identifier">T</span></code> or nothing. value of <code class="computeroutput"><span class="identifier">T</span></code> or nothing.
</p> </p>
<p> <p>
As of this writing I don't know of any precedence for a variable-size fixed-capacity As of this writing I don't know of any precedent for a variable-size fixed-capacity
(of 1) stack-based container model for optional values, yet I believe this (of 1) stack-based container model for optional values, yet I believe this
is the consequence of the lack of practical implementations of such a container is the consequence of the lack of practical implementations of such a container
rather than an inherent shortcoming of the container model. rather than an inherent shortcoming of the container model.
@ -302,7 +302,7 @@
A relevant feature of a pointer is that it can have a <span class="bold"><strong>null A relevant feature of a pointer is that it can have a <span class="bold"><strong>null
pointer value</strong></span>. This is a <span class="emphasis"><em>special</em></span> value which pointer value</strong></span>. This is a <span class="emphasis"><em>special</em></span> value which
is used to indicate that the pointer is not referring to any object at all. is used to indicate that the pointer is not referring to any object at all.
In other words, null pointer values convey the notion of inexistent objects. In other words, null pointer values convey the notion of nonexistent objects.
</p> </p>
<p> <p>
This meaning of the null pointer value allowed pointers to became a <span class="emphasis"><em>de This meaning of the null pointer value allowed pointers to became a <span class="emphasis"><em>de
@ -310,7 +310,7 @@
to do to refer to a value which you don't really have is to use a null pointer to do to refer to a value which you don't really have is to use a null pointer
value of the appropriate type. Pointers have been used for decades&#8212;from value of the appropriate type. Pointers have been used for decades&#8212;from
the days of C APIs to modern C++ libraries&#8212;to <span class="emphasis"><em>refer</em></span> the days of C APIs to modern C++ libraries&#8212;to <span class="emphasis"><em>refer</em></span>
to optional (that is, possibly inexistent) objects; particularly as optional to optional (that is, possibly nonexistent) objects; particularly as optional
arguments to a function, but also quite often as optional data members. arguments to a function, but also quite often as optional data members.
</p> </p>
<p> <p>

View File

@ -27,7 +27,7 @@
</h3></div></div> </h3></div></div>
<div><p class="copyright">Copyright &#169; 2003-2007 Fernando Luis Cacciola Carballal</p></div> <div><p class="copyright">Copyright &#169; 2003-2007 Fernando Luis Cacciola Carballal</p></div>
<div><div class="legalnotice"> <div><div class="legalnotice">
<a name="id3012019"></a><p> <a name="id2854050"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p> </p>
@ -145,7 +145,7 @@
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
</pre> </pre>
<p> <p>
These functions use a consistent interface for dealing with possibly inexistent These functions use a consistent interface for dealing with possibly nonexistent
results: results:
</p> </p>
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">poly</span><span class="special">.</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span> <pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">point</span><span class="special">,</span><span class="keyword">bool</span><span class="special">&gt;</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">poly</span><span class="special">.</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span>
@ -163,7 +163,7 @@
</div> </div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: April 06, 2011 at 20:44:42 GMT</small></p></td> <td align="left"><p><small>Last revised: April 06, 2011 at 21:53:26 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> <td align="right"><div class="copyright-footer"></div></td>
</tr></table> </tr></table>
<hr> <hr>

View File

@ -99,7 +99,7 @@ functions could have the following interface:
std::pair<char,bool> get_async_input(); std::pair<char,bool> get_async_input();
std::pair<point,bool> polygon::get_any_point_effectively_inside(); std::pair<point,bool> polygon::get_any_point_effectively_inside();
These functions use a consistent interface for dealing with possibly inexistent These functions use a consistent interface for dealing with possibly nonexistent
results: results:
std::pair<point,bool> p = poly.get_any_point_effectively_inside(); std::pair<point,bool> p = poly.get_any_point_effectively_inside();

View File

@ -232,7 +232,7 @@ __SPACE__
* otherwise, same as: * otherwise, same as:
[: `optional<T ['(not a ref)]>::optional()`] [: `optional<T `['(not a ref)]`>::optional()`]
[: `optional<T&> ::optional()`] [: `optional<T&> ::optional()`]
__SPACE__ __SPACE__
@ -513,7 +513,7 @@ from the factory `f` (i.e., the value [_is not copied]).
* [*Notes:] See [link boost_optional.in_place_factories In-Place Factories] * [*Notes:] See [link boost_optional.in_place_factories In-Place Factories]
* [*Exception Safety:] Exceptions can only be thrown during the call to * [*Exception Safety:] Exceptions can only be thrown during the call to
the `T` constructor used by the factory; in that case, the `optional` object the `T` constructor used by the factory; in that case, the `optional` object
will be left empty. will be reset to be ['uninitialized].
__SPACE__ __SPACE__