$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r71048 - in trunk/libs/optional/doc: . html html/boost_optional
From: steven_at_[hidden]
Date: 2011-04-06 16:54:23
Author: steven_watanabe
Date: 2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
New Revision: 71048
URL: http://svn.boost.org/trac/boost/changeset/71048
Log:
Add assignment operators taking an InPlaceFactory to the Detailed Semantics section.  Fixes #5378.
Text files modified: 
   trunk/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html                               |    16                                         
   trunk/libs/optional/doc/html/boost_optional/acknowledgments.html                                           |   154 +-                                      
   trunk/libs/optional/doc/html/boost_optional/dependencies_and_portability.html                              |    16                                         
   trunk/libs/optional/doc/html/boost_optional/detailed_semantics.html                                        |  1983 ++++++++++++++++----------------------- 
   trunk/libs/optional/doc/html/boost_optional/development.html                                               |   229 ++--                                    
   trunk/libs/optional/doc/html/boost_optional/examples.html                                                  |    24                                         
   trunk/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html                               |    62                                         
   trunk/libs/optional/doc/html/boost_optional/implementation_notes.html                                      |    16                                         
   trunk/libs/optional/doc/html/boost_optional/in_place_factories.html                                        |    30                                         
   trunk/libs/optional/doc/html/boost_optional/optional_references.html                                       |    52                                         
   trunk/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html |    18                                         
   trunk/libs/optional/doc/html/boost_optional/synopsis.html                                                  |    16                                         
   trunk/libs/optional/doc/html/boost_optional/type_requirements.html                                         |    16                                         
   trunk/libs/optional/doc/html/index.html                                                                    |    41                                         
   trunk/libs/optional/doc/reference.qbk                                                                      |    17                                         
   15 files changed, 1201 insertions(+), 1489 deletions(-)
Modified: trunk/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/a_note_about_optional_bool_.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>A note about optional<bool></title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="in_place_factories.html" title="In-Place Factories">
 <link rel="next" href="exception_safety_guarantees.html" title="Exception Safety Guarantees">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="A note about optional<bool>">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.a_note_about_optional_bool_"></a><a class="link" href="a_note_about_optional_bool_.html" title="A note about optional<bool>">A note about
     optional<bool></a>
@@ -70,7 +70,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -78,7 +78,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="in_place_factories.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="exception_safety_guarantees.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/acknowledgments.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/acknowledgments.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/acknowledgments.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,117 +1,117 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Acknowledgments</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="dependencies_and_portability.html" title="Dependencies and Portability">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
+<a accesskey="p" href="dependencies_and_portability.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
-<div class="section" title="Acknowledgments">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
 </h2></div></div></div>
 <a name="boost_optional.acknowledgments.pre_formal_review"></a><h4>
-<a name="id583998"></a>
+<a name="boost_optional.acknowledgments.pre_formal_review-heading"></a>
       <a class="link" href="acknowledgments.html#boost_optional.acknowledgments.pre_formal_review">Pre-formal
       review</a>
     </h4>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        Peter Dimov suggested the name 'optional', and was the first to point out
-        the need for aligned storage.
-      </li>
-<li class="listitem">
-        Douglas Gregor developed 'type_with_alignment', and later Eric Friedman coded
-        'aligned_storage', which are the core of the optional class implementation.
-      </li>
-<li class="listitem">
-        Andrei Alexandrescu and Brian Parker also worked with aligned storage techniques
-        and their work influenced the current implementation.
-      </li>
-<li class="listitem">
-        Gennadiy Rozental made extensive and important comments which shaped the
-        design.
-      </li>
-<li class="listitem">
-        Vesa Karvonen and Douglas Gregor made quite useful comparisons between optional,
-        variant and any; and made other relevant comments.
-      </li>
-<li class="listitem">
-        Douglas Gregor and Peter Dimov commented on comparisons and evaluation in
-        boolean contexts.
-      </li>
-<li class="listitem">
-        Eric Friedman helped understand the issues involved with aligned storage,
-        move/copy operations and exception safety.
-      </li>
-<li class="listitem">
-        Many others have participated with useful comments: Aleksey Gurotov, Kevlin
-        Henney, David Abrahams, and others I can't recall.
-      </li>
+          Peter Dimov suggested the name 'optional', and was the first to point out
+          the need for aligned storage.
+        </li>
+<li class="listitem">
+          Douglas Gregor developed 'type_with_alignment', and later Eric Friedman
+          coded 'aligned_storage', which are the core of the optional class implementation.
+        </li>
+<li class="listitem">
+          Andrei Alexandrescu and Brian Parker also worked with aligned storage techniques
+          and their work influenced the current implementation.
+        </li>
+<li class="listitem">
+          Gennadiy Rozental made extensive and important comments which shaped the
+          design.
+        </li>
+<li class="listitem">
+          Vesa Karvonen and Douglas Gregor made quite useful comparisons between
+          optional, variant and any; and made other relevant comments.
+        </li>
+<li class="listitem">
+          Douglas Gregor and Peter Dimov commented on comparisons and evaluation
+          in boolean contexts.
+        </li>
+<li class="listitem">
+          Eric Friedman helped understand the issues involved with aligned storage,
+          move/copy operations and exception safety.
+        </li>
+<li class="listitem">
+          Many others have participated with useful comments: Aleksey Gurotov, Kevlin
+          Henney, David Abrahams, and others I can't recall.
+        </li>
 </ul></div>
 <a name="boost_optional.acknowledgments.post_formal_review"></a><h4>
-<a name="id584068"></a>
+<a name="boost_optional.acknowledgments.post_formal_review-heading"></a>
       <a class="link" href="acknowledgments.html#boost_optional.acknowledgments.post_formal_review">Post-formal
       review</a>
     </h4>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        William Kempf carefully considered the originally proposed interface and
-        suggested the new interface which is currently used. He also started and
-        fueled the discussion about the analogy optional<>/smart pointer and
-        about relational operators.
-      </li>
-<li class="listitem">
-        Peter Dimov, Joel de Guzman, David Abrahams, Tanton Gibbs and Ian Hanson
-        focused on the relational semantics of optional (originally undefined); concluding
-        with the fact that the pointer-like interface doesn't make it a pointer so
-        it shall have deep relational operators.
-      </li>
-<li class="listitem">
-        Augustus Saunders also explored the different relational semantics between
-        optional<> and a pointer and developed the OptionalPointee concept
-        as an aid against potential conflicts on generic code.
-      </li>
-<li class="listitem">
-        Joel de Guzman noticed that optional<> can be seen as an API on top
-        of variant<T,nil_t>.
-      </li>
-<li class="listitem">
-        Dave Gomboc explained the meaning and usage of the Haskell analog to optional<>:
-        the Maybe type constructor (analogy originally pointed out by David Sankel).
-      </li>
-<li class="listitem">
-        Other comments were posted by Vincent Finn, Anthony Williams, Ed Brey, Rob
-        Stewart, and others.
-      </li>
-<li class="listitem">
-        Joel de Guzman made the case for the support of references and helped with
-        the proper semantics.
-      </li>
-<li class="listitem">
-        Mat Marcus shown the virtues of a value-oriented interface, influencing the
-        current design, and contributed the idea of "none".
-      </li>
+          William Kempf carefully considered the originally proposed interface and
+          suggested the new interface which is currently used. He also started and
+          fueled the discussion about the analogy optional<>/smart pointer
+          and about relational operators.
+        </li>
+<li class="listitem">
+          Peter Dimov, Joel de Guzman, David Abrahams, Tanton Gibbs and Ian Hanson
+          focused on the relational semantics of optional (originally undefined);
+          concluding with the fact that the pointer-like interface doesn't make it
+          a pointer so it shall have deep relational operators.
+        </li>
+<li class="listitem">
+          Augustus Saunders also explored the different relational semantics between
+          optional<> and a pointer and developed the OptionalPointee concept
+          as an aid against potential conflicts on generic code.
+        </li>
+<li class="listitem">
+          Joel de Guzman noticed that optional<> can be seen as an API on top
+          of variant<T,nil_t>.
+        </li>
+<li class="listitem">
+          Dave Gomboc explained the meaning and usage of the Haskell analog to optional<>:
+          the Maybe type constructor (analogy originally pointed out by David Sankel).
+        </li>
+<li class="listitem">
+          Other comments were posted by Vincent Finn, Anthony Williams, Ed Brey,
+          Rob Stewart, and others.
+        </li>
+<li class="listitem">
+          Joel de Guzman made the case for the support of references and helped with
+          the proper semantics.
+        </li>
+<li class="listitem">
+          Mat Marcus shown the virtues of a value-oriented interface, influencing
+          the current design, and contributed the idea of "none".
+        </li>
 </ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -119,7 +119,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
+<a accesskey="p" href="dependencies_and_portability.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/dependencies_and_portability.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/dependencies_and_portability.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/dependencies_and_portability.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Dependencies and Portability</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="implementation_notes.html" title="Implementation Notes">
 <link rel="next" href="acknowledgments.html" title="Acknowledgments">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Dependencies and Portability">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.dependencies_and_portability"></a><a class="link" href="dependencies_and_portability.html" title="Dependencies and Portability">Dependencies
     and Portability</a>
@@ -34,7 +34,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -42,7 +42,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="implementation_notes.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgments.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/detailed_semantics.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/detailed_semantics.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/detailed_semantics.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Detailed Semantics</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="synopsis.html" title="Synopsis">
 <link rel="next" href="examples.html" title="Examples">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Detailed Semantics">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.detailed_semantics"></a><a class="link" href="detailed_semantics.html" title="Detailed Semantics">Detailed Semantics</a>
 </h2></div></div></div>
@@ -33,24 +33,24 @@
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code><span class="emphasis"><em>(not
-        a ref)</em></span><code class="computeroutput"><span class="special">></span></code>, the description
-        corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
-        is not of reference type.
-      </li>
-<li class="listitem">
-        If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span></code>,
-        the description corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
-        is of reference type.
-      </li>
-<li class="listitem">
-        If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>,
-        the description is the same for both cases.
-      </li>
+          If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code><span class="emphasis"><em>(not
+          a ref)</em></span><code class="computeroutput"><span class="special">></span></code>, the
+          description corresponds only to the case where <code class="computeroutput"><span class="identifier">T</span></code>
+          is not of reference type.
+        </li>
+<li class="listitem">
+          If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span></code>, the description corresponds only
+          to the case where <code class="computeroutput"><span class="identifier">T</span></code> is
+          of reference type.
+        </li>
+<li class="listitem">
+          If the entry reads: <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>, the description is the same for both
+          cases.
+        </li>
 </ul></div>
-<div class="note" title="Note"><table border="0" summary="Note">
+<div class="note"><table border="0" summary="Note">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
 <th align="left">Note</th>
 </tr>
 <tr><td align="left" valign="top"><p>
@@ -64,277 +64,201 @@
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
 <a name="boost_optional.detailed_semantics.optional_class_member_functions"></a><h4>
-<a name="id560085"></a>
+<a name="boost_optional.detailed_semantics.optional_class_member_functions-heading"></a>
       <a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.optional_class_member_functions">optional
       class member functions</a>
     </h4>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">optional</span><span class="special">();</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">optional</span><span class="special">();</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Default-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Default-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">uninitialized</span>.
-      </li>
+          <span class="bold"><strong>Postconditions:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">uninitialized</span>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-        Notes: T's default constructor <span class="underline">is not</span>
-        called.
-      </li>
+          Notes: T's default constructor <span class="underline">is not</span>
+          called.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_none_t"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">none_t</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor_none_t"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">none_t</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>
-        uninitialized.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>
+          uninitialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">uninitialized</span>.
-      </li>
+          <span class="bold"><strong>Postconditions:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">uninitialized</span>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span><code class="computeroutput"><span class="identifier">T</span></code>'s
-        default constructor <span class="underline">is not</span> called.
-        The expression <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code> denotes an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span></code> that can be used as the parameter.
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> <code class="computeroutput"><span class="identifier">T</span></code>'s
+          default constructor <span class="underline">is not</span> called.
+          The expression <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none</span></code> denotes an instance of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">none_t</span></code> that can be used as the parameter.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">n</span><span class="special">(</span><span class="identifier">none</span><span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">n</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span> </code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span> </code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Directly-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Directly-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
-        and its value is a<span class="emphasis"><em>copy</em></span> of <code class="computeroutput"><span class="identifier">v</span></code>.
-      </li>
+          <span class="bold"><strong>Postconditions:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
+          and its value is a<span class="emphasis"><em>copy</em></span> of <code class="computeroutput"><span class="identifier">v</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          throws.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes: </strong></span><code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> is
-        called.
-      </li>
+          <span class="bold"><strong>Notes: </strong></span> <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          is called.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only be
-        thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">);</span></code> in that case, this constructor
-        has no effect.
-      </li>
+          <span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only
+          be thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="special">);</span></code> in that case, this constructor
+          has no effect.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ref</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ref</span> <span class="special">)</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Directly-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Directly-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
-        and its value is an instance of an internal type wrapping the reference
-        <code class="computeroutput"><span class="identifier">ref</span></code>.
-      </li>
+          <span class="bold"><strong>Postconditions:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
+          and its value is an instance of an internal type wrapping the reference
+          <code class="computeroutput"><span class="identifier">ref</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">vref</span><span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 <span class="special">++</span> <span class="identifier">v</span> <span class="special">;</span> <span class="comment">// mutate referee
 </span><span class="identifier">assert</span> <span class="special">(*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span><span class="special">);</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_bool_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span>
-          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
-          <span class="special">::</span><span class="identifier">optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span>
-          <span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">v</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor_bool_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="special">::</span><span class="identifier">optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-        If condition is true, same as:
-      </li></ul></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
-          <span class="special">::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">v</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+          If condition is true, same as:
+        </li></ul></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="special">::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">v</span> <span class="special">)</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-        otherwise, same as:
-      </li></ul></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</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>
-          <span class="identifier">ref</span><span class="special">)]>::</span><span class="identifier">optional</span><span class="special">()</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
-          <span class="special">::</span><span class="identifier">optional</span><span class="special">()</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+          otherwise, same as:
+        </li></ul></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</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>
+        <span class="identifier">ref</span><span class="special">)]>::</span><span class="identifier">optional</span><span class="special">()</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="special">::</span><span class="identifier">optional</span><span class="special">()</span></code>
+      </p></blockquote></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span> </code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">rhs</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If rhs is initialized,
-        <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
-        of <code class="computeroutput"><span class="identifier">rhs</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
-      </li>
+<a name="reference_optional_constructor_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span> </code><span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">);</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> If rhs is initialized,
+          <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
+          of <code class="computeroutput"><span class="identifier">rhs</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is
+          uninitialized.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> If rhs is initialized, <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          is called.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If rhs is initialized, <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> is
-        called.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only be
-        thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">);</span></code> in that case, this constructor
-        has no effect.
-      </li>
+          <span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only
+          be thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="special">);</span></code> in that case, this constructor
+          has no effect.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uninit</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uninit</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
 
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
@@ -346,43 +270,38 @@
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">init2</span> <span class="special">(</span> <span class="identifier">init</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">init2</span> <span class="special">==</span> <span class="identifier">init</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initialized and its value is another reference to the same object referenced
+          by <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>;
+          else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is uninitialized.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
-        is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initialized and its value is another reference to the same object referenced
-        by <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>;
-        else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is uninitialized.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
-        is initialized, both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        and <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>
-        will reefer to the same object (they alias).
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is initialized, both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          and <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>
+          will reefer to the same object (they alias).
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uninit</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uninit</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(!</span><span class="identifier">uninit</span><span class="special">);</span>
 
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">uinit2</span> <span class="special">(</span> <span class="identifier">uninit</span> <span class="special">)</span> <span class="special">;</span>
@@ -400,115 +319,97 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">init</span>  <span class="special">==</span> <span class="number">3</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">init2</span> <span class="special">==</span> <span class="number">3</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_other_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor_other_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Copy-Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
-        is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
-        of rhs converted to type <code class="computeroutput"><span class="identifier">T</span></code>;
-        else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is uninitialized.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes: </strong></span><code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> is
-        called if <code class="computeroutput"><span class="identifier">rhs</span></code> is initialized,
-        which requires a valid conversion from <code class="computeroutput"><span class="identifier">U</span></code>
-        to <code class="computeroutput"><span class="identifier">T</span></code>.
-      </li>
+          <span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
+          of rhs converted to type <code class="computeroutput"><span class="identifier">T</span></code>;
+          else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is uninitialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only be
-        thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">U</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">);</span></code> in that case, this constructor
-        has no effect.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes: </strong></span> <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          is called if <code class="computeroutput"><span class="identifier">rhs</span></code> is initialized,
+          which requires a valid conversion from <code class="computeroutput"><span class="identifier">U</span></code>
+          to <code class="computeroutput"><span class="identifier">T</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">x</span><span class="special">(</span><span class="number">123.4</span><span class="special">);</span>
+          <span class="bold"><strong>Exception Safety:</strong></span> Exceptions can only
+          be thrown during <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">U</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="special">);</span></code> in that case, this constructor
+          has no effect.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">x</span><span class="special">(</span><span class="number">123.4</span><span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">x</span> <span class="special">==</span> <span class="number">123.4</span> <span class="special">)</span> <span class="special">;</span>
 
 <span class="identifier">optional</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="identifier">y</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span><span class="special">(</span> <span class="special">*</span><span class="identifier">y</span> <span class="special">==</span> <span class="number">123</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_constructor_factory"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">InPlaceFactory</span><span class="special">></span>
-          <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">InPlaceFactory</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">TypedInPlaceFactory</span><span class="special">></span>
-          <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">TypedInPlaceFactory</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_constructor_factory"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">InPlaceFactory</span><span class="special">></span>
+        <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">InPlaceFactory</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span> <span class="special">);</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">TypedInPlaceFactory</span><span class="special">></span>
+        <span class="keyword">explicit</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">optional</span><span class="special">(</span> <span class="identifier">TypedInPlaceFactory</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">f</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>
-        with a value of <code class="computeroutput"><span class="identifier">T</span></code> obtained
-        from the factory.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> Constructs an <code class="computeroutput"><span class="identifier">optional</span></code>
+          with a value of <code class="computeroutput"><span class="identifier">T</span></code> obtained
+          from the factory.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
-        and its value is <span class="emphasis"><em>directly given</em></span> from the factory <code class="computeroutput"><span class="identifier">f</span></code> (i.e., the value <span class="underline">is
-        not copied</span>).
-      </li>
+          <span class="bold"><strong>Postconditions: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
+          and its value is <span class="emphasis"><em>directly given</em></span> from the factory
+          <code class="computeroutput"><span class="identifier">f</span></code> (i.e., the value <span class="underline">is not copied</span>).
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever the <code class="computeroutput"><span class="identifier">T</span></code>
-        constructor called by the factory throws.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Whatever the <code class="computeroutput"><span class="identifier">T</span></code>
+          constructor called by the factory throws.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> See <a class="link" href="in_place_factories.html" title="In-Place Factories">In-Place
-        Factories</a>
-</li>
+          <span class="bold"><strong>Notes:</strong></span> See <a class="link" href="in_place_factories.html" title="In-Place Factories">In-Place
+          Factories</a>
+        </li>
 <li class="listitem">
-<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>
-        constructor used by the factory; in that case, this constructor has no effect.
-      </li>
+          <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>
+          constructor used by the factory; in that case, this constructor has no
+          effect.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="identifier">C</span> <span class="special">(</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="identifier">C</span> <span class="special">(</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="special">)</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
 
 <span class="identifier">C</span> <span class="identifier">v</span><span class="special">(</span><span class="char">'A'</span><span class="special">,</span><span class="number">123.4</span><span class="special">,</span><span class="string">"hello"</span><span class="special">);</span>
 
@@ -518,55 +419,45 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">y</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_equal_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">rhs</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Assigns the value <code class="computeroutput"><span class="identifier">rhs</span></code> to an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and its value is a <span class="emphasis"><em>copy</em></span>
-        of <code class="computeroutput"><span class="identifier">rhs</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> or
-        <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span><span class="identifier">T</span>
-        <span class="keyword">const</span><span class="special">&)</span></code>
-        throws.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
-        assignment operator is used, otherwise, its copy-constructor is used.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
-        the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
-        as far as <code class="computeroutput"><span class="identifier">optional</span></code> is concerned
-        (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
-        If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
-      </li>
+<a name="reference_optional_operator_equal_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">rhs</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> Assigns the value <code class="computeroutput"><span class="identifier">rhs</span></code> to an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and its value is a
+          <span class="emphasis"><em>copy</em></span> of <code class="computeroutput"><span class="identifier">rhs</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> or <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&)</span></code> throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
+          assignment operator is used, otherwise, its copy-constructor is used.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
+          the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
+          as far as <code class="computeroutput"><span class="identifier">optional</span></code> is concerned
+          (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
+          If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">;</span>
 
@@ -576,39 +467,34 @@
 <span class="identifier">opt</span> <span class="special">=</span> <span class="identifier">y</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">y</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">rhs</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">rhs</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> (Re)binds thee wrapped reference.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> (Re)binds thee wrapped reference.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Postconditions: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and it references the
-        same object referenced by <code class="computeroutput"><span class="identifier">rhs</span></code>.
-      </li>
+          <span class="bold"><strong>Postconditions: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and it references the
+          same object referenced by <code class="computeroutput"><span class="identifier">rhs</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized, is is <span class="emphasis"><em>rebound</em></span>
-        to the new object. See <a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">here</a>
-        for details on this behavior.
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized, is is <span class="emphasis"><em>rebound</em></span>
+          to the new object. See <a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">here</a>
+          for details on this behavior.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
 <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
@@ -625,59 +511,54 @@
 </span><span class="identifier">c</span> <span class="special">=</span> <span class="number">4</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="number">4</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_equal_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span>
+<a name="reference_optional_operator_equal_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">rhs</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> Assigns another <code class="computeroutput"><span class="identifier">optional</span></code> to an <code class="computeroutput"><span class="identifier">optional</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
+          of <code class="computeroutput"><span class="identifier">rhs</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is
+          uninitialized.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&)</span></code>
+          or <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
           <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">rhs</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+          <span class="special">)</span></code> throws.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Assigns another <code class="computeroutput"><span class="identifier">optional</span></code>
-        to an <code class="computeroutput"><span class="identifier">optional</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
-        is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
-        of <code class="computeroutput"><span class="identifier">rhs</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&)</span></code> or <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
-        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code>
-        are initially initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <span class="emphasis"><em>assignment operator</em></span> is used. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially initialized but <code class="computeroutput"><span class="identifier">rhs</span></code> is uninitialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
-        [destructor] is called. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially uninitialized but <code class="computeroutput"><span class="identifier">rhs</span></code> is initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <span class="emphasis"><em>copy constructor</em></span> is called.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
-        the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
-        as far as optional is concerned (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
-        If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> If both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> and <code class="computeroutput"><span class="identifier">rhs</span></code>
+          are initially initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <span class="emphasis"><em>assignment operator</em></span> is used. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially initialized but <code class="computeroutput"><span class="identifier">rhs</span></code> is uninitialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
+          [destructor] is called. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially uninitialized but <code class="computeroutput"><span class="identifier">rhs</span></code> is initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <span class="emphasis"><em>copy constructor</em></span> is called.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
+          the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
+          as far as optional is concerned (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
+          If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <span class="emphasis"><em>copy constructor</em></span> fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 
@@ -685,36 +566,34 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span> <span class="special">)</span> <span class="special">;</span>
 <span class="comment">// previous value (copy of 'v') destroyed from within 'opt'.
 </span></pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
-          <span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> (Re)binds thee wrapped reference.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code> is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and it references the
-        same object referenced by <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>; otherwise, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized (and references no object).
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized and so is *rhs, this
-        is is <span class="emphasis"><em>rebound</em></span> to the new object. See <a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">here</a>
-        for details on this behavior.
-      </li>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">rhs</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> (Re)binds thee wrapped reference.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code> is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized and it references the
+          same object referenced by <code class="computeroutput"><span class="special">*</span><span class="identifier">rhs</span></code>; otherwise, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized (and references no
+          object).
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> was initialized and so is *rhs, this
+          is is <span class="emphasis"><em>rebound</em></span> to the new object. See <a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">here</a>
+          for details on this behavior.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">1</span> <span class="special">;</span>
 <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">ra</span> <span class="special">=</span> <span class="identifier">a</span> <span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">rb</span> <span class="special">=</span> <span class="identifier">b</span> <span class="special">;</span>
@@ -733,191 +612,179 @@
 </span><span class="identifier">c</span> <span class="special">=</span> <span class="number">4</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">ora</span> <span class="special">==</span> <span class="number">4</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_equal_other_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">optional</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">rhs</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> Assigns another convertible optional
-        to an optional.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
-        is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
-        of <code class="computeroutput"><span class="identifier">rhs</span></code><span class="emphasis"><em>converted</em></span>
-        to type <code class="computeroutput"><span class="identifier">T</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> or
-        <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">U</span>
+<a name="reference_optional_operator_equal_other_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">optional</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span>
         <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span></code> throws.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> and rhs are initially initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s <span class="emphasis"><em>assignment operator</em></span>
-        (from <code class="computeroutput"><span class="identifier">U</span></code>) is used. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially
-        initialized but <code class="computeroutput"><span class="identifier">rhs</span></code> is uninitialized,
-        <code class="computeroutput"><span class="identifier">T</span></code>'s <span class="emphasis"><em>destructor</em></span>
-        is called. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initially uninitialized but rhs is initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <span class="emphasis"><em>converting constructor</em></span> (from <code class="computeroutput"><span class="identifier">U</span></code>)
-        is called.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
-        the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
-        as far as optional is concerned (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s
-        <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
-        If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
-        is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
-        converting constructor fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
-      </li>
+        <span class="identifier">rhs</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> Assigns another convertible optional
+          to an optional.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> If <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is initialized, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initialized and its value is a <span class="emphasis"><em>copy</em></span> of the value
+          of <code class="computeroutput"><span class="identifier">rhs</span></code> <span class="emphasis"><em>converted</em></span>
+          to type <code class="computeroutput"><span class="identifier">T</span></code>; else <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is
+          uninitialized.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> or <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">U</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> If both <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> and rhs are initially initialized,
+          <code class="computeroutput"><span class="identifier">T</span></code>'s <span class="emphasis"><em>assignment
+          operator</em></span> (from <code class="computeroutput"><span class="identifier">U</span></code>)
+          is used. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initially initialized but <code class="computeroutput"><span class="identifier">rhs</span></code>
+          is uninitialized, <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <span class="emphasis"><em>destructor</em></span> is called. If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initially uninitialized but rhs
+          is initialized, <code class="computeroutput"><span class="identifier">T</span></code>'s <span class="emphasis"><em>converting
+          constructor</em></span> (from <code class="computeroutput"><span class="identifier">U</span></code>)
+          is called.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Exception Safety:</strong></span> In the event of an exception,
+          the initialization state of <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is unchanged and its value unspecified
+          as far as optional is concerned (it is up to <code class="computeroutput"><span class="identifier">T</span></code>'s
+          <code class="computeroutput"><span class="keyword">operator</span><span class="special">=()</span></code>).
+          If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>
+          is initially uninitialized and <code class="computeroutput"><span class="identifier">T</span></code>'s
+          converting constructor fails, <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is left properly uninitialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt0</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="identifier">opt1</span><span class="special">;</span>
 
 <span class="identifier">opt1</span> <span class="special">=</span> <span class="identifier">opt0</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt1</span> <span class="special">==</span> <span class="keyword">static_cast</span><span class="special"><</span><span class="identifier">U</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_reset_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-<span class="bold"><strong>Deprecated:</strong></span> same as <code class="computeroutput"><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span>
+<a name="reference_optional_operator_equal_factory"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">InPlaceFactory</span><span class="special">></span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">InPlaceFactory</span>
         <span class="keyword">const</span><span class="special">&</span>
-        <span class="identifier">v</span><span class="special">)</span> <span class="special">;</span></code>
-</li></ul></div>
+        <span class="identifier">f</span> <span class="special">);</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="identifier">TypedInPlaceFactory</span><span class="special">></span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">TypedInPlaceFactory</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">f</span> <span class="special">);</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Effect:</strong></span> Assigns an <code class="computeroutput"><span class="identifier">optional</span></code>
+          with a value of <code class="computeroutput"><span class="identifier">T</span></code> obtained
+          from the factory.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is <span class="underline">initialized</span>
+          and its value is <span class="emphasis"><em>directly given</em></span> from the factory
+          <code class="computeroutput"><span class="identifier">f</span></code> (i.e., the value <span class="underline">is not copied</span>).
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Whatever the <code class="computeroutput"><span class="identifier">T</span></code>
+          constructor called by the factory throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> See <a class="link" href="in_place_factories.html" title="In-Place Factories">In-Place
+          Factories</a>
+        </li>
+<li class="listitem">
+          <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>
+          constructor used by the factory; in that case, the <code class="computeroutput"><span class="identifier">optional</span></code>
+          object will be left empty.
+        </li>
+</ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_reset"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_reset_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
-<span class="bold"><strong>Deprecated:</strong></span> Same as <code class="computeroutput"><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">none_t</span> <span class="special">);</span></code>
-</li></ul></div>
+          <span class="bold"><strong>Deprecated:</strong></span> same as <code class="computeroutput"><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="identifier">v</span><span class="special">)</span>
+          <span class="special">;</span></code>
+        </li></ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_get"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">*();</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get</span><span class="special">()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">get</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span>
-          <span class="special">&)</span> <span class="special">;</span></code>
-        </p>
+<a name="reference_optional_reset"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+          <span class="bold"><strong>Deprecated:</strong></span> Same as <code class="computeroutput"><span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">none_t</span> <span class="special">);</span></code>
+        </li></ul></div>
 <p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Requirements:</strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> A reference to the contained value
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
-        <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
-      </li>
+      <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
+    </p>
+<a name="reference_optional_get"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span><span class="special">*();</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get</span><span class="special">()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">get</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span>
+        <span class="special">&)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Requirements:</strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Returns:</strong></span> A reference to the contained
+          value
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
+          <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">);</span>
 <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">u</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">u</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
@@ -925,73 +792,45 @@
 <span class="special">*</span><span class="identifier">opt</span> <span class="special">=</span> <span class="identifier">w</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">w</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_get_value_or_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_value_or</span><span class="special">(</span>
-          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="keyword">default</span><span class="special">)</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_value_or</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
-          <span class="keyword">default</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">get_optional_value_or</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="keyword">default</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get_optional_value_or</span>
-          <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>&</span>
-          <span class="identifier">o</span><span class="special">,</span>
-          <span class="identifier">T</span><span class="special">&</span>
-          <span class="keyword">default</span> <span class="special">)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> A reference to the contained value,
-        if any, or <code class="computeroutput"><span class="keyword">default</span></code>.
-      </li>
+<a name="reference_optional_get_value_or_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_value_or</span><span class="special">(</span>
+        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="keyword">default</span><span class="special">)</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_value_or</span><span class="special">(</span> <span class="identifier">T</span><span class="special">&</span>
+        <span class="keyword">default</span> <span class="special">)</span>
+        <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">get_optional_value_or</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="keyword">default</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get_optional_value_or</span>
+        <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>&</span>
+        <span class="identifier">o</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&</span> <span class="keyword">default</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Returns:</strong></span> A reference to the contained
+          value, if any, or <code class="computeroutput"><span class="keyword">default</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">z</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span><span class="special">;</span>
 <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">def</span><span class="special">.</span><span class="identifier">get_value_or</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">y</span> <span class="special">==</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">;</span>
@@ -1001,90 +840,53 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">u</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">u</span> <span class="special">!=</span> <span class="identifier">z</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">*();</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">get</span><span class="special">()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="identifier">get</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
-          <span class="keyword">const</span><span class="special">&</span>
-          <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="special">&)</span>
-          <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Requirements: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Returns:</strong></span><span class="underline">The</span>
-        reference contained.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
-        <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
-      </li>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">*()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="keyword">operator</span><span class="special">*();</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">get</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">&</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&>::</span><span class="identifier">get</span><span class="special">()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">get</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">get</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span>
+        <span class="special">&)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Requirements: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Returns:</strong></span> <span class="underline">The</span>
+          reference contained.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
+          <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span> <span class="special">;</span>
 <span class="identifier">T</span><span class="special">&</span> <span class="identifier">vref</span> <span class="special">=</span> <span class="identifier">v</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">vref</span> <span class="special">);</span>
 <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">vref2</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">opt</span><span class="special">;</span>
@@ -1092,72 +894,46 @@
 <span class="special">++</span> <span class="identifier">v</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">opt</span> <span class="special">==</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_get_ptr"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">*</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
-          <span class="keyword">const</span><span class="special">*</span>
-          <span class="identifier">get_pointer</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get_pointer</span>
-          <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span>
-          <span class="special">&)</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized, a pointer to the contained
-        value; else <code class="computeroutput"><span class="number">0</span></code> (<span class="emphasis"><em>null</em></span>).
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> The contained value is permanently
-        stored within <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>,
-        so you should not hold nor delete this pointer
-      </li>
+<a name="reference_optional_get_ptr"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">*</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span>
+        <span class="keyword">const</span><span class="special">*</span> <span class="identifier">get_pointer</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">inline</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">get_pointer</span>
+        <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span>
+        <span class="special">&)</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          <span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized, a pointer to the contained
+          value; else <code class="computeroutput"><span class="number">0</span></code> (<span class="emphasis"><em>null</em></span>).
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> The contained value is permanently
+          stored within <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code>,
+          so you should not hold nor delete this pointer
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">v</span><span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span> <span class="identifier">copt</span><span class="special">(</span><span class="identifier">v</span><span class="special">);</span>
 <span class="identifier">T</span><span class="special">*</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">get_ptr</span><span class="special">()</span> <span class="special">;</span>
@@ -1165,213 +941,163 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">p</span> <span class="special">==</span> <span class="identifier">get_pointer</span><span class="special">(</span><span class="identifier">opt</span><span class="special">)</span> <span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">cp</span> <span class="special">==</span> <span class="identifier">get_pointer</span><span class="special">(</span><span class="identifier">copt</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_arrow"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
-          <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span> <span class="special">->()</span>
-          <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">T</span><span class="special">*</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span>
-          <span class="special">->()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_operator_arrow"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code>
+        <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span> <span class="special">->()</span>
+        <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">T</span><span class="special">*</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">>::</span><span class="keyword">operator</span> <span class="special">->()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Requirements: </strong></span><code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized.
-      </li>
+          <span class="bold"><strong>Requirements: </strong></span> <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is initialized.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> A pointer to the contained value.
-      </li>
+          <span class="bold"><strong>Returns:</strong></span> A pointer to the contained value.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
-        <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> The requirement is asserted via
+          <code class="computeroutput"><span class="identifier">BOOST_ASSERT</span><span class="special">()</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">mdata</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">X</span> <span class="special">{</span> <span class="keyword">int</span> <span class="identifier">mdata</span> <span class="special">;</span> <span class="special">}</span> <span class="special">;</span>
 <span class="identifier">X</span> <span class="identifier">x</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
 <span class="identifier">opt</span><span class="special">-></span><span class="identifier">mdata</span> <span class="special">=</span> <span class="number">2</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_bool"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span> </code><span class="emphasis"><em>unspecified-bool-type</em></span><code class="computeroutput"><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_operator_bool"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span> </code><span class="emphasis"><em>unspecified-bool-type</em></span><code class="computeroutput"><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> An unspecified value which if used
-        on a boolean context is equivalent to (<code class="computeroutput"><span class="identifier">get</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>)
-      </li>
+          <span class="bold"><strong>Returns:</strong></span> An unspecified value which if
+          used on a boolean context is equivalent to (<code class="computeroutput"><span class="identifier">get</span><span class="special">()</span> <span class="special">!=</span> <span class="number">0</span></code>)
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">def</span> <span class="special">==</span> <span class="number">0</span> <span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span> <span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span> <span class="special">!=</span> <span class="number">0</span> <span class="special">);</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_operator_not"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">!()</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_operator_not"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">!()</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized, <code class="computeroutput"><span class="keyword">true</span></code>;
-        else <code class="computeroutput"><span class="keyword">false</span></code>.
-      </li>
+          <span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="special">*</span><span class="keyword">this</span></code> is uninitialized, <code class="computeroutput"><span class="keyword">true</span></code>;
+          else <code class="computeroutput"><span class="keyword">false</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> This operator is provided for those
-        compilers which can't use the <span class="emphasis"><em>unspecified-bool-type operator</em></span>
-        in certain boolean contexts.
-      </li>
+          <span class="bold"><strong>Notes:</strong></span> This operator is provided for those
+          compilers which can't use the <span class="emphasis"><em>unspecified-bool-type operator</em></span>
+          in certain boolean contexts.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">opt</span> <span class="special">);</span>
 <span class="special">*</span><span class="identifier">opt</span> <span class="special">=</span> <span class="identifier">some_T</span> <span class="special">;</span>
 
 <span class="comment">// Notice the "double-bang" idiom here.
 </span><span class="identifier">assert</span> <span class="special">(</span> <span class="special">!!</span><span class="identifier">opt</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_optional_is_initialized"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">;</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_optional_is_initialized"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">is_initialized</span><span class="special">()</span>
+        <span class="keyword">const</span> <span class="special">;</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="keyword">true</span></code>
-        if the <code class="computeroutput"><span class="identifier">optional</span></code> is initialized,
-        <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
-      </li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="keyword">true</span></code>
+          if the <code class="computeroutput"><span class="identifier">optional</span></code> is initialized,
+          <code class="computeroutput"><span class="keyword">false</span></code> otherwise.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">def</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">opt</span> <span class="special">(</span> <span class="identifier">v</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">opt</span><span class="special">.</span><span class="identifier">is_initialized</span><span class="special">()</span> <span class="special">);</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
 <a name="boost_optional.detailed_semantics.free_functions"></a><h4>
-<a name="id572503"></a>
+<a name="boost_optional.detailed_semantics.free_functions-heading"></a>
       <a class="link" href="detailed_semantics.html#boost_optional.detailed_semantics.free_functions">Free functions</a>
     </h4>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_make_optional_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="identifier">make_optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_make_optional_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="identifier">make_optional</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span></code> for
-        the <span class="emphasis"><em>deduced</em></span> type <code class="computeroutput"><span class="identifier">T</span></code>
-        of <code class="computeroutput"><span class="identifier">v</span></code>.
-      </li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">v</span><span class="special">)</span></code> for the <span class="emphasis"><em>deduced</em></span> type
+          <code class="computeroutput"><span class="identifier">T</span></code> of <code class="computeroutput"><span class="identifier">v</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">opt</span> <span class="special">)</span> <span class="special">;</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="keyword">void</span> <span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">opt</span> <span class="special">)</span> <span class="special">;</span>
 
 <span class="identifier">foo</span> <span class="special">(</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="number">1</span><span class="special">+</span><span class="number">1</span><span class="special">)</span> <span class="special">)</span> <span class="special">;</span> <span class="comment">// Creates an optional<int>
 </span></pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_make_optional_bool_value"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="identifier">make_optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span>
-          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_make_optional_bool_value"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span></code> <span class="emphasis"><em>(not a ref)</em></span><code class="computeroutput"><span class="special">></span> <span class="identifier">make_optional</span><span class="special">(</span> <span class="keyword">bool</span> <span class="identifier">condition</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">v</span> <span class="special">)</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">condition</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code> for
-        the <span class="emphasis"><em>deduced</em></span> type <code class="computeroutput"><span class="identifier">T</span></code>
-        of <code class="computeroutput"><span class="identifier">v</span></code>.
-      </li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>(</span><span class="identifier">condition</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code>
+          for the <span class="emphasis"><em>deduced</em></span> type <code class="computeroutput"><span class="identifier">T</span></code>
+          of <code class="computeroutput"><span class="identifier">v</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">calculate_foo</span><span class="special">()</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">optional</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">calculate_foo</span><span class="special">()</span>
 <span class="special">{</span>
   <span class="keyword">double</span> <span class="identifier">val</span> <span class="special">=</span> <span class="identifier">compute_foo</span><span class="special">();</span>
   <span class="keyword">return</span> <span class="identifier">make_optional</span><span class="special">(</span><span class="identifier">is_not_nan_and_finite</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span><span class="identifier">val</span><span class="special">);</span>
@@ -1381,44 +1107,40 @@
 <span class="keyword">if</span> <span class="special">(</span> <span class="special">!</span><span class="identifier">v</span> <span class="special">)</span>
   <span class="identifier">error</span><span class="special">(</span><span class="string">"foo wasn't computed"</span><span class="special">);</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_equal_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special">==</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_equal_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special">==</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> If both <code class="computeroutput"><span class="identifier">x</span></code>
-        and <code class="computeroutput"><span class="identifier">y</span></code> are initialized, <code class="computeroutput"><span class="special">(*</span><span class="identifier">x</span> <span class="special">==</span>
-        <span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>. If only <code class="computeroutput"><span class="identifier">x</span></code>
-        or <code class="computeroutput"><span class="identifier">y</span></code> is initialized, <code class="computeroutput"><span class="keyword">false</span></code>. If both are uninitialized, <code class="computeroutput"><span class="keyword">true</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> Pointers have shallow relational
-        operators while <code class="computeroutput"><span class="identifier">optional</span></code>
-        has deep relational operators. Do not use <code class="computeroutput"><span class="keyword">operator</span>
-        <span class="special">==</span></code> directly in generic code which
-        expect to be given either an <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
-        or a pointer; use equal_pointees()
-        instead
-      </li>
+          <span class="bold"><strong>Returns:</strong></span> If both <code class="computeroutput"><span class="identifier">x</span></code>
+          and <code class="computeroutput"><span class="identifier">y</span></code> are initialized,
+          <code class="computeroutput"><span class="special">(*</span><span class="identifier">x</span>
+          <span class="special">==</span> <span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>. If
+          only <code class="computeroutput"><span class="identifier">x</span></code> or <code class="computeroutput"><span class="identifier">y</span></code> is initialized, <code class="computeroutput"><span class="keyword">false</span></code>.
+          If both are uninitialized, <code class="computeroutput"><span class="keyword">true</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> Pointers have shallow relational
+          operators while <code class="computeroutput"><span class="identifier">optional</span></code>
+          has deep relational operators. Do not use <code class="computeroutput"><span class="keyword">operator</span>
+          <span class="special">==</span></code> directly in generic code which
+          expect to be given either an <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> or a pointer; use equal_pointees()
+          instead
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
 <span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
 <span class="identifier">T</span> <span class="identifier">z</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
@@ -1441,45 +1163,41 @@
 </span><span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">optX</span> <span class="special">==</span> <span class="identifier">optY</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">optX</span> <span class="special">!=</span> <span class="identifier">optZ</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_less_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special"><</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_less_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special"><</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="identifier">y</span></code>
-        is not initialized, <code class="computeroutput"><span class="keyword">false</span></code>. If
-        <code class="computeroutput"><span class="identifier">y</span></code> is initialized and <code class="computeroutput"><span class="identifier">x</span></code> is not initialized, <code class="computeroutput"><span class="keyword">true</span></code>.
-        If both <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code> are initialized, <code class="computeroutput"><span class="special">(*</span><span class="identifier">x</span> <span class="special"><</span> <span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> Pointers have shallow relational
-        operators while <code class="computeroutput"><span class="identifier">optional</span></code>
-        has deep relational operators. Do not use <code class="computeroutput"><span class="keyword">operator</span>
-        <span class="special"><</span></code> directly in generic code which
-        expect to be given either an <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
-        or a pointer; use less_pointees()
-        instead.
-      </li>
+          <span class="bold"><strong>Returns:</strong></span> If <code class="computeroutput"><span class="identifier">y</span></code>
+          is not initialized, <code class="computeroutput"><span class="keyword">false</span></code>.
+          If <code class="computeroutput"><span class="identifier">y</span></code> is initialized and
+          <code class="computeroutput"><span class="identifier">x</span></code> is not initialized,
+          <code class="computeroutput"><span class="keyword">true</span></code>. If both <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code>
+          are initialized, <code class="computeroutput"><span class="special">(*</span><span class="identifier">x</span>
+          <span class="special"><</span> <span class="special">*</span><span class="identifier">y</span><span class="special">)</span></code>.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> Pointers have shallow relational
+          operators while <code class="computeroutput"><span class="identifier">optional</span></code>
+          has deep relational operators. Do not use <code class="computeroutput"><span class="keyword">operator</span>
+          <span class="special"><</span></code> directly in generic code which
+          expect to be given either an <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code> or a pointer; use less_pointees()
+          instead.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
 <span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">34</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">optX</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
@@ -1499,157 +1217,124 @@
 </span><span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">optX</span> <span class="special">==</span> <span class="identifier">optY</span> <span class="special">)</span> <span class="special">;</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="identifier">optX</span> <span class="special">!=</span> <span class="identifier">optZ</span> <span class="special">)</span> <span class="special">;</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_not_equal_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special">!=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_not_equal_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special">!=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="special">!(</span>
-        <span class="identifier">x</span> <span class="special">==</span>
-        <span class="identifier">y</span> <span class="special">);</span></code>
-</li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="special">!(</span>
+          <span class="identifier">x</span> <span class="special">==</span>
+          <span class="identifier">y</span> <span class="special">);</span></code>
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_greater_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special">></span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_greater_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special">></span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="special">(</span>
-        <span class="identifier">y</span> <span class="special"><</span>
-        <span class="identifier">x</span> <span class="special">);</span></code>
-</li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="special">(</span>
+          <span class="identifier">y</span> <span class="special"><</span>
+          <span class="identifier">x</span> <span class="special">);</span></code>
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_less_or_equal_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special"><=</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_less_or_equal_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special"><=</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="special">!(</span>
-        <span class="identifier">y</span><span class="special"><</span><span class="identifier">x</span> <span class="special">);</span></code>
-</li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="special">!(</span>
+          <span class="identifier">y</span><span class="special"><</span><span class="identifier">x</span> <span class="special">);</span></code>
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_operator_compare_greater_or_equal_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
-          <span class="special">>=</span> <span class="special">(</span>
-          <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">y</span> <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_operator_compare_greater_or_equal_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span>
+        <span class="special">>=</span> <span class="special">(</span>
+        <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
+        <span class="keyword">const</span><span class="special">&</span>
+        <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Returns: </strong></span><code class="computeroutput"><span class="special">!(</span>
-        <span class="identifier">x</span><span class="special"><</span><span class="identifier">y</span> <span class="special">);</span></code>
-</li>
+          <span class="bold"><strong>Returns: </strong></span> <code class="computeroutput"><span class="special">!(</span>
+          <span class="identifier">x</span><span class="special"><</span><span class="identifier">y</span> <span class="special">);</span></code>
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> Nothing.
-      </li>
+          <span class="bold"><strong>Throws:</strong></span> Nothing.
+        </li>
 </ul></div>
 <p>
       <span class="inlinemediaobject"><img src="../images/space.png" alt="space"></span>
     </p>
-<a name="reference_swap_optional_optional"></a><p>
-    </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
-          <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">swap</span>
-          <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span> <span class="identifier">y</span>
-          <span class="special">);</span></code>
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<a name="reference_swap_optional_optional"></a><div class="blockquote"><blockquote class="blockquote"><p>
+        <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">swap</span>
+        <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span>
+        <span class="identifier">x</span><span class="special">,</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>&</span> <span class="identifier">y</span> <span class="special">);</span></code>
+      </p></blockquote></div>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Effect:</strong></span> If both <code class="computeroutput"><span class="identifier">x</span></code>
-        and <code class="computeroutput"><span class="identifier">y</span></code> are initialized, calls
-        <code class="computeroutput"><span class="identifier">swap</span><span class="special">(*</span><span class="identifier">x</span><span class="special">,*</span><span class="identifier">y</span><span class="special">)</span></code> using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>.
-        If only one is initialized, say <code class="computeroutput"><span class="identifier">x</span></code>,
-        calls: <code class="computeroutput"><span class="identifier">y</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(*</span><span class="identifier">x</span><span class="special">);</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span></code> If none is initialized, does nothing.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Postconditions:</strong></span> The states of <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code>
-        interchanged.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Throws:</strong></span> If both are initialized, whatever
-        <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code>
-        throws. If only one is initialized, whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span> <span class="special">(</span>
-        <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
-      </li>
-<li class="listitem">
-<span class="bold"><strong>Notes:</strong></span> If both are initialized, <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code> is used unqualified but with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>
-        introduced in scope. If only one is initialized, <code class="computeroutput"><span class="identifier">T</span><span class="special">::~</span><span class="identifier">T</span><span class="special">()</span></code>
-        and <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span> <span class="identifier">T</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span></code> is called.
-      </li>
+          <span class="bold"><strong>Effect:</strong></span> If both <code class="computeroutput"><span class="identifier">x</span></code>
+          and <code class="computeroutput"><span class="identifier">y</span></code> are initialized,
+          calls <code class="computeroutput"><span class="identifier">swap</span><span class="special">(*</span><span class="identifier">x</span><span class="special">,*</span><span class="identifier">y</span><span class="special">)</span></code> using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>.
+          If only one is initialized, say <code class="computeroutput"><span class="identifier">x</span></code>,
+          calls: <code class="computeroutput"><span class="identifier">y</span><span class="special">.</span><span class="identifier">reset</span><span class="special">(*</span><span class="identifier">x</span><span class="special">);</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">reset</span><span class="special">();</span></code> If none is initialized, does nothing.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Postconditions:</strong></span> The states of <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code>
+          interchanged.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Throws:</strong></span> If both are initialized, whatever
+          <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code>
+          throws. If only one is initialized, whatever <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span> <span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code> throws.
+        </li>
+<li class="listitem">
+          <span class="bold"><strong>Notes:</strong></span> If both are initialized, <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code>
+          is used unqualified but with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">swap</span></code>
+          introduced in scope. If only one is initialized, <code class="computeroutput"><span class="identifier">T</span><span class="special">::~</span><span class="identifier">T</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">T</span><span class="special">::</span><span class="identifier">T</span><span class="special">(</span>
+          <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+          is called.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Exception Safety:</strong></span> If both are initialized,
-        this operation has the exception safety guarantees of <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code>.
-        If only one is initialized, it has the same basic guarantee as <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>.
-      </li>
+          <span class="bold"><strong>Exception Safety:</strong></span> If both are initialized,
+          this operation has the exception safety guarantees of <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">T</span><span class="special">&,</span><span class="identifier">T</span><span class="special">&)</span></code>.
+          If only one is initialized, it has the same basic guarantee as <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>.
+        </li>
 <li class="listitem">
-<span class="bold"><strong>Example:</strong></span><pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
+          <span class="bold"><strong>Example:</strong></span> 
+<pre class="programlisting"><span class="identifier">T</span> <span class="identifier">x</span><span class="special">(</span><span class="number">12</span><span class="special">);</span>
 <span class="identifier">T</span> <span class="identifier">y</span><span class="special">(</span><span class="number">21</span><span class="special">);</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def0</span> <span class="special">;</span>
 <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="identifier">def1</span> <span class="special">;</span>
@@ -1668,12 +1353,12 @@
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">optX</span> <span class="special">==</span> <span class="identifier">y</span> <span class="special">);</span>
 <span class="identifier">assert</span> <span class="special">(</span> <span class="special">*</span><span class="identifier">optY</span> <span class="special">==</span> <span class="identifier">x</span> <span class="special">);</span>
 </pre>
-</li>
+        </li>
 </ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -1681,7 +1366,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="synopsis.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/development.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/development.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/development.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,28 +1,28 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Development</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="prev" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="prev" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="next" href="synopsis.html" title="Synopsis">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Development">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.development"></a><a class="link" href="development.html" title="Development">Development</a>
 </h2></div></div></div>
@@ -31,7 +31,7 @@
 <dt><span class="section">The semantics</span></dt>
 <dt><span class="section">The Interface</span></dt>
 </dl></div>
-<div class="section" title="The models">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.development.the_models"></a><a class="link" href="development.html#boost_optional.development.the_models" title="The models">The models</a>
 </h3></div></div></div>
@@ -112,63 +112,63 @@
       </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>deep-copy</strong></span> semantics: copies of the variant
-          implies copies of the value.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>deep-relational</strong></span> semantics: comparisons
-          between variants matches both current types and values
-        </li>
-<li class="listitem">
-          If the variant's current type is <code class="computeroutput"><span class="identifier">T</span></code>,
-          it is modeling an <span class="emphasis"><em>initialized</em></span> optional.
-        </li>
-<li class="listitem">
-          If the variant's current type is not <code class="computeroutput"><span class="identifier">T</span></code>,
-          it is modeling an <span class="emphasis"><em>uninitialized</em></span> optional.
-        </li>
-<li class="listitem">
-          Testing if the variant's current type is <code class="computeroutput"><span class="identifier">T</span></code>
-          models testing if the optional is initialized
-        </li>
-<li class="listitem">
-          Trying to extract a <code class="computeroutput"><span class="identifier">T</span></code> from
-          a variant when its current type is not <code class="computeroutput"><span class="identifier">T</span></code>,
-          models the undefined behavior of trying to access the value of an uninitialized
-          optional
-        </li>
+            <span class="bold"><strong>deep-copy</strong></span> semantics: copies of the variant
+            implies copies of the value.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>deep-relational</strong></span> semantics: comparisons
+            between variants matches both current types and values
+          </li>
+<li class="listitem">
+            If the variant's current type is <code class="computeroutput"><span class="identifier">T</span></code>,
+            it is modeling an <span class="emphasis"><em>initialized</em></span> optional.
+          </li>
+<li class="listitem">
+            If the variant's current type is not <code class="computeroutput"><span class="identifier">T</span></code>,
+            it is modeling an <span class="emphasis"><em>uninitialized</em></span> optional.
+          </li>
+<li class="listitem">
+            Testing if the variant's current type is <code class="computeroutput"><span class="identifier">T</span></code>
+            models testing if the optional is initialized
+          </li>
+<li class="listitem">
+            Trying to extract a <code class="computeroutput"><span class="identifier">T</span></code>
+            from a variant when its current type is not <code class="computeroutput"><span class="identifier">T</span></code>,
+            models the undefined behavior of trying to access the value of an uninitialized
+            optional
+          </li>
 </ul></div>
 <p>
         Single-element container:
       </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>deep-copy</strong></span> semantics: copies of the container
-          implies copies of the value.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>deep-relational</strong></span> semantics: comparisons
-          between containers compare container size and if match, contained value
-        </li>
-<li class="listitem">
-          If the container is not empty (contains an object of type <code class="computeroutput"><span class="identifier">T</span></code>), it is modeling an <span class="emphasis"><em>initialized</em></span>
-          optional.
-        </li>
-<li class="listitem">
-          If the container is empty, it is modeling an <span class="emphasis"><em>uninitialized</em></span>
-          optional.
-        </li>
-<li class="listitem">
-          Testing if the container is empty models testing if the optional is initialized
-        </li>
-<li class="listitem">
-          Trying to extract a <code class="computeroutput"><span class="identifier">T</span></code> from
-          an empty container models the undefined behavior of trying to access the
-          value of an uninitialized optional
-        </li>
+            <span class="bold"><strong>deep-copy</strong></span> semantics: copies of the container
+            implies copies of the value.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>deep-relational</strong></span> semantics: comparisons
+            between containers compare container size and if match, contained value
+          </li>
+<li class="listitem">
+            If the container is not empty (contains an object of type <code class="computeroutput"><span class="identifier">T</span></code>), it is modeling an <span class="emphasis"><em>initialized</em></span>
+            optional.
+          </li>
+<li class="listitem">
+            If the container is empty, it is modeling an <span class="emphasis"><em>uninitialized</em></span>
+            optional.
+          </li>
+<li class="listitem">
+            Testing if the container is empty models testing if the optional is initialized
+          </li>
+<li class="listitem">
+            Trying to extract a <code class="computeroutput"><span class="identifier">T</span></code>
+            from an empty container models the undefined behavior of trying to access
+            the value of an uninitialized optional
+          </li>
 </ul></div>
 </div>
-<div class="section" title="The semantics">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.development.the_semantics"></a><a class="link" href="development.html#boost_optional.development.the_semantics" title="The semantics">The semantics</a>
 </h3></div></div></div>
@@ -195,56 +195,57 @@
       </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="bold"><strong>Default Construction:</strong></span> To introduce a formally
-          uninitialized wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Direct Value Construction via copy:</strong></span> To
-          introduce a formally initialized wrapped object whose value is obtained
-          as a copy of some object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Deep Copy Construction:</strong></span> To obtain a new
-          yet equivalent wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Direct Value Assignment (upon initialized):</strong></span>
-          To assign a value to the wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Direct Value Assignment (upon uninitialized):</strong></span>
-          To initialize the wrapped object with a value obtained as a copy of some
-          object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Assignment (upon initialized):</strong></span> To assign
-          to the wrapped object the value of another wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Assignment (upon uninitialized):</strong></span> To initialize
-          the wrapped object with value of another wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Deep Relational Operations (when supported by the
-          type T):</strong></span> To compare wrapped object values taking into account
-          the presence of uninitialized states.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Value access:</strong></span> To unwrap the wrapped object.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Initialization state query:</strong></span> To determine
-          if the object is formally initialized or not.
-        </li>
-<li class="listitem">
-<span class="bold"><strong>Swap:</strong></span> To exchange wrapped objects. (with
-          whatever exception safety guarantees are provided by <code class="computeroutput"><span class="identifier">T</span></code>'s
-          swap).
-        </li>
-<li class="listitem">
-<span class="bold"><strong>De-initialization:</strong></span> To release the wrapped
-          object (if any) and leave the wrapper in the uninitialized state.
-        </li>
+            <span class="bold"><strong>Default Construction:</strong></span> To introduce a
+            formally uninitialized wrapped object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Direct Value Construction via copy:</strong></span>
+            To introduce a formally initialized wrapped object whose value is obtained
+            as a copy of some object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Deep Copy Construction:</strong></span> To obtain a
+            new yet equivalent wrapped object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Direct Value Assignment (upon initialized):</strong></span>
+            To assign a value to the wrapped object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Direct Value Assignment (upon uninitialized):</strong></span>
+            To initialize the wrapped object with a value obtained as a copy of some
+            object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Assignment (upon initialized):</strong></span> To assign
+            to the wrapped object the value of another wrapped object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Assignment (upon uninitialized):</strong></span> To
+            initialize the wrapped object with value of another wrapped object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Deep Relational Operations (when supported by the
+            type T):</strong></span> To compare wrapped object values taking into account
+            the presence of uninitialized states.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Value access:</strong></span> To unwrap the wrapped
+            object.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Initialization state query:</strong></span> To determine
+            if the object is formally initialized or not.
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>Swap:</strong></span> To exchange wrapped objects. (with
+            whatever exception safety guarantees are provided by <code class="computeroutput"><span class="identifier">T</span></code>'s
+            swap).
+          </li>
+<li class="listitem">
+            <span class="bold"><strong>De-initialization:</strong></span> To release the wrapped
+            object (if any) and leave the wrapper in the uninitialized state.
+          </li>
 </ul></div>
 <p>
         Additional operations are useful, such as converting constructors and converting
@@ -252,7 +253,7 @@
         via a pointer to the wrapped object or null.
       </p>
 </div>
-<div class="section" title="The Interface">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.development.the_interface"></a><a class="link" href="development.html#boost_optional.development.the_interface" title="The Interface">The Interface</a>
 </h3></div></div></div>
@@ -292,7 +293,7 @@
         itself which are supported by a special interface.
       </p>
 <a name="boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_"></a><h5>
-<a name="id555569"></a>
+<a name="boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_-heading"></a>
         <a class="link" href="development.html#boost_optional.development.the_interface.lexically_hinted_value_access_in_the_presence_of_possibly_untitialized_optional_objects__the_operators___and___gt_">Lexically-hinted
         Value Access in the presence of possibly untitialized optional objects: The
         operators * and -></a>
@@ -357,7 +358,7 @@
         incarnated by pointers.
       </p>
 <a name="boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee"></a><h5>
-<a name="id555831"></a>
+<a name="boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee-heading"></a>
         <a class="link" href="development.html#boost_optional.development.the_interface.optional_lt_t_gt__as_a_model_of_optionalpointee">Optional<T>
         as a model of OptionalPointee</a>
       </h5>
@@ -367,9 +368,9 @@
         about the possibly uninitialized state appealing to the familiar pointer
         semantics w.r.t. to null pointers.
       </p>
-<div class="warning" title="Warning"><table border="0" summary="Warning">
+<div class="warning"><table border="0" summary="Warning">
 <tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/html/images/warning.png"></td>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="../../../../../doc/src/images/warning.png"></td>
 <th align="left">Warning</th>
 </tr>
 <tr><td align="left" valign="top"><p>
@@ -398,7 +399,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -406,7 +407,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/examples.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/examples.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/examples.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Examples</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="detailed_semantics.html" title="Detailed Semantics">
 <link rel="next" href="optional_references.html" title="Optional references">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Examples">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
 </h2></div></div></div>
@@ -36,7 +36,7 @@
 <dt><span class="section"><a href="examples.html#boost_optional.examples.bypassing_expensive_unnecessary_default_construction">Bypassing
       expensive unnecessary default construction</a></span></dt>
 </dl></div>
-<div class="section" title="Optional return values">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.examples.optional_return_values"></a><a class="link" href="examples.html#boost_optional.examples.optional_return_values" title="Optional return values">Optional
       return values</a>
@@ -57,7 +57,7 @@
 <span class="special">}</span>
 </pre>
 </div>
-<div class="section" title="Optional local variables">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.examples.optional_local_variables"></a><a class="link" href="examples.html#boost_optional.examples.optional_local_variables" title="Optional local variables">Optional
       local variables</a>
@@ -78,7 +78,7 @@
 <span class="keyword">else</span> <span class="identifier">print</span><span class="special">(</span><span class="string">"employer's name not found!"</span><span class="special">);</span>
 </pre>
 </div>
-<div class="section" title="Optional data members">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.examples.optional_data_members"></a><a class="link" href="examples.html#boost_optional.examples.optional_data_members" title="Optional data members">Optional
       data members</a>
@@ -116,7 +116,7 @@
 <span class="special">};</span>
 </pre>
 </div>
-<div class="section" title="Bypassing expensive unnecessary default construction">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="boost_optional.examples.bypassing_expensive_unnecessary_default_construction"></a><a class="link" href="examples.html#boost_optional.examples.bypassing_expensive_unnecessary_default_construction" title="Bypassing expensive unnecessary default construction">Bypassing
       expensive unnecessary default construction</a>
@@ -133,7 +133,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -141,7 +141,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="detailed_semantics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="optional_references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/exception_safety_guarantees.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Exception Safety Guarantees</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="a_note_about_optional_bool_.html" title="A note about optional<bool>">
 <link rel="next" href="type_requirements.html" title="Type requirements">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Exception Safety Guarantees">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.exception_safety_guarantees"></a><a class="link" href="exception_safety_guarantees.html" title="Exception Safety Guarantees">Exception Safety
     Guarantees</a>
@@ -32,20 +32,28 @@
       Notes</a>), all of the assignment methods:
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">InPlaceFactory</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">InPlaceFactory</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">TypedInPlaceFactory</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">TypedInPlaceFactory</span>
-        <span class="keyword">const</span><span class="special">&</span>
-        <span class="special">)</span> </code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>:::</span><span class="identifier">reset</span> <span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&)</span></code></li>
+<li class="listitem">
+          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">U</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">U</span><span class="special">></span> <span class="keyword">const</span><span class="special">&</span> <span class="special">)</span></code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">InPlaceFactory</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">InPlaceFactory</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="special">)</span></code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="keyword">template</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">TypedInPlaceFactory</span><span class="special">></span> <span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">TypedInPlaceFactory</span>
+          <span class="keyword">const</span><span class="special">&</span>
+          <span class="special">)</span> </code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>:::</span><span class="identifier">reset</span> <span class="special">(</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&)</span></code>
+        </li>
 </ul></div>
 <p>
       Can only <span class="emphasis"><em>guarantee</em></span> the <span class="underline">basic
@@ -57,8 +65,12 @@
       On the other hand, the <span class="emphasis"><em>uninitializing</em></span> methods:
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">none_t</span> <span class="special">)</span></code></li>
-<li class="listitem"><code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">()</span></code></li>
+<li class="listitem">
+          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="keyword">operator</span><span class="special">=</span> <span class="special">(</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">none_t</span> <span class="special">)</span></code>
+        </li>
+<li class="listitem">
+          <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">reset</span><span class="special">()</span></code>
+        </li>
 </ul></div>
 <p>
       Provide the no-throw guarantee (assuming a no-throw <code class="computeroutput"><span class="identifier">T</span><span class="special">::~</span><span class="identifier">T</span><span class="special">()</span></code>)
@@ -112,7 +124,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_optional.exception_safety_guarantees.swap"></a><h4>
-<a name="id583497"></a>
+<a name="boost_optional.exception_safety_guarantees.swap-heading"></a>
       <a class="link" href="exception_safety_guarantees.html#boost_optional.exception_safety_guarantees.swap">Swap</a>
     </h4>
 <p>
@@ -126,7 +138,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -134,7 +146,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_requirements.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/implementation_notes.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/implementation_notes.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/implementation_notes.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Implementation Notes</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="type_requirements.html" title="Type requirements">
 <link rel="next" href="dependencies_and_portability.html" title="Dependencies and Portability">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Implementation Notes">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.implementation_notes"></a><a class="link" href="implementation_notes.html" title="Implementation Notes">Implementation Notes</a>
 </h2></div></div></div>
@@ -41,7 +41,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -49,7 +49,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_requirements.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="dependencies_and_portability.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/in_place_factories.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/in_place_factories.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/in_place_factories.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>In-Place Factories</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">
 <link rel="next" href="a_note_about_optional_bool_.html" title="A note about optional<bool>">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="In-Place Factories">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.in_place_factories"></a><a class="link" href="in_place_factories.html" title="In-Place Factories">In-Place Factories</a>
 </h2></div></div></div>
@@ -129,14 +129,14 @@
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-<span class="underline">TypedInPlaceFactories</span>: those which
-        take the target type as a primary template parameter.
-      </li>
+          <span class="underline">TypedInPlaceFactories</span>: those which
+          take the target type as a primary template parameter.
+        </li>
 <li class="listitem">
-<span class="underline">InPlaceFactories</span>: those with a template
-        <code class="computeroutput"><span class="identifier">construct</span><span class="special">(</span><span class="keyword">void</span><span class="special">*)</span></code> member
-        function taking the target type.
-      </li>
+          <span class="underline">InPlaceFactories</span>: those with a template
+          <code class="computeroutput"><span class="identifier">construct</span><span class="special">(</span><span class="keyword">void</span><span class="special">*)</span></code> member
+          function taking the target type.
+        </li>
 </ul></div>
 <p>
       Within each group, all the family members differ only in the number of parameters
@@ -182,7 +182,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -190,7 +190,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="a_note_about_optional_bool_.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/optional_references.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/optional_references.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/optional_references.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Optional references</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="examples.html" title="Examples">
 <link rel="next" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Optional references">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.optional_references"></a><a class="link" href="optional_references.html" title="Optional references">Optional references</a>
 </h2></div></div></div>
@@ -37,20 +37,20 @@
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        Converting constructors
-      </li>
+          Converting constructors
+        </li>
 <li class="listitem">
-        Converting assignment
-      </li>
+          Converting assignment
+        </li>
 <li class="listitem">
-        InPlace construction
-      </li>
+          InPlace construction
+        </li>
 <li class="listitem">
-        InPlace assignment
-      </li>
+          InPlace assignment
+        </li>
 <li class="listitem">
-        Value-access via pointer
-      </li>
+          Value-access via pointer
+        </li>
 </ul></div>
 <p>
       Also, even though <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span></code>
@@ -59,19 +59,19 @@
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        Copies of <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span></code>
-        will copy the references but all these references will nonetheless reefer
-        to the same object.
-      </li>
-<li class="listitem">
-        Value-access will actually provide access to the referenced object rather
-        than the reference itself.
-      </li>
+          Copies of <code class="computeroutput"><span class="identifier">optional</span><span class="special"><</span><span class="identifier">T</span><span class="special">&></span></code>
+          will copy the references but all these references will nonetheless reefer
+          to the same object.
+        </li>
+<li class="listitem">
+          Value-access will actually provide access to the referenced object rather
+          than the reference itself.
+        </li>
 </ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -79,7 +79,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rebinding_semantics_for_assignment_of_optional_references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/rebinding_semantics_for_assignment_of_optional_references.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Rebinding semantics for assignment of optional references</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="optional_references.html" title="Optional references">
 <link rel="next" href="in_place_factories.html" title="In-Place Factories">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Rebinding semantics for assignment of optional references">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references"></a><a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html" title="Rebinding semantics for assignment of optional references">Rebinding
     semantics for assignment of optional references</a>
@@ -70,7 +70,7 @@
 <span class="identifier">assert</span><span class="special">(</span><span class="identifier">b</span><span class="special">==</span><span class="number">3</span><span class="special">);</span> 
 </pre>
 <a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale"></a><h4>
-<a name="id579234"></a>
+<a name="boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale-heading"></a>
       <a class="link" href="rebinding_semantics_for_assignment_of_optional_references.html#boost_optional.rebinding_semantics_for_assignment_of_optional_references.rationale">Rationale</a>
     </h4>
 <p>
@@ -134,7 +134,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -142,7 +142,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="optional_references.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="in_place_factories.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/synopsis.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/synopsis.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/synopsis.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Synopsis</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="development.html" title="Development">
 <link rel="next" href="detailed_semantics.html" title="Detailed Semantics">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="development.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="development.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Synopsis">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.synopsis"></a><a class="link" href="synopsis.html" title="Synopsis">Synopsis</a>
 </h2></div></div></div>
@@ -136,7 +136,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -144,7 +144,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="development.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="development.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="detailed_semantics.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/boost_optional/type_requirements.html
==============================================================================
--- trunk/libs/optional/doc/html/boost_optional/type_requirements.html	(original)
+++ trunk/libs/optional/doc/html/boost_optional/type_requirements.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,11 +1,11 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Type requirements</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
-<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="../index.html" title="Chapter 1. Boost.Optional">
+<link rel="up" href="../index.html" title="Chapter 1. Boost.Optional">
 <link rel="prev" href="exception_safety_guarantees.html" title="Exception Safety Guarantees">
 <link rel="next" href="implementation_notes.html" title="Implementation Notes">
 </head>
@@ -13,16 +13,16 @@
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" title="Type requirements">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="boost_optional.type_requirements"></a><a class="link" href="type_requirements.html" title="Type requirements">Type requirements</a>
 </h2></div></div></div>
@@ -39,7 +39,7 @@
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal<p>
+<td align="right"><div class="copyright-footer">Copyright © 2003-2007 Fernando Luis Cacciola Carballal<p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -47,7 +47,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="exception_safety_guarantees.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="implementation_notes.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/html/index.html
==============================================================================
--- trunk/libs/optional/doc/html/index.html	(original)
+++ trunk/libs/optional/doc/html/index.html	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -1,33 +1,33 @@
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Chapter 1. Boost.Optional</title>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter 1. Boost.Optional</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="Chapter 1. Boost.Optional">
+<link rel="home" href="index.html" title="Chapter 1. Boost.Optional">
 <link rel="next" href="boost_optional/development.html" title="Development">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
 <td align="center">Home</td>
-<td align="center">Libraries</td>
+<td align="center">Libraries</td>
 <td align="center">People</td>
 <td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
-<div class="chapter" title="Chapter 1. Boost.Optional">
+<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
 <div class="titlepage"><div>
 <div><h2 class="title">
-<a name="optional"></a>Chapter 1. Boost.Optional</h2></div>
+<a name="optional"></a>Chapter 1. Boost.Optional</h2></div>
 <div><div class="author"><h3 class="author">
 <span class="firstname">Fernando Luis</span> <span class="surname">Cacciola Carballal</span>
 </h3></div></div>
-<div><p class="copyright">Copyright © 2003 -2007 Fernando Luis Cacciola Carballal</p></div>
-<div><div class="legalnotice" title="Legal Notice">
-<a name="id553943"></a><p>
+<div><p class="copyright">Copyright © 2003-2007 Fernando Luis Cacciola Carballal</p></div>
+<div><div class="legalnotice">
+<a name="id3012019"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -71,7 +71,7 @@
 <dt><span class="section">Acknowledgments</span></dt>
 </dl>
 </div>
-<div class="section" title="Motivation">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="optional.motivation"></a><a class="link" href="index.html#optional.motivation" title="Motivation">Motivation</a>
 </h2></div></div></div>
@@ -81,15 +81,14 @@
     </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
-        (A) <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">n</span>
-        <span class="special">);</span></code>
-</li>
+          (A) <code class="computeroutput"><span class="keyword">double</span> <span class="identifier">sqrt</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">n</span> <span class="special">);</span></code>
+        </li>
 <li class="listitem">
-        (B) <code class="computeroutput"><span class="keyword">char</span> <span class="identifier">get_async_input</span><span class="special">();</span></code>
-</li>
+          (B) <code class="computeroutput"><span class="keyword">char</span> <span class="identifier">get_async_input</span><span class="special">();</span></code>
+        </li>
 <li class="listitem">
-        (C) <code class="computeroutput"><span class="identifier">point</span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span></code>
-</li>
+          (C) <code class="computeroutput"><span class="identifier">point</span> <span class="identifier">polygon</span><span class="special">::</span><span class="identifier">get_any_point_effectively_inside</span><span class="special">();</span></code>
+        </li>
 </ul></div>
 <p>
       There are different approaches to the issue of not having a value to return.
@@ -162,14 +161,12 @@
       Clearly, we need a better idiom.
     </p>
 </div>
-<p>
-  </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: November 20, 2009 at 10:24:28 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 06, 2011 at 20:44:42 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="boost_optional/development.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
 </body>
 </html>
Modified: trunk/libs/optional/doc/reference.qbk
==============================================================================
--- trunk/libs/optional/doc/reference.qbk	(original)
+++ trunk/libs/optional/doc/reference.qbk	2011-04-06 16:54:18 EDT (Wed, 06 Apr 2011)
@@ -500,6 +500,23 @@
 
 __SPACE__
 
+[#reference_optional_operator_equal_factory]
+
+[: `template<InPlaceFactory> optional<T>& optional<T` ['(not a ref)]`>::operator=( InPlaceFactory const& f );`]
+[: `template<TypedInPlaceFactory> optional<T>& optional<T` ['(not a ref)]`>::operator=( TypedInPlaceFactory const& f );`]
+
+* [*Effect:] Assigns an `optional` with a value of `T` obtained from the
+factory.
+* [*Postconditions: ] `*this` is [_initialized] and its value is ['directly given]
+from the factory `f` (i.e., the value [_is not copied]).
+* [*Throws:] Whatever the `T` constructor called by the factory throws.
+* [*Notes:] See [link boost_optional.in_place_factories In-Place Factories]
+* [*Exception Safety:] Exceptions can only be thrown during the call to
+the `T` constructor used by the factory; in that case, the `optional` object
+will be left empty.
+
+__SPACE__
+
 [#reference_optional_reset_value]
 
 [: `void optional<T` ['(not a ref)]`>::reset( T const& v ) ;`]