Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54906 - in trunk/libs/exception: doc doc/source example
From: emil_at_[hidden]
Date: 2009-07-12 02:59:56


Author: emildotchevski
Date: 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
New Revision: 54906
URL: http://svn.boost.org/trac/boost/changeset/54906

Log:
documentation update
Added:
   trunk/libs/exception/example/errinfos.cpp (contents, props changed)
Text files modified:
   trunk/libs/exception/doc/errinfo_api_function.html | 48
   trunk/libs/exception/doc/errinfo_at_line.html | 48
   trunk/libs/exception/doc/errinfo_errno.html | 48
   trunk/libs/exception/doc/errinfo_file_handle.html | 48
   trunk/libs/exception/doc/errinfo_file_name.html | 48
   trunk/libs/exception/doc/errinfo_file_open_mode.html | 48
   trunk/libs/exception/doc/source/boost-exception.reno | 7750 ++++++++++++++++++++-------------------
   trunk/libs/exception/example/Jamfile | 1
   8 files changed, 4335 insertions(+), 3704 deletions(-)

Modified: trunk/libs/exception/doc/errinfo_api_function.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_api_function.html (original)
+++ trunk/libs/exception/doc/errinfo_api_function.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -30,7 +30,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_api_function_,int&gt; <span class="RenoLink">errinfo_api_function</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp<br/>
 </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/errinfo_at_line.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_at_line.html (original)
+++ trunk/libs/exception/doc/errinfo_at_line.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -30,7 +30,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_at_line_,int&gt; <span class="RenoLink">errinfo_at_line</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp<br/>
 </a></div>

Modified: trunk/libs/exception/doc/errinfo_errno.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_errno.html (original)
+++ trunk/libs/exception/doc/errinfo_errno.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -31,7 +31,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_errno_,int&gt; <span class="RenoLink">errinfo_errno</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting a relevant errno value in exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp<br/>
 </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/errinfo_file_handle.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_file_handle.html (original)
+++ trunk/libs/exception/doc/errinfo_file_handle.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -31,7 +31,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_file_handle_,weak_ptr&lt;FILE&gt; &gt; <span class="RenoLink">errinfo_file_handle</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting a relevant FILE pointer managed by a boost::shared_ptr&lt;FILE&gt; in exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp<br/>
 </a></div>

Modified: trunk/libs/exception/doc/errinfo_file_name.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_file_name.html (original)
+++ trunk/libs/exception/doc/errinfo_file_name.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -31,7 +31,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_file_name_,std::string&gt; <span class="RenoLink">errinfo_file_name</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting a relevant file name in exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp<br/>
 </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/errinfo_file_open_mode.html
==============================================================================
--- trunk/libs/exception/doc/errinfo_file_open_mode.html (original)
+++ trunk/libs/exception/doc/errinfo_file_open_mode.html 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -31,7 +31,53 @@
 <span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span>&lt;struct errinfo_file_open_mode_,std::string&gt; <span class="RenoLink">errinfo_file_open_mode</span>;</span></span>
     }</pre>
 </div></div><p>This type is designed to be used as a standard <span class="RenoLink">error_info</span> instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::<span class="RenoLink">exception</span>.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/exception/info.hpp</span>&gt;
+#include &lt;<span class="RenoLink">boost/throw_exception.hpp</span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink">exception</span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+ else
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+ file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt;
+ boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt;
+ boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+ return nr;
+ }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp<br/>
 </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/source/boost-exception.reno
==============================================================================
--- trunk/libs/exception/doc/source/boost-exception.reno (original)
+++ trunk/libs/exception/doc/source/boost-exception.reno 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -39,7 +39,7 @@
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -53,29 +53,18 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
- <weak>3471702891</weak>
- <size>969</size>
- <position>344</position>
- <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
- <weak>2978648279</weak>
- <size>530</size>
- <position>433</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>error_info</string>
+ <string>using virtual inheritance in exception types</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -102,33 +91,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>3</size>
- <strong>DA1CAA5F6BAB712AD89E8A0B7D83961FCE4AF9FD198791C9F6EA299800A64FAC</strong>
- <weak>3553871704</weak>
- <size>612</size>
- <position>1496</position>
- <strong>154AC930BD1FDCADE24CDB07DBD3163CA26378AF4F1D428C34B67D1F68A60891</strong>
- <weak>50905072</weak>
- <size>586</size>
- <position>23</position>
- <strong>CD1241D84950468704F3C3F04116B8DA5162A8BEA4364F10951232F49113C5DE</strong>
- <weak>1658463867</weak>
- <size>121</size>
- <position>453</position>
+ <size>2</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
+ <position>323</position>
+ <strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
+ <weak>3292878997</weak>
+ <size>282</size>
+ <position>7287</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>configuration macros</string>
+ <string>enable_error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -156,24 +141,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
- <weak>561674611</weak>
- <size>417</size>
- <position>323</position>
+ <strong>80C86365052AA49654F75CAA87BF9B29C6373A01F8EE4D5E79F317CD76FC0718</strong>
+ <weak>622934727</weak>
+ <size>6161</size>
+ <position>412</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_name.hpp</string>
+ <string>../../example/example_io.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_file_name.hpp</string>
+ <string>diagnostic_information example</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -182,9 +167,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -200,25 +183,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1</strong>
- <weak>4248389286</weak>
- <size>4113</size>
- <position>323</position>
+ <size>2</size>
+ <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
+ <weak>1114955626</weak>
+ <size>11770</size>
+ <position>723</position>
+ <strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
+ <weak>3624753243</weak>
+ <size>279</size>
+ <position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/info.hpp</string>
+ <string>original_exception_type</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -229,7 +216,7 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;&#10;(:auto also:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -246,9 +233,9 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
- <weak>4175717823</weak>
- <size>328</size>
+ <strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
+ <weak>3352783584</weak>
+ <size>12170</size>
                                                                                                                                                         <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
@@ -256,14 +243,14 @@
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_type_info_name.hpp</string>
+ <string>boost/exception_ptr.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -290,29 +277,34 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <strong>28E8289766B2CDAEF0A407A6389CB9F7FD3B0F4B49B15CB73AF210A1CEB60C58</strong>
+ <weak>4196332848</weak>
+ <size>735</size>
+ <position>363</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../example/info_tuple.cpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>transporting of arbitrary data to the catch site</string>
+ <string>adding grouped data to exceptions</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>tutorial_transporting_data</string>
+ <string>grouping_data</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -328,28 +320,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
- <weak>2258638601</weak>
- <size>94</size>
- <position>227</position>
+ <size>2</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
+ <position>323</position>
+ <strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+ <weak>765399792</weak>
+ <size>77</size>
+ <position>5899</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/info_tuple.hpp</string>
+ <string>exception::~exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>exception_destructor</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -374,27 +370,27 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
- <weak>2883671483</weak>
- <size>311</size>
- <position>306</position>
+ <strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+ <weak>2587249979</weak>
+ <size>233</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/logging.cpp</string>
+ <string>../../../../boost/exception/errinfo_at_line.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>diagnostic information</string>
+ <string>boost/exception/errinfo_at_line.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>tutorial_diagnostic_information</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -418,21 +414,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
+ <weak>1114955626</weak>
+ <size>11770</size>
+ <position>723</position>
+ <strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
+ <weak>2078296250</weak>
+ <size>305</size>
+ <position>10862</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception_ptr.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Synopsis</string>
+ <string>copy_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>synopsis</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -456,28 +463,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
- <weak>2587249979</weak>
- <size>233</size>
- <position>323</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/errinfo_at_line.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_at_line.hpp</string>
+ <string>page index</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>page_idx</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -501,25 +501,18 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>F39D869016327CDFEA720920B2743F47989202BF5814B6556EC54A1B0FE562F8</strong>
- <weak>3703518029</weak>
- <size>147</size>
- <position>323</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception.hpp</string>
+ <string>frequently asked questions</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -546,25 +539,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>80C86365052AA49654F75CAA87BF9B29C6373A01F8EE4D5E79F317CD76FC0718</strong>
- <weak>622934727</weak>
- <size>6161</size>
- <position>412</position>
+ <size>2</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
+ <position>323</position>
+ <strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
+ <weak>1693870740</weak>
+ <size>2195</size>
+ <position>3702</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/example_io.cpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>diagnostic_information example</string>
+ <string>exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -573,7 +570,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;----&#10;!!!See Also:&#10;&#10;(:pagelist link=&quot;backlink&quot; except_tags=&quot;exception,member&quot; mod=&quot;w&quot;:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -594,10 +593,10 @@
                                                                                                                                                         <weak>1114955626</weak>
                                                                                                                                                         <size>11770</size>
                                                                                                                                                         <position>723</position>
- <strong>AF894656AC8CED6190EEEE08B051DBF2106A393E313BB5BB1C17D4808EFED761</strong>
- <weak>1496105832</weak>
- <size>1753</size>
- <position>429</position>
+ <strong>E23085202D084CBB50F289988A6A592F06D923B77D0AB25D7A98A7188DF5BE3B</strong>
+ <weak>1414247481</weak>
+ <size>766</size>
+ <position>10094</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
@@ -611,7 +610,7 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception_ptr</string>
+ <string>current_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -638,18 +637,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>AED5E79246B32BDF0E5C6CD8BDDC3370FD0BA1EFE3D4CE76C4A6D36A123F2E20</strong>
+ <weak>228982966</weak>
+ <size>3918</size>
+ <position>518</position>
+ <strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
+ <weak>1097215175</weak>
+ <size>161</size>
+ <position>240</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/info.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>frequently asked questions</string>
+ <string>error_info::error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -677,24 +687,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>A95165313334B684C85659D05D3D8EB17F4AF552EDCB3C180AC1F85D18C99CBF</strong>
- <weak>115507474</weak>
- <size>2037</size>
- <position>91</position>
+ <strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
+ <weak>3194412598</weak>
+ <size>4599</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/throw_exception.hpp</string>
+ <string>boost/exception/diagnostic_information.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -721,29 +731,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
- <weak>1114955626</weak>
- <size>11770</size>
- <position>723</position>
- <strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
- <weak>3624753243</weak>
- <size>279</size>
- <position>26</position>
+ <size>1</size>
+ <strong>F39D869016327CDFEA720920B2743F47989202BF5814B6556EC54A1B0FE562F8</strong>
+ <weak>3703518029</weak>
+ <size>147</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>original_exception_type</string>
+ <string>boost/exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -781,10 +787,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>page index</string>
+ <string>Functions</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>page_idx</string>
+ <string>functions</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -809,28 +815,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
- <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
- <weak>1114955626</weak>
- <size>11770</size>
- <position>723</position>
- <strong>E23085202D084CBB50F289988A6A592F06D923B77D0AB25D7A98A7188DF5BE3B</strong>
- <weak>1414247481</weak>
- <size>766</size>
- <position>10094</position>
+ <strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
+ <weak>1090406464</weak>
+ <size>362</size>
+ <position>323</position>
+ <strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
+ <weak>3172941848</weak>
+ <size>330</size>
+ <position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/current_exception_cast.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>current_exception</string>
+ <string>current_exception_cast</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -857,29 +863,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>FEABD2D011FBCE667D26BAD68A1C65D81E98DD40081CC70F2738AC3151A8FC4A</strong>
- <weak>4260129224</weak>
- <size>2393</size>
- <position>504</position>
- <strong>C708EDCAC3964E2F3C3A081700112C5F15C7BF7A61FDF2EF39D112FC9B987CE3</strong>
- <weak>1739153824</weak>
- <size>2361</size>
- <position>26</position>
+ <size>1</size>
+ <strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
+ <weak>366628170</weak>
+ <size>236</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/get_error_info.hpp</string>
+ <string>../../../../boost/exception/errinfo_file_handle.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>get_error_info</string>
+ <string>boost/exception/errinfo_file_handle.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -906,28 +908,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
- <weak>3194412598</weak>
- <size>4599</size>
- <position>323</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/diagnostic_information.hpp</string>
+ <string>transporting of exceptions between threads</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>tutorial_exception_ptr</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -951,40 +946,34 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
- <weak>3948311309</weak>
- <size>396</size>
- <position>344</position>
- <strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
- <weak>3880328768</weak>
- <size>82</size>
- <position>308</position>
+ <size>1</size>
+ <strong>D194983FA4C182AB869F1AB542797B3EDCCBAEB0A6E67B2DCEE5EA2C7F58853C</strong>
+ <weak>1308852571</weak>
+ <size>395</size>
+ <position>307</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_name.hpp</string>
+ <string>../../example/cloning_1.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_file_name</string>
+ <string>using enable_current_exception at the time of the throw</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>using_enable_cloning</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1000,18 +989,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
+ <weak>1378637100</weak>
+ <size>292</size>
+ <position>368</position>
+ <strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
+ <weak>3349881047</weak>
+ <size>89</size>
+ <position>197</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/errinfo_api_function.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception types as simple semantic tags</string>
+ <string>errinfo_api_function</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1039,9 +1039,9 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
- <weak>3352783584</weak>
- <size>12170</size>
+ <strong>2F432507CFD796BE673F33D9AC68C535F1ED1F4FCD3A8E3AEEC320D9795FB4AE</strong>
+ <weak>2319362875</weak>
+ <size>2574</size>
                                                                                                                                                         <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
@@ -1049,14 +1049,14 @@
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/get_error_info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception_ptr.hpp</string>
+ <string>boost/exception/get_error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1083,25 +1083,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA</strong>
- <weak>922651615</weak>
- <size>433</size>
- <position>1061</position>
+ <size>2</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
+ <position>323</position>
+ <strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+ <weak>1137981799</weak>
+ <size>192</size>
+ <position>8976</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>BOOST_THROW_EXCEPTION</string>
+ <string>enable_current_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1128,40 +1132,34 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>AED5E79246B32BDF0E5C6CD8BDDC3370FD0BA1EFE3D4CE76C4A6D36A123F2E20</strong>
- <weak>228982966</weak>
- <size>3918</size>
- <position>518</position>
- <strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
- <weak>1097215175</weak>
- <size>161</size>
- <position>240</position>
+ <size>1</size>
+ <strong>0F429704770B5772E81B2BC74E962B62F83826D6C885B7C6E7186D127D31B291</strong>
+ <weak>1345125619</weak>
+ <size>854</size>
+ <position>306</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
+ <string>../../example/error_info_2.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>error_info::error_info</string>
+ <string>adding of arbitrary data to active exception objects</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>adding_data_later</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1177,29 +1175,33 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
- <position>323</position>
- <strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
- <weak>1693870740</weak>
- <size>2195</size>
- <position>3702</position>
+ <size>3</size>
+ <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
+ <weak>3471702891</weak>
+ <size>969</size>
+ <position>344</position>
+ <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
+ <weak>2978648279</weak>
+ <size>530</size>
+ <position>433</position>
+ <strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
+ <weak>2218658069</weak>
+ <size>31</size>
+ <position>143</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception</string>
+ <string>error_info::value_type</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1210,7 +1212,7 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;----&#10;!!!See Also:&#10;&#10;(:pagelist link=&quot;backlink&quot; except_tags=&quot;exception,member&quot; mod=&quot;w&quot;:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1226,21 +1228,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
+ <weak>1114955626</weak>
+ <size>11770</size>
+ <position>723</position>
+ <strong>6B3B617AC518A2177BDB89656E726B4E4D79577E289130493A61BAE24FB64838</strong>
+ <weak>3173127726</weak>
+ <size>1101</size>
+ <position>2184</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception_ptr.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Headers</string>
+ <string>unknown_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>headers</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1313,34 +1326,40 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>28E8289766B2CDAEF0A407A6389CB9F7FD3B0F4B49B15CB73AF210A1CEB60C58</strong>
- <weak>4196332848</weak>
- <size>735</size>
- <position>363</position>
+ <size>2</size>
+ <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
+ <weak>1114955626</weak>
+ <size>11770</size>
+ <position>723</position>
+ <strong>B20A3D4631F3B2415EED1888B65FA33D7AED20F86BE196159D9297AAED115787</strong>
+ <weak>3293519666</weak>
+ <size>117</size>
+ <position>11169</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/info_tuple.cpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>adding grouped data to exceptions</string>
+ <string>rethrow_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>grouping_data</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1394,29 +1413,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>DA1CAA5F6BAB712AD89E8A0B7D83961FCE4AF9FD198791C9F6EA299800A64FAC</strong>
- <weak>3553871704</weak>
- <size>612</size>
- <position>1496</position>
- <strong>154AC930BD1FDCADE24CDB07DBD3163CA26378AF4F1D428C34B67D1F68A60891</strong>
- <weak>50905072</weak>
- <size>586</size>
- <position>23</position>
+ <size>1</size>
+ <strong>A14B5595A6DD87562792D402B48500AAD71FA1ABD75C14EDF089FCC7318CBB9B</strong>
+ <weak>3469762901</weak>
+ <size>468</size>
+ <position>227</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/throw_exception.hpp</string>
+ <string>../../../../boost/exception/current_exception_cast.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>throw_exception</string>
+ <string>boost/exception/current_exception_cast.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1444,28 +1459,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
- <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
- <weak>1114955626</weak>
- <size>11770</size>
- <position>723</position>
- <strong>B20A3D4631F3B2415EED1888B65FA33D7AED20F86BE196159D9297AAED115787</strong>
- <weak>3293519666</weak>
- <size>117</size>
- <position>11169</position>
+ <strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
+ <weak>1232553666</weak>
+ <size>214</size>
+ <position>345</position>
+ <strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
+ <weak>3676119191</weak>
+ <size>90</size>
+ <position>118</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/errinfo_file_handle.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>rethrow_exception</string>
+ <string>errinfo_file_handle</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1492,29 +1507,18 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
- <weak>1114955626</weak>
- <size>11770</size>
- <position>723</position>
- <strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
- <weak>2078296250</weak>
- <size>305</size>
- <position>10862</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>copy_exception</string>
+ <string>boost/exception/enable_current_exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1541,40 +1545,34 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
- <position>323</position>
- <strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
- <weak>3292878997</weak>
- <size>282</size>
- <position>7287</position>
+ <size>1</size>
+ <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+ <weak>2229778754</weak>
+ <size>631</size>
+ <position>319</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../example/cloning_2.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>enable_error_info</string>
+ <string>cloning and re-throwing an exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>cloning_and_rethrowing</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1591,27 +1589,27 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
- <weak>1917376632</weak>
- <size>706</size>
- <position>408</position>
+ <strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
+ <weak>2576704708</weak>
+ <size>337</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/enable_error_info.cpp</string>
+ <string>../../../../boost/exception/errinfo_api_function.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>integrating boost exception in existing exception class hierarchies</string>
+ <string>boost/exception/errinfo_api_function.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>tutorial_enable_error_info</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1635,25 +1633,33 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>2CCD2A79129C832AB12435E43BB35DE67318A8940A36530EF83C5E617987D661</strong>
- <weak>2091122505</weak>
- <size>699</size>
- <position>323</position>
+ <size>3</size>
+ <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
+ <weak>3471702891</weak>
+ <size>969</size>
+ <position>344</position>
+ <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
+ <weak>2978648279</weak>
+ <size>530</size>
+ <position>433</position>
+ <strong>02372FA6B987EAC15E78C5A12036F203A92B3D4C857C02985B1BF0A24008D976</strong>
+ <weak>2987989218</weak>
+ <size>109</size>
+ <position>259</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/all.hpp</string>
+ <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/all.hpp</string>
+ <string>error_info::value</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1680,25 +1686,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
- <weak>414875037</weak>
- <size>427</size>
- <position>323</position>
+ <size>2</size>
+ <strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+ <weak>1668435395</weak>
+ <size>1332</size>
+ <position>396</position>
+ <strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+ <weak>3879093659</weak>
+ <size>1300</size>
+ <position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_file_open_mode.hpp</string>
+ <string>tuple/operator&lt;&lt;</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1725,21 +1735,36 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
+ <position>323</position>
+ <strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
+ <weak>1693870740</weak>
+ <size>2195</size>
+ <position>3702</position>
+ <strong>DA154372D8C23BD9EDC30005CA7959CE686D198891097A837D006B5222F04DE9</strong>
+ <weak>2768248809</weak>
+ <size>143</size>
+ <position>60</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/exception.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/enable_error_info.hpp</string>
+ <string>exception::exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>exception_constructors</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1764,31 +1789,31 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
- <position>323</position>
- <strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
- <weak>765399792</weak>
- <size>77</size>
- <position>5899</position>
+ <strong>AED5E79246B32BDF0E5C6CD8BDDC3370FD0BA1EFE3D4CE76C4A6D36A123F2E20</strong>
+ <weak>228982966</weak>
+ <size>3918</size>
+ <position>518</position>
+ <strong>D31BCE814DF5B8B718E7EB67A194AD08EF716A26D422E436596ABA1F145007D8</strong>
+ <weak>4055211476</weak>
+ <size>525</size>
+ <position>3387</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception/info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception::~exception</string>
+ <string>exception/operator&lt;&lt;</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>exception_destructor</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1823,10 +1848,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Macros</string>
+ <string>boost exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>macros</string>
+ <string>boost-exception</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1834,7 +1859,7 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <string>(:include include:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1850,47 +1875,120 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
- <weak>1090406464</weak>
- <size>362</size>
- <position>323</position>
- <strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
- <weak>3172941848</weak>
- <size>330</size>
- <position>26</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/current_exception_cast.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>current_exception_cast</string>
+ <string>Motivation</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>motivation</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also explicit=&quot;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>46</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>exception types as simple semantic tags</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>47</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
+ <weak>1917376632</weak>
+ <size>706</size>
+ <position>408</position>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../example/enable_error_info.cpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>integrating boost exception in existing exception class hierarchies</string>
+ </title>
+ <file_name>
+ <string>tutorial_enable_error_info</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&quot;:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>46</id>
+ <id>48</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1899,21 +1997,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
+ <weak>4231421785</weak>
+ <size>307</size>
+ <position>344</position>
+ <strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
+ <weak>1126376090</weak>
+ <size>92</size>
+ <position>209</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Functions</string>
+ <string>errinfo_type_info_name</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>functions</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1928,7 +2037,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>47</id>
+ <id>49</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1937,29 +2046,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
- <weak>1378637100</weak>
- <size>292</size>
- <position>368</position>
- <strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
- <weak>3349881047</weak>
- <size>89</size>
- <position>197</position>
+ <size>1</size>
+ <strong>04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA</strong>
+ <weak>922651615</weak>
+ <size>433</size>
+ <position>1061</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_api_function.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_api_function</string>
+ <string>BOOST_THROW_EXCEPTION</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1977,7 +2082,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>48</id>
+ <id>50</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1986,63 +2091,60 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>D57BF77EE44CD2755E24A56DDC3E159716D04A7ABE009AE977D4926EFEC00F73</strong>
+ <weak>2498368808</weak>
+ <size>973</size>
+ <position>3941</position>
+ <strong>9432C669E21C649A86AC6DC5A34275B483A7D2D38118A462DF1C1CD7BBE5ED51</strong>
+ <weak>2535426829</weak>
+ <size>441</size>
+ <position>110</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Motivation</string>
+ <string>current_exception_diagnostic_information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>motivation</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also explicit=&quot;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-26</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string> </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-18</id>
- </shared_ptr>
- </weak_ptr>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-46</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>&quot;:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>49</id>
+ <id>51</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2051,29 +2153,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
+ <size>1</size>
+ <strong>2CCD2A79129C832AB12435E43BB35DE67318A8940A36530EF83C5E617987D661</strong>
+ <weak>2091122505</weak>
+ <size>699</size>
                                                                                                                                                         <position>323</position>
- <strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
- <weak>1137981799</weak>
- <size>192</size>
- <position>8976</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception/all.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>enable_current_exception</string>
+ <string>boost/exception/all.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2091,7 +2189,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>50</id>
+ <id>52</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2100,29 +2198,18 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>AED5E79246B32BDF0E5C6CD8BDDC3370FD0BA1EFE3D4CE76C4A6D36A123F2E20</strong>
- <weak>228982966</weak>
- <size>3918</size>
- <position>518</position>
- <strong>D31BCE814DF5B8B718E7EB67A194AD08EF716A26D422E436596ABA1F145007D8</strong>
- <weak>4055211476</weak>
- <size>525</size>
- <position>3387</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/info.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception/operator&lt;&lt;</string>
+ <string>boost/exception/enable_error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2140,7 +2227,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>51</id>
+ <id>53</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2149,41 +2236,60 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>0F429704770B5772E81B2BC74E962B62F83826D6C885B7C6E7186D127D31B291</strong>
- <weak>1345125619</weak>
- <size>854</size>
- <position>306</position>
+ <size>2</size>
+ <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
+ <weak>1114955626</weak>
+ <size>11770</size>
+ <position>723</position>
+ <strong>AF894656AC8CED6190EEEE08B051DBF2106A393E313BB5BB1C17D4808EFED761</strong>
+ <weak>1496105832</weak>
+ <size>1753</size>
+ <position>429</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/error_info_2.cpp</string>
+ <string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>adding of arbitrary data to active exception objects</string>
+ <string>exception_ptr</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>adding_data_later</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>52</id>
+ <id>-47</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>54</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2192,29 +2298,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
- <weak>4231421785</weak>
- <size>307</size>
- <position>344</position>
- <strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
- <weak>1126376090</weak>
- <size>92</size>
- <position>209</position>
+ <size>1</size>
+ <strong>A95165313334B684C85659D05D3D8EB17F4AF552EDCB3C180AC1F85D18C99CBF</strong>
+ <weak>115507474</weak>
+ <size>2037</size>
+ <position>91</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_type_info_name</string>
+ <string>boost/throw_exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2232,7 +2334,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>53</id>
+ <id>55</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2241,25 +2343,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
- <weak>366628170</weak>
- <size>236</size>
- <position>323</position>
+ <size>2</size>
+ <strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
+ <weak>3948311309</weak>
+ <size>396</size>
+ <position>344</position>
+ <strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
+ <weak>3880328768</weak>
+ <size>82</size>
+ <position>308</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_handle.hpp</string>
+ <string>../../../../boost/exception/errinfo_file_name.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_file_handle.hpp</string>
+ <string>errinfo_file_name</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2277,7 +2383,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>54</id>
+ <id>56</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2286,21 +2392,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>FEABD2D011FBCE667D26BAD68A1C65D81E98DD40081CC70F2738AC3151A8FC4A</strong>
+ <weak>4260129224</weak>
+ <size>2393</size>
+ <position>504</position>
+ <strong>C708EDCAC3964E2F3C3A081700112C5F15C7BF7A61FDF2EF39D112FC9B987CE3</strong>
+ <weak>1739153824</weak>
+ <size>2361</size>
+ <position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/get_error_info.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost exception</string>
+ <string>get_error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>boost-exception</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2308,14 +2425,14 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>55</id>
+ <id>57</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2324,33 +2441,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>3</size>
- <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
- <weak>3471702891</weak>
- <size>969</size>
- <position>344</position>
- <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
- <weak>2978648279</weak>
- <size>530</size>
- <position>433</position>
- <strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
- <weak>2218658069</weak>
- <size>31</size>
- <position>143</position>
+ <size>2</size>
+ <strong>DA1CAA5F6BAB712AD89E8A0B7D83961FCE4AF9FD198791C9F6EA299800A64FAC</strong>
+ <weak>3553871704</weak>
+ <size>612</size>
+ <position>1496</position>
+ <strong>154AC930BD1FDCADE24CDB07DBD3163CA26378AF4F1D428C34B67D1F68A60891</strong>
+ <weak>50905072</weak>
+ <size>586</size>
+ <position>23</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>error_info::value_type</string>
+ <string>throw_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2368,7 +2481,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>56</id>
+ <id>58</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2377,18 +2490,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
+ <weak>414875037</weak>
+ <size>427</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/enable_current_exception.hpp</string>
+ <string>boost/exception/errinfo_file_open_mode.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2406,7 +2526,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>57</id>
+ <id>59</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2415,28 +2535,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>A14B5595A6DD87562792D402B48500AAD71FA1ABD75C14EDF089FCC7318CBB9B</strong>
- <weak>3469762901</weak>
- <size>468</size>
- <position>227</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/current_exception_cast.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/current_exception_cast.hpp</string>
+ <string>Macros</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>macros</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2451,7 +2564,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>58</id>
+ <id>60</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2460,25 +2573,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
- <weak>2576704708</weak>
- <size>337</size>
- <position>323</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
+ <size>2</size>
+ <strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
+ <weak>1615599655</weak>
+ <size>68</size>
+ <position>227</position>
+ <strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
+ <weak>805836816</weak>
+ <size>66</size>
+ <position>1</position>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_api_function.hpp</string>
+ <string>../../../../boost/exception/error_info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_api_function.hpp</string>
+ <string>boost/exception/error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2496,7 +2613,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>59</id>
+ <id>61</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2506,28 +2623,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
- <strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
- <weak>1232553666</weak>
- <size>214</size>
- <position>345</position>
- <strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
- <weak>3676119191</weak>
- <size>90</size>
- <position>118</position>
+ <strong>02F77B8305279514F37A75FA6454AE750E04E7AA7934D395EFB52BCC7642965E</strong>
+ <weak>430535365</weak>
+ <size>3379</size>
+ <position>560</position>
+ <strong>D08B74734CDA5115D9E47783E2994C2836BE241FB25E589BB4C67F2596727C03</strong>
+ <weak>24341149</weak>
+ <size>3347</size>
+ <position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_handle.hpp</string>
+ <string>../../../../boost/exception/diagnostic_information.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_file_handle</string>
+ <string>diagnostic_information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2545,7 +2662,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>60</id>
+ <id>62</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2554,51 +2671,41 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>3</size>
- <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
- <weak>3471702891</weak>
- <size>969</size>
- <position>344</position>
- <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
- <weak>2978648279</weak>
- <size>530</size>
- <position>433</position>
- <strong>02372FA6B987EAC15E78C5A12036F203A92B3D4C857C02985B1BF0A24008D976</strong>
- <weak>2987989218</weak>
- <size>109</size>
- <position>259</position>
+ <size>1</size>
+ <strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
+ <weak>1875939463</weak>
+ <size>529</size>
+ <position>382</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
+ <string>../../example/error_info_1.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>error_info::value</string>
+ <string>adding of arbitrary data at the point of the throw</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>adding_data_at_throw</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>61</id>
+ <id>63</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2608,40 +2715,42 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
- <weak>2229778754</weak>
- <size>631</size>
- <position>319</position>
+ <strong>283AE6BE0920B1882100C426958FDF998DEE10226546B300B45C1A26B242FC25</strong>
+ <weak>722381934</weak>
+ <size>617</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/cloning_2.cpp</string>
+ <string>../../../../boost/exception/errinfo_errno.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>cloning and re-throwing an exception</string>
+ <string>boost/exception/errinfo_errno.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>cloning_and_rethrowing</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>62</id>
+ <id>64</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2651,9 +2760,9 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>2F432507CFD796BE673F33D9AC68C535F1ED1F4FCD3A8E3AEEC320D9795FB4AE</strong>
- <weak>2319362875</weak>
- <size>2574</size>
+ <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+ <weak>4080542391</weak>
+ <size>9174</size>
                                                                                                                                                         <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
@@ -2661,14 +2770,14 @@
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/get_error_info.hpp</string>
+ <string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/get_error_info.hpp</string>
+ <string>boost/exception/exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2686,7 +2795,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>63</id>
+ <id>65</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2695,21 +2804,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+ <weak>2587249979</weak>
+ <size>233</size>
+ <position>323</position>
+ <strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
+ <weak>2372475309</weak>
+ <size>70</size>
+ <position>157</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/errinfo_at_line.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>transporting of exceptions between threads</string>
+ <string>errinfo_at_line</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>tutorial_exception_ptr</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2724,7 +2844,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>64</id>
+ <id>66</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2733,36 +2853,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>3</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
- <position>323</position>
- <strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
- <weak>1693870740</weak>
- <size>2195</size>
- <position>3702</position>
- <strong>DA154372D8C23BD9EDC30005CA7959CE686D198891097A837D006B5222F04DE9</strong>
- <weak>2768248809</weak>
- <size>143</size>
- <position>60</position>
+ <size>2</size>
+ <strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
+ <weak>2728032055</weak>
+ <size>406</size>
+ <position>344</position>
+ <strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
+ <weak>1009590890</weak>
+ <size>92</size>
+ <position>308</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception::exception</string>
+ <string>errinfo_file_open_mode</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>exception_constructors</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2777,7 +2893,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>65</id>
+ <id>67</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2787,28 +2903,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
- <strong>CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414</strong>
- <weak>1114955626</weak>
- <size>11770</size>
- <position>723</position>
- <strong>6B3B617AC518A2177BDB89656E726B4E4D79577E289130493A61BAE24FB64838</strong>
- <weak>3173127726</weak>
- <size>1101</size>
- <position>2184</position>
+ <strong>126BB1D8971585CBE7D78EF3C12259D72FD5E973A84626AA9FC3234220A11CAB</strong>
+ <weak>3471702891</weak>
+ <size>969</size>
+ <position>344</position>
+ <strong>A7FD310E1340E103081DA2A7899DA0E213C696C84D52C17ADA09F6942EE97D47</strong>
+ <weak>2978648279</weak>
+ <size>530</size>
+ <position>433</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception_ptr.hpp</string>
+ <string>../../../../boost/exception/detail/error_info_impl.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>unknown_exception</string>
+ <string>error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2826,7 +2942,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>66</id>
+ <id>68</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2835,29 +2951,33 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>D57BF77EE44CD2755E24A56DDC3E159716D04A7ABE009AE977D4926EFEC00F73</strong>
- <weak>2498368808</weak>
- <size>973</size>
- <position>3941</position>
- <strong>9432C669E21C649A86AC6DC5A34275B483A7D2D38118A462DF1C1CD7BBE5ED51</strong>
- <weak>2535426829</weak>
- <size>441</size>
- <position>110</position>
+ <size>3</size>
+ <strong>DA1CAA5F6BAB712AD89E8A0B7D83961FCE4AF9FD198791C9F6EA299800A64FAC</strong>
+ <weak>3553871704</weak>
+ <size>612</size>
+ <position>1496</position>
+ <strong>154AC930BD1FDCADE24CDB07DBD3163CA26378AF4F1D428C34B67D1F68A60891</strong>
+ <weak>50905072</weak>
+ <size>586</size>
+ <position>23</position>
+ <strong>CD1241D84950468704F3C3F04116B8DA5162A8BEA4364F10951232F49113C5DE</strong>
+ <weak>1658463867</weak>
+ <size>121</size>
+ <position>453</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
+ <string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>current_exception_diagnostic_information</string>
+ <string>configuration macros</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2875,7 +2995,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>67</id>
+ <id>69</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2884,41 +3004,36 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>D194983FA4C182AB869F1AB542797B3EDCCBAEB0A6E67B2DCEE5EA2C7F58853C</strong>
- <weak>1308852571</weak>
- <size>395</size>
- <position>307</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../example/cloning_1.cpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>using enable_current_exception at the time of the throw</string>
+ <string>transporting of arbitrary data to the catch site</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>using_enable_cloning</string>
+ <string>tutorial_transporting_data</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>68</id>
+ <id>70</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2927,29 +3042,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
- <weak>1668435395</weak>
- <size>1332</size>
- <position>396</position>
- <strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
- <weak>3879093659</weak>
- <size>1300</size>
- <position>26</position>
+ <size>1</size>
+ <strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
+ <weak>561674611</weak>
+ <size>417</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/info_tuple.hpp</string>
+ <string>../../../../boost/exception/errinfo_file_name.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>tuple/operator&lt;&lt;</string>
+ <string>boost/exception/errinfo_file_name.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2967,7 +3078,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>69</id>
+ <id>71</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -2976,18 +3087,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <strong>641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1</strong>
+ <weak>4248389286</weak>
+ <size>4113</size>
+ <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception/info.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>using virtual inheritance in exception types</string>
+ <string>boost/exception/info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2998,57 +3116,14 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>70</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
- <weak>1875939463</weak>
- <size>529</size>
- <position>382</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../example/error_info_1.cpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
- </hook>
- <title>
- <string>adding of arbitrary data at the point of the throw</string>
- </title>
- <file_name>
- <string>adding_data_at_throw</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>(:include include:)&#10;&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>71</id>
+ <id>72</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3058,9 +3133,9 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>283AE6BE0920B1882100C426958FDF998DEE10226546B300B45C1A26B242FC25</strong>
- <weak>722381934</weak>
- <size>617</size>
+ <strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
+ <weak>4175717823</weak>
+ <size>328</size>
                                                                                                                                                         <position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
@@ -3068,14 +3143,14 @@
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_errno.hpp</string>
+ <string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/errinfo_errno.hpp</string>
+ <string>boost/exception/errinfo_type_info_name.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -3093,7 +3168,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>72</id>
+ <id>73</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3103,24 +3178,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
- <weak>4080542391</weak>
- <size>9174</size>
- <position>323</position>
+ <strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
+ <weak>2258638601</weak>
+ <size>94</size>
+ <position>227</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
+ <string>../../../../boost/exception/info_tuple.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/exception.hpp</string>
+ <string>boost/exception/info_tuple.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -3138,7 +3213,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>73</id>
+ <id>74</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3147,32 +3222,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
- <weak>1615599655</weak>
- <size>68</size>
- <position>227</position>
- <strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
- <weak>805836816</weak>
- <size>66</size>
- <position>1</position>
+ <size>1</size>
+ <strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
+ <weak>2883671483</weak>
+ <size>311</size>
+ <position>306</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/error_info.hpp</string>
+ <string>../../example/logging.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>boost/exception/error_info.hpp</string>
+ <string>diagnostic information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>tutorial_diagnostic_information</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -3187,7 +3258,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>74</id>
+ <id>75</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3196,32 +3267,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>02F77B8305279514F37A75FA6454AE750E04E7AA7934D395EFB52BCC7642965E</strong>
- <weak>430535365</weak>
- <size>3379</size>
- <position>560</position>
- <strong>D08B74734CDA5115D9E47783E2994C2836BE241FB25E589BB4C67F2596727C03</strong>
- <weak>24341149</weak>
- <size>3347</size>
- <position>26</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/diagnostic_information.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>diagnostic_information</string>
+ <string>Synopsis</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>synopsis</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -3236,7 +3296,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>75</id>
+ <id>76</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3245,32 +3305,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
- <weak>2587249979</weak>
- <size>233</size>
- <position>323</position>
- <strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
- <weak>2372475309</weak>
- <size>70</size>
- <position>157</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../../../boost/exception/errinfo_at_line.hpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_at_line</string>
+ <string>Headers</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>headers</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -3285,7 +3334,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>76</id>
+ <id>77</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -3294,29 +3343,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
- <weak>2728032055</weak>
- <size>406</size>
- <position>344</position>
- <strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
- <weak>1009590890</weak>
- <size>92</size>
- <position>308</position>
+ <size>1</size>
+ <strong>F812D8AE60189369CED7A3FD72733A65B57D56637E6721867F52A82EB319731A</strong>
+ <weak>3974553696</weak>
+ <size>1432</size>
+ <position>352</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
+ <string>../../example/errinfos.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>errinfo_file_open_mode</string>
+ <string>errinfos example</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -3325,9 +3370,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -3337,13 +3380,13 @@
                                                         <pair>
                                                                 <string>def</string>
                                                                 <shared_ptr>
- <id>77</id>
+ <id>78</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -3352,45 +3395,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>9</size>
- <variant>2</variant>
- <string>[@template &lt;class Tag,class T&gt;&#10;class&#10;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&#10; {&#10; public:&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-55</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-60</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10; };@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3511,7 +3516,36 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>7</size>
+ <variant>2</variant>
+ <string>[@class&#10;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&#10; {&#10; protected:&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-42</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-11</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10; };@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3610,6 +3644,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@typedef </string>
@@ -3617,16 +3662,16 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&lt;struct errinfo_file_name_,std::string&gt; </string>
+ <string>&lt;struct errinfo_api_function_,int&gt; </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-25</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3637,7 +3682,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-26</id>
+ <id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3648,7 +3693,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-27</id>
+ <id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3659,7 +3704,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-28</id>
+ <id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3670,7 +3715,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-29</id>
+ <id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3681,47 +3726,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
- <variant>2</variant>
- <string>[@class&#10;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&#10; {&#10; protected:&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-64</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10; };@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
+ <id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3743,7 +3748,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3800,7 +3805,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@typedef </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&lt;struct errinfo_file_handle_,weak_ptr&lt;FILE&gt; &gt; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3906,18 +3931,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-47</id>
+ <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3928,16 +3942,16 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&lt;struct errinfo_api_function_,int&gt; </string>
+ <string>&lt;struct errinfo_type_info_name_,std::string&gt; </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-48</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3948,7 +3962,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-48</id>
+ <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3959,7 +3973,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-49</id>
+ <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3970,7 +3984,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-50</id>
+ <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3996,27 +4010,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@typedef </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&lt;struct errinfo_type_info_name_,std::string&gt; </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-52</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>;@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4034,6 +4028,17 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
+ <id>-47</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
                                                                                                                 <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -4049,7 +4054,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@typedef </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&lt;struct errinfo_file_name_,std::string&gt; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-55</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4093,27 +4118,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@typedef </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&lt;struct errinfo_file_handle_,weak_ptr&lt;FILE&gt; &gt; </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-59</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>;@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4179,7 +4184,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@typedef </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&lt;struct errinfo_at_line_,int&gt; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-65</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4190,7 +4215,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@typedef </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&lt;struct errinfo_file_open_mode_,std::string&gt; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-66</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4201,7 +4246,45 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>9</size>
+ <variant>2</variant>
+ <string>[@template &lt;class Tag,class T&gt;&#10;class&#10;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&#10; {&#10; public:&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10; };@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4289,27 +4372,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@typedef </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&lt;struct errinfo_at_line_,int&gt; </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-75</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>;@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4320,27 +4383,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@typedef </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&lt;struct errinfo_file_open_mode_,std::string&gt; </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-76</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>;@]&#10;</string>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -4350,13 +4404,13 @@
                                                         <pair>
                                                                 <string>api</string>
                                                                 <shared_ptr>
- <id>78</id>
+ <id>79</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -4387,18 +4441,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-25</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> def:)@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4409,49 +4452,74 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>13</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> def:)&#10;&#10;(:include </string>
+ <string> decl:)&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
+ <string> decl:)&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-53</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>[@(:include </string>
+ <string> decl:)&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-52</id>
+ <id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> def:)@]&#10;</string>
+ <string> decl:)&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-33</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4473,18 +4541,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4495,7 +4552,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-65</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4517,18 +4585,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-75</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> def:)@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4590,20 +4647,20 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-28</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)&#10;&#10;namespace&#10;boost&#10; {&#10;(:include </string>
+ <string> decl:)&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)&#10; }@]&#10;</string>
+ <string> decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4647,7 +4704,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4658,27 +4726,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-74</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-66</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4711,59 +4759,14 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>13</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4855,9 +4858,20 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
- </container>
- </pair>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)@]&#10;</string>
+ </container>
+ </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -4877,7 +4891,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-28</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4899,7 +4924,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4910,6 +4946,116 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-41</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-42</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-44</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-45</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-48</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-49</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-46</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-51</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>29</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@#include &lt;(:link </string>
@@ -4917,7 +5063,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-24</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4926,7 +5072,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4935,7 +5081,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4944,7 +5090,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-62</id>
+ <id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4953,7 +5099,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4962,7 +5108,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4971,7 +5117,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4980,7 +5126,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4989,7 +5135,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4998,7 +5144,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5007,7 +5153,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-53</id>
+ <id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5016,7 +5162,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5025,7 +5171,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-41</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5034,7 +5180,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5045,7 +5191,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-41</id>
+ <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5056,40 +5202,29 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-76</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> def:)@]&#10;</string>
+ <string> decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5100,18 +5235,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-44</id>
+ <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-49</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)&#10;&#10;namespace&#10;boost&#10; {&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-57</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-45</id>
+ <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5122,7 +5277,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5133,7 +5288,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5144,18 +5299,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-48</id>
+ <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-66</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-49</id>
+ <id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5166,40 +5332,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-50</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-51</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-52</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-53</id>
+ <id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5210,18 +5343,18 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-59</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> def:)@]&#10;</string>
+ <string> decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-54</id>
+ <id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5232,7 +5365,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-55</id>
+ <id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5243,7 +5376,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-56</id>
+ <id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5254,132 +5387,69 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)@]&#10;</string>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-57</id>
+ <id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>11</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-45</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-58</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
+ <string> def:)&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>[@(:include </string>
+ <string> decl:)&#10;&#10;typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> def:)@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-59</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-60</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-61</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-62</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
+ <string>:)&lt;struct throw_function_,char const *&gt; throw_function;&#10;typedef (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>[@(:include </string>
+ <string>:)&lt;struct throw_file_,char const *&gt; throw_file;&#10;typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl:)@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-63</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-64</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:)&lt;struct throw_line_,int&gt; throw_line;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5445,17 +5515,6 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-71</id>
- </shared_ptr>
- </weak_ptr>
- <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
@@ -5463,7 +5522,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5474,18 +5533,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-72</id>
+ <id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>11</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5494,38 +5553,33 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl:)&#10;&#10;typedef (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct throw_function_,char const *&gt; throw_function;&#10;typedef (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
+ <string> decl:)@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-72</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct throw_file_,char const *&gt; throw_file;&#10;typedef (:link </string>
+ <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-48</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct throw_line_,int&gt; throw_line;@]&#10;</string>
+ <string> def:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5543,7 +5597,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5583,6 +5637,17 @@
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
                                                                                 </sorted>
                                                                         </object>
                                                                 </shared_ptr>
@@ -5590,13 +5655,13 @@
                                                         <pair>
                                                                 <string>decl</string>
                                                                 <shared_ptr>
- <id>79</id>
+ <id>80</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -5605,18 +5670,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template &lt;class Tag,class T&gt;&#10;class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:);@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5627,7 +5681,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@template &lt;class T&gt;&#10;---unspecified--- (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)( T const &amp; x );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5649,14 +5714,34 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@typedef (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;struct tag_original_exception_type,std::type_info const *&gt; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>;@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5682,7 +5767,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-11</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:)();@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5704,7 +5800,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@template &lt;class T&gt;&#10;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-53</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)( T const &amp; e );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5737,7 +5853,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@class (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:);@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5748,9 +5875,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>[@typedef ---unspecified--- (:link </string>
+ <string>[@(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-53</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5759,7 +5895,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:);@]&#10;</string>
+ <string>:)();@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5770,7 +5906,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:)( (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:) const &amp; v );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5792,27 +5948,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@typedef (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&lt;struct tag_original_exception_type,std::type_info const *&gt; </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-20</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>;@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5834,18 +5970,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>:) (:link </string>
+ <string>[@template &lt;class E&gt;&#10;E * </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5854,7 +5981,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();@]&#10;</string>
+ <string>();@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5865,27 +5992,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@template &lt;class ErrorInfo,class E&gt;&#10;typename ErrorInfo::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-55</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;m&quot;:) const * (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( E const &amp; x );@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -5940,150 +6047,153 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>19</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#if !defined( BOOST_EXCEPTION_DISABLE )&#10; #include &lt;(:link </string>
+ <string>[@template &lt;class T&gt;&#10;---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10; #include &lt;boost/current_function.hpp&gt;&#10; #define (:link </string>
+ <string>:)( T const &amp; e );@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-29</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@typedef T (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-28</id>
+ <id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(x)\&#10; ::boost::(:link </string>
+ <string> mod=&quot;m&quot;:);@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@class&#10;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( ::boost::(:link </string>
+ <string>:):&#10; public std::exception&#10; public boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(x) &lt;&lt;\&#10; ::boost::(:link </string>
+ <string>&#10; {&#10; ---unspecified---&#10; };@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-32</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-33</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@void (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|throw_function:)(BOOST_CURRENT_FUNCTION) &lt;&lt;\&#10; ::boost::(:link </string>
+ <string>:)( (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|throw_file:)(__FILE__) &lt;&lt;\&#10; ::boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-72</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|throw_line:)((int)__LINE__) )&#10;#else&#10; #define (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-28</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)(x) ::boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(x)&#10;#endif@]&#10;</string>
+ <string>:) const &amp; ep );</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-29</id>
+ <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-29</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;m&quot;:)( (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-55</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;m&quot;:) const &amp; v );@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-30</id>
+ <id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@class (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:);@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6094,7 +6204,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-32</id>
+ <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6105,7 +6215,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6116,7 +6226,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-34</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6127,159 +6237,111 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
- <string>[@#ifdef BOOST_NO_EXCEPTIONS&#10; void (:link </string>
+ <string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( std::exception const &amp; e ); // user defined&#10;#else&#10; template &lt;class E&gt;&#10; void (:link </string>
+ <string> mod=&quot;m&quot;:) const &amp; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-40</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( E const &amp; e );&#10;#endif@]&#10;</string>
+ <string> mod=&quot;m&quot;:)() const;@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>[@void (:link </string>
+ <string>[@template &lt;class E, class Tag1, class T1, ..., class TagN, class TN&gt;&#10;E const &amp; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( (:link </string>
+ <string> mod=&quot;/&quot;:)( E const &amp; x,&#10; (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)&lt;&#10; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) const &amp; ep );</string>
+ <string>:)&lt;Tag1,T1&gt;,&#10; ...,&#10; (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;TagN,TN&gt; &gt; const &amp; v );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>[@template &lt;class T&gt;&#10;(:link </string>
+ <string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) (:link </string>
+ <string> mod=&quot;m&quot;:)();&#10;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( T const &amp; e );@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template &lt;class T&gt;&#10;---unspecified--- (:link </string>
+ <string> mod=&quot;m&quot;:)( (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( T const &amp; x );@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-42</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:) const &amp; x );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6290,9 +6352,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>[@(:link </string>
+ <string>[@template &lt;class E, class Tag, class T&gt;&#10;E const &amp; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6301,47 +6363,23 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)();@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-44</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-45</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@template &lt;class E&gt;&#10;E * </string>
+ <string> mod=&quot;/&quot;:)( E const &amp; x, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-45</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>();@]&#10;</string>
+ <string>:)&lt;Tag,T&gt; const &amp; v );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6352,7 +6390,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6378,67 +6416,119 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>19</size>
                                                                                                         <variant>2</variant>
- <string>[@template &lt;class T&gt;&#10;---unspecified--- (:link </string>
+ <string>[@#if !defined( BOOST_EXCEPTION_DISABLE )&#10; #include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)( T const &amp; e );@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-50</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@template &lt;class E, class Tag, class T&gt;&#10;E const &amp; (:link </string>
+ <string>:)&gt;&#10; #include &lt;boost/current_function.hpp&gt;&#10; #define (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:)( E const &amp; x, (:link </string>
+ <string>:)(x)\&#10; ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt; const &amp; v );@]&#10;</string>
- </container>
- </pair>
+ <string>:)( ::boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(x) &lt;&lt;\&#10; ::boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-64</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|throw_function:)(BOOST_CURRENT_FUNCTION) &lt;&lt;\&#10; ::boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-64</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|throw_file:)(__FILE__) &lt;&lt;\&#10; ::boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-64</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>|throw_line:)((int)__LINE__) )&#10;#else&#10; #define (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-49</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(x) ::boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-57</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)(x)&#10;#endif@]&#10;</string>
+ </container>
+ </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-51</id>
+ <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@std::string (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)();@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-52</id>
+ <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6449,7 +6539,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-53</id>
+ <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6460,7 +6550,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-54</id>
+ <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6471,29 +6561,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-55</id>
+ <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@typedef T (:link </string>
+ <string>[@typedef ---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-55</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:);@]&#10;</string>
+ <string>:);@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-56</id>
+ <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6504,7 +6594,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-57</id>
+ <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6515,7 +6605,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-58</id>
+ <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6526,49 +6616,69 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-59</id>
+ <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@template &lt;class ErrorInfo,class E&gt;&#10;typename ErrorInfo::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:) const * (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-56</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)( E const &amp; x );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-60</id>
+ <id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
- <string>[@(:link </string>
+ <string>[@#ifdef BOOST_NO_EXCEPTIONS&#10; void (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-55</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:) const &amp; (:link </string>
+ <string>:)( std::exception const &amp; e ); // user defined&#10;#else&#10; template &lt;class E&gt;&#10; void (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-60</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)() const;@]&#10;</string>
+ <string>:)( E const &amp; e );&#10;#endif@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-61</id>
+ <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6579,7 +6689,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-62</id>
+ <id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6590,7 +6700,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-63</id>
+ <id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6601,100 +6711,69 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-64</id>
+ <id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>7</size>
                                                                                                         <variant>2</variant>
- <string>[@(:link </string>
+ <string>[@template &lt;class E&gt;&#10;std::string (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-64</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)();&#10;(:link </string>
+ <string>:)( E const &amp; e );&#10;&#10;std::string (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-64</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)( (:link </string>
+ <string>:)( </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) const &amp; x );@]&#10;</string>
+ <string> const &amp; p );@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-65</id>
+ <id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@class&#10;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-65</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:):&#10; public std::exception&#10; public boost::</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&#10; {&#10; ---unspecified---&#10; };@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-66</id>
+ <id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@std::string (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-66</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)();@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-67</id>
+ <id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6705,40 +6784,55 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-68</id>
+ <id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
- <variant>2</variant>
- <string>[@template &lt;class E, class Tag1, class T1, ..., class TagN, class TN&gt;&#10;E const &amp; (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;/&quot;:)( E const &amp; x,&#10; (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)&lt;&#10; (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-66</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag1,T1&gt;,&#10; ...,&#10; (:link </string>
+ <string>[@template &lt;class Tag,class T&gt;&#10;class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;TagN,TN&gt; &gt; const &amp; v );@]&#10;</string>
+ <string>:);@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-68</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6804,36 +6898,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
- <variant>2</variant>
- <string>[@template &lt;class E&gt;&#10;std::string (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-74</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( E const &amp; e );&#10;&#10;std::string (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-74</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)( </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> const &amp; p );@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6858,6 +6923,17 @@
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
                                                                                 </sorted>
                                                                         </object>
                                                                 </shared_ptr>
@@ -6865,13 +6941,13 @@
                                                         <pair>
                                                                 <string>include</string>
                                                                 <shared_ptr>
- <id>80</id>
+ <id>81</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -6880,316 +6956,301 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>41</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must have accessible copy constructor and must not be a reference (there is no requirement that T&apos;s copy constructor does not throw.)&#10;&#10;!!!!Description:&#10;&#10;This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&lt;Tag,T&gt; can be passed to (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-50</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;/&quot;:) to be stored in objects of type boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;!!!!Usage:&#10;&#10;The header &lt;(:link </string>
+ <string>(:auto !!!:)&#10;&#10;Exception types should use virtual inheritance when deriving from other exception types. This insight is due to Andrew Koenig. Using virtual inheritance prevents ambiguity problems in the exception handler:&#10;&#10;[@#include &lt;iostream&gt;&#10;struct my_exc1 : std::exception { char const* what() const throw(); };&#10;struct my_exc2 : std::exception { char const* what() const throw(); };&#10;struct your_exc3 : my_exc1, my_exc2 {};&#10;&#10;int&#10;main()&#10; {&#10; try { throw your_exc3(); }&#10; catch(std::exception const&amp; e) {}&#10; catch(...) { std::cout &lt;&lt; &quot;whoops!&quot; &lt;&lt; std::endl; }&#10; }@]&#10;&#10;The program above outputs &quot;whoops!&quot; because the conversion to std::exception is ambiguous.&#10;&#10;The overhead introduced by virtual inheritance is always negligible in the context of exception handling. Note that virtual bases are initialized directly by the constructor of the most-derived-type (the type pass
ed to the throw statement, in case of exceptions.) However, typically this detail is of no concern when boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt; provides a declaration of the (:link </string>
+ <string>:) is used, because it enables exception types to be trivial structs with no members (there&apos;s nothing to initialize.) See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, for example:&#10;&#10;[@#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-73</id>
- </shared_ptr>
- </weak_ptr>
+ <string> mod=&quot;w&quot;:).&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;struct tag_errno;&#10;typedef boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor as per (15.5.1).&#10;&#10;!!!!Returns:&#10;&#10;* If T derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;tag_errno,int&gt; errno_info;@]&#10;&#10;Or, the shorter equivalent:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:), the returned object is of type T and is a copy of x.&#10;* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;typedef boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:). The T sub-object is initialized from x by the T copy constructor.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-7</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_errno,int&gt; errno_info;@]&#10;&#10;This errno_info typedef can be passed to (:link </string>
+ <string>!!!!Example:&#10;&#10;this is a possible output from the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:) (#include &lt;(:link </string>
+ <string>:) function, as used in &apos;&apos;libs/exception/example/example_io.cpp:&apos;&apos;&#10;&#10;[@example_io.cpp(70): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *)&#10;Dynamic exception type: class boost::exception_detail::clone_impl&lt;struct fopen_error&gt;&#10;std::exception::what: example_io error&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt; first) to store an int named tag_errno in exceptions of types that derive from boost::(:link </string>
+ <string>:)_ *] = fopen&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@throw file_read_error() (:link </string>
+ <string>:)_ *] = 2, &quot;No such file or directory&quot;&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) errno_info(errno);@]&#10;&#10;It can also be passed to (:link </string>
+ <string>:)_ *] = tmp1.txt&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) (#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-62</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:)_ *] = rb@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>9</size>
                                                                                                         <variant>2</variant>
- <string>:)&gt; first) to retrieve the tag_errno int from a boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@catch( boost::(:link </string>
+ <string> typedef is used by </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; x )&#10; {&#10; if( int const * e=boost::(:link </string>
+ <string> if it defaults to returning an </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;errno_info&gt;(x) )&#10; ....&#10; }@]&#10;&#10;For convenience and uniformity, Boost Exception defines the following commonly used (:link </string>
+ <string> that refers to an object of type </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) typedefs, ready for use with (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-50</id>
- </shared_ptr>
- </weak_ptr>
+ <string>, to record in it the std::type_info of the original exception object.</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:):&#10;&#10;(:pagelist tags=&quot;error_info_instance&quot;:)&#10;</string>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-6</id>
+ <id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>19</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Boost Exception responds to the following configuration macros:&#10;&#10;&apos;&apos;&apos;BOOST_NO_RTTI&apos;&apos;&apos;\\&#10;&apos;&apos;&apos;BOOST_NO_TYPEID&apos;&apos;&apos;&#10;&#10;The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:&#10;&#10;-&gt;By default, the (:link </string>
+ <string>(:auto !!!:)&#10;&#10;The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
+ <string>:)&gt;&#10;#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can be used only with objects of type boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;!!!!Note:&#10;&#10;The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.&#10;&#10;&apos;&apos;&apos;BOOST_EXCEPTION_DISABLE&apos;&apos;&apos;&#10;&#10;By default, (:link </string>
+ <string>:)&gt;&#10;#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and (:link </string>
+ <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)&lt;boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are integrated directly in the (:link </string>
+ <string>:),boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.&#10;&#10;Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
+ <string>:)&gt; clib_failure;&#10;&#10;struct file_open_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;&apos;&apos;&apos;BOOST_NO_EXCEPTIONS&apos;&apos;&apos;&#10;&#10;This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
+ <string>:) { };&#10;&#10;boost::shared_ptr&lt;FILE&gt;&#10;file_open( char const * name, char const * mode )&#10; {&#10; if( FILE * f=fopen(name,mode) )&#10; return boost::shared_ptr&lt;FILE&gt;(f,fclose);&#10; else&#10; throw file_open_error() &lt;&lt;&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
+ <string>:)(name) &lt;&lt;&#10; clib_failure(&quot;fopen&quot;,errno);&#10; }@]&#10;&#10;Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)&#10;</string>
+ <string>:).&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-7</id>
+ <id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string>(:auto !!!:)&#10;&#10;(:include decl:)&#10;&#10;!!!!Effects:&#10;&#10;&#10;&#10;Frees all resources associated with a boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>:) object.&#10;&#10;!!!!Throws:&#10;&#10;&#10;&#10;Nothing.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-9</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7202,156 +7263,129 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-10</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>11</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;All exception types that derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types.&#10;&#10;When exceptions derive from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:), arbitrary data can be added to exception objects:&#10;&#10;*At the point of the throw;&#10;*At a later time as exceptions bubble up the call stack.&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-70</id>
- </shared_ptr>
- </weak_ptr>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>:)&#10;(:include </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Effects:&#10;&#10;As if&#10;&#10;[@try&#10; {&#10; throw </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-51</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;(:include </string>
+ <string>(e);&#10; }&#10;catch(...)&#10; {&#10; return (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-33</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;</string>
+ <string>:)();&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>(:auto !:)&#10;&#10;This is an alphabetical list of all Boost Exception documentation pages.&#10;&#10;(:pagelist fmt=&quot;index&quot; except_tags=&quot;index noindex&quot; mod=&quot;w&quot;:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>19</size>
+ <size>79</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Boost Exception provides a namespace-scope function (:link </string>
+ <string>(:auto !!:)&#10;&#10;!!!Why doesn&apos;t boost::exception derive from std::exception?&#10;&#10;Despite that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) which takes a boost::(:link </string>
+ <string>|virtual inheritance should be used in deriving from base exception types:), many programmers fail to follow this principle when deriving from std::exception. If boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). The returned string contains:&#10;&#10;*the string representation of all data objects added to the boost::(:link </string>
+ <string>:) derives from std::exception, using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) through (:link </string>
+ <string>:) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &amp;) statements.&#10;&#10;Of course, boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:);&#10;*the output from std::exception::what;&#10;*additional platform-specific diagnostic information.&#10;&#10;The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)&#10;&#10;!!!Why is boost::exception abstract?&#10;&#10;To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;void f(); //throws unknown types that derive from boost::(:link </string>
+ <string>:) to an active exception object:&#10;&#10;[@catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; boost::(:link </string>
+ <string>:) &amp; e )&#10; {&#10; e (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; std::cerr &lt;&lt; (:link </string>
+ <string>|&lt;&lt;:) foo_info(foo);&#10; throw e; //Compile error: boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(e);&#10; }&#10; }@]&#10;&#10;(:include </string>
+ <string>:) is abstract&#10; }@]&#10;&#10;The correct code is:&#10;&#10;[@catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -7360,450 +7394,411 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>73</size>
- <variant>2</variant>
- <string>!!Synopsis&#10;&#10;List of documented definitions, declarations and includes by header file:&#10;&#10;`#include &lt;(:link </string>
+ <string>:) &amp; e )&#10; {&#10; e (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>|&lt;&lt;:) foo_info(foo);&#10; throw; //Okay, re-throwing the original exception object.&#10; }@]&#10;&#10;!!!What is the space overhead of the boost::exception base class?&#10;&#10;The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:) does not by itself cause dynamic memory allocations.&#10;&#10;Deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.&#10;&#10;!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?&#10;&#10;The benefit of calling boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) and that it is compatible with boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:).&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) macro also results in a call to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) to compose a more useful, if not user-friendly message.&#10;&#10;Typical use of boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:) is:&#10;&#10;[@catch( boost::exception &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;OMG!&quot; &lt;&lt; boost::diagnostic_information(e);&#10; }&#10;catch( ... )&#10; {&#10; std::cerr &lt;&lt; &quot;OMG!!!&quot;;&#10; }@]&#10;&#10;This is a possible message it may display, the first line is only possible if (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-24</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) is used:&#10;&#10;[@example_io.cpp(70): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *)&#10;Dynamic exception type: class boost::exception_detail::clone_impl&lt;class fopen_error&gt;&#10;std::exception::what: example_io error&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-24</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:)_ *] = fopen&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-57</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:)_ *] = 2, &quot;No such file or directory&quot;&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-57</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:)_ *] = tmp1.txt&#10;[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:)_ *] = rb@]&#10;!!!Why is boost::exception integrated in boost::throw_exception?&#10;&#10;The boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:) function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-56</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:) as a base of any exception passed to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-56</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
+ <string>:). Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.&#10;&#10;The problem is that users of Boost Exception can&apos;t by themselves cause a library to throw types that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include </string>
+ <string>:), and without this they can&apos;t use any of the Boost Exception facilities.&#10;&#10;For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)@]&#10;&#10;`#include &lt;</string>
+ <string>:), but this requires that Boost Serialization throws exceptions using boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:). If Boost Serialization calls boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>:) to throw, this behavior happens automatically and transparently.&#10;&#10;The cost of this integration is:&#10;&#10;* In terms of space: a pointer and 3 ints are added to the static size of exception objects.&#10;* In terms of speed: the pointer is initialized to null at the point of the throw.&#10;* In terms of coupling: about 400 self-contained lines of C++ with no external includes.&#10;&#10;!!!Why use operator&lt;&lt; overload for adding info to exceptions?&#10;&#10;Before throwing an object of type that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:), it is often desirable to add one or more (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>:) objects in it. The syntactic sugar provided by (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:) allows this to be done directly in a throw expression:&#10;&#10;[@throw error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>|&lt;&lt;:) foo_info(foo) (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-53</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>|&lt;&lt;:) bar_info(bar);@]&#10;&#10;which saves typing compared to this possible alternative:&#10;&#10;[@error e;&#10;e.add(foo_info(foo));&#10;e.add(bar_info(bar));&#10;throw e;@]&#10;&#10;and looks better than something like:&#10;&#10;[@throw error().add(foo_info(foo)).add(bar_info(bar));@]&#10;&#10;!!!Why is operator&lt;&lt; allowed to throw?&#10;&#10;This question is referring to the following issue. Consider this throw statement example:&#10;&#10;[@throw file_open_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-53</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>|&lt;&lt;:) file_name(fn);@]&#10;&#10;The intention here is to throw a file_open_error, however if (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string> mod=&quot;/&quot;:) fails to copy the std::string contained in the file_name (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>:) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.&#10;&#10;Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:&#10;&#10;-&gt;&apos;&apos;&quot;Throwing an exception requires an object to throw. A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion. However, it is possible that throwing some other exception will cause memory exhaustion.&quot;&apos;&apos;&#10;&#10;So, an attempt to throw any exception may already result in propagating std::bad_alloc instead.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>13</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;Class boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-41</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:) is designed to be used as a universal base for user-defined exception types.&#10;&#10;An object of any type deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-41</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string>:) can store data of arbitrary types, using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:) wrapper and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <string> mod=&quot;/&quot;:).&#10;&#10;To retrieve data from a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>:) object, use the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>:) function template.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>33</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;This header has been deprecated.&#10;&#10;Please #include &lt;</string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt; instead.</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>11</size>
- <variant>2</variant>
- <string>!!!!Example:&#10;&#10;this is a possible output from the (:link </string>
+ <string>:) function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;* An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function, as used in &apos;&apos;libs/exception/example/example_io.cpp:&apos;&apos;&#10;&#10;[@example_io.cpp(70): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *)&#10;Dynamic exception type: class boost::exception_detail::clone_impl&lt;struct fopen_error&gt;&#10;std::exception::what: example_io error&#10;[struct boost::(:link </string>
+ <string>:) that refers to the currently handled exception or a copy of the currently handled exception.&#10;* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = fopen&#10;[struct boost::(:link </string>
+ <string>:) that refers to an instance of std::bad_alloc.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Notes:&#10;&#10;* It is unspecified whether the return values of two successive calls to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = 2, &quot;No such file or directory&quot;&#10;[struct boost::(:link </string>
+ <string>:) refer to the same exception object.&#10;* Correct implementation of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-25</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = tmp1.txt&#10;[struct boost::(:link </string>
+ <string>:) may require compiler support, unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-76</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = rb@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>25</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;The (:link </string>
+ <string>:) was used at the time the currently handled exception object was passed to throw. Whenever </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -7812,776 +7807,944 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link </string>
+ <string> fails to properly copy the current exception object, it returns an </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&apos;s operations do not throw.&#10;&#10;The referenced object remains valid at least as long as there is an (:link </string>
+ <string> to an object of type that is as close as possible to the original exception type, using </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object that refers to it.&#10;&#10;Two instances of (:link </string>
+ <string> as a final fallback. All such types derive from boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are equivalent and compare equal if and only if they refer to the same exception.&#10;&#10;The default constructor of (:link </string>
+ <string>, and:&#10;** if the original exception object derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) produces the null value of the type. The null value is equivalent only to itself.&#10;&#10;!!!!Thread safety&#10;&#10;* It is legal for multiple threads to hold (:link </string>
+ <string>:), then the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) references to the same exception object.&#10;* It is illegal for multiple threads to modify the same (:link </string>
+ <string>:) sub-object of the object referred to by the returned </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object concurrently.&#10;* While calling (:link </string>
+ <string> is initialized by the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call (:link </string>
+ <string>:) copy constructor;&#10;** if available, the exception contains the std::type_info of the original exception object, accessible through </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) concurrently to throw the same exception object into multiple threads.&#10;&#10;!!!!Nesting of exceptions:&#10;&#10;An (:link </string>
+ <string>&lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can be added as (:link </string>
+ <string>&gt;.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Effects:&#10;&#10;Stores a copy of v in the </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to any boost::(:link </string>
+ <string> object.&#10;&#10;(:include throws:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-20</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;This header has been deprecated.&#10;&#10;Please #include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). This is a convenient way to nest exceptions. There is no limit on the depth of the nesting, however cyclic references result in undefined behavior.&#10;</string>
+ <string>&gt; instead.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>79</size>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Why doesn&apos;t boost::exception derive from std::exception?&#10;&#10;Despite that (:link </string>
+ <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;function&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-22</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;This function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;A pointer of type E to the current exception object, or null if the current exception object can not be converted to E *.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-24</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-69</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|virtual inheritance should be used in deriving from base exception types:), many programmers fail to follow this principle when deriving from std::exception. If boost::(:link </string>
+ <string>:) at the time of the throw is required in order to use cloning.&#10;&#10;!!!!Note:&#10;&#10;All exceptions emitted by the familiar function boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) derives from std::exception, using the (:link </string>
+ <string>:) are guaranteed to derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &amp;) statements.&#10;&#10;Of course, boost::(:link </string>
+ <string>:) and to support cloning.&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-25</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)&#10;&#10;!!!Why is boost::exception abstract?&#10;&#10;To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link </string>
+ <string>:)&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to an active exception object:&#10;&#10;[@catch( boost::(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-25</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>15</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Here is how cloning can be enabled in a throw-expression (15.1):&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e (:link </string>
+ <string>:)&gt;&#10;#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) foo_info(foo);&#10; throw e; //Compile error: boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;struct file_read_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is abstract&#10; }@]&#10;&#10;The correct code is:&#10;&#10;[@catch( boost::(:link </string>
+ <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e (:link </string>
+ <string>:)(file_read_error()) &lt;&lt;&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) foo_info(foo);&#10; throw; //Okay, re-throwing the original exception object.&#10; }@]&#10;&#10;!!!What is the space overhead of the boost::exception base class?&#10;&#10;The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::(:link </string>
+ <string>:)(errno);&#10; }@]&#10;&#10;Of course, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) does not by itself cause dynamic memory allocations.&#10;&#10;Deriving from boost::(:link </string>
+ <string>:) may be used with any exception type; there is no requirement that it should derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.&#10;&#10;!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?&#10;&#10;The benefit of calling boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:).&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>:) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and that it is compatible with boost::(:link </string>
+ <string>:) instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;The (:link </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-28</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) macro also results in a call to boost::(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-28</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>21</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;* T must be a class with an accessible no-throw copy constructor.&#10;* If T has any virtual base types, those types must have an accessible default constructor.&#10;&#10;!!!!Returns:&#10;&#10;An object of &apos;&apos;unspecified&apos;&apos; type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &amp;).&#10;&#10;!!!!Description:&#10;&#10;&#10;&#10;This function is designed to be used directly in a throw-expression to enable the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::(:link </string>
+ <string>:) support in Boost Exception. For example:&#10;&#10;[@class&#10;my_exception:&#10; public std::exception&#10; {&#10; };&#10;&#10;....&#10;throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to compose a more useful, if not user-friendly message.&#10;&#10;Typical use of boost::(:link </string>
+ <string>:)(my_exception());@]&#10;&#10;Unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is:&#10;&#10;[@catch( boost::exception &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;OMG!&quot; &lt;&lt; boost::diagnostic_information(e);&#10; }&#10;catch( ... )&#10; {&#10; std::cerr &lt;&lt; &quot;OMG!!!&quot;;&#10; }@]&#10;&#10;This is a possible message it may display, the first line is only possible if (:link </string>
+ <string>:) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-28</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is used:&#10;&#10;[@example_io.cpp(70): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *)&#10;Dynamic exception type: class boost::exception_detail::clone_impl&lt;class fopen_error&gt;&#10;std::exception::what: example_io error&#10;[struct boost::(:link </string>
+ <string>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = fopen&#10;[struct boost::(:link </string>
+ <string>:) which refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = 2, &quot;No such file or directory&quot;&#10;[struct boost::(:link </string>
+ <string>:). See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-25</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = tmp1.txt&#10;[struct boost::(:link </string>
+ <string>:) for details.&#10;&#10;!!!!Note:&#10;&#10;Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-76</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)_ *] = rb@]&#10;!!!Why is boost::exception integrated in boost::throw_exception?&#10;&#10;The boost::(:link </string>
+ <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::(:link </string>
+ <string>:) and supports the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) as a base of any exception passed to boost::(:link </string>
+ <string>:) functionality.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-29</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>19</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let&apos;s say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:&#10;&#10;[@void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error(????);&#10; }@]&#10;&#10;How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.&#10;&#10;Using boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.&#10;&#10;The problem is that users of Boost Exception can&apos;t by themselves cause a library to throw types that derive from boost::(:link </string>
+ <string>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:&#10;&#10;[@`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), and without this they can&apos;t use any of the Boost Exception facilities.&#10;&#10;For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;struct file_read_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), but this requires that Boost Serialization throws exceptions using boost::(:link </string>
+ <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error() &lt;&lt; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). If Boost Serialization calls boost::(:link </string>
+ <string>:)(errno);&#10; }@]&#10;&#10;If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to throw, this behavior happens automatically and transparently.&#10;&#10;The cost of this integration is:&#10;&#10;* In terms of space: a pointer and 3 ints are added to the static size of exception objects.&#10;* In terms of speed: the pointer is initialized to null at the point of the throw.&#10;* In terms of coupling: about 400 self-contained lines of C++ with no external includes.&#10;&#10;!!!Why use operator&lt;&lt; overload for adding info to exceptions?&#10;&#10;Before throwing an object of type that derives from boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;&#10;boost::shared_ptr&lt;FILE&gt; file_open( char const * file_name, char const * mode );&#10;void file_read( FILE * f, void * buffer, size_t size );&#10;&#10;void&#10;parse_file( char const * file_name )&#10; {&#10; boost::shared_ptr&lt;FILE&gt; f = file_open(file_name,&quot;rb&quot;);&#10; assert(f);&#10; try&#10; {&#10; char buf[1024];&#10; file_read( f.get(), buf, sizeof(buf) );&#10; }&#10; catch(&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), it is often desirable to add one or more (:link </string>
+ <string>:) &amp; e )&#10; {&#10; e &lt;&lt; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) objects in it. The syntactic sugar provided by (:link </string>
+ <string>:)(file_name);&#10; throw;&#10; }&#10; }@]&#10;&#10;The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) allows this to be done directly in a throw expression:&#10;&#10;[@throw error() (:link </string>
+ <string>:) object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) foo_info(foo) (:link </string>
+ <string>:) object is that the file name is relevant to any failure that occurs in parse_file, &apos;&apos;even if the failure is unrelated to file I/O&apos;&apos;.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-30</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Definition:&#10;&#10;The expression </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) bar_info(bar);@]&#10;&#10;which saves typing compared to this possible alternative:&#10;&#10;[@error e;&#10;e.add(foo_info(foo));&#10;e.add(bar_info(bar));&#10;throw e;@]&#10;&#10;and looks better than something like:&#10;&#10;[@throw error().add(foo_info(foo)).add(bar_info(bar));@]&#10;&#10;!!!Why is operator&lt;&lt; allowed to throw?&#10;&#10;This question is referring to the following issue. Consider this throw statement example:&#10;&#10;[@throw file_open_error() (:link </string>
+ <string>&lt;Tag,T&gt;::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) file_name(fn);@]&#10;&#10;The intention here is to throw a file_open_error, however if (:link </string>
+ <string> mod=&quot;m&quot;:) evaluates to T.</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is used by the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:) fails to copy the std::string contained in the file_name (:link </string>
+ <string>:) support in Boost Exception. Please see (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.&#10;&#10;Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:&#10;&#10;-&gt;&apos;&apos;&quot;Throwing an exception requires an object to throw. A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion. However, it is possible that throwing some other exception will cause memory exhaustion.&quot;&apos;&apos;&#10;&#10;So, an attempt to throw any exception may already result in propagating std::bad_alloc instead.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>:).&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-20</id>
+ <id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>9</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string> typedef is used by </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> if it defaults to returning an </string>
+ <string>:) instance for transporting a relevant errno value in exceptions deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> that refers to an object of type </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>, to record in it the std::type_info of the original exception object.</string>
+ <string>:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-21</id>
+ <id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !:)&#10;&#10;This is an alphabetical list of all Boost Exception documentation pages.&#10;&#10;(:pagelist fmt=&quot;index&quot; except_tags=&quot;index noindex&quot; mod=&quot;w&quot;:)&#10;</string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Precondition:&#10;&#10;ep shall not be null.&#10;&#10;!!!!Throws:&#10;&#10;&#10;&#10;The exception to which ep refers.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-22</id>
+ <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>33</size>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;The (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
+ <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;type&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-35</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>:) function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;* An (:link </string>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) that refers to the currently handled exception or a copy of the currently handled exception.&#10;* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+ <string>:) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr&lt;FILE&gt; in exceptions deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) that refers to an instance of std::bad_alloc.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Notes:&#10;&#10;* It is unspecified whether the return values of two successive calls to (:link </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) refer to the same exception object.&#10;* Correct implementation of (:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-37</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>37</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;When you catch an exception, you can call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may require compiler support, unless (:link </string>
+ <string>:) to get an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) was used at the time the currently handled exception object was passed to throw. Whenever </string>
+ <string>:) object:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> fails to properly copy the current exception object, it returns an </string>
+ <string>:)&gt;&#10;#include &lt;boost/thread.hpp&gt;&#10;#include &lt;boost/bind.hpp&gt;&#10;&#10;void do_work(); //throws cloning-enabled boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> to an object of type that is as close as possible to the original exception type, using </string>
+ <string>:)s&#10;&#10;void&#10;worker_thread( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> as a final fallback. All such types derive from boost::</string>
+ <string>:) &amp; error )&#10; {&#10; try&#10; {&#10; do_work();&#10; error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>, and:&#10;** if the original exception object derives from boost::(:link </string>
+ <string>:)();&#10; }&#10; catch(&#10; ... )&#10; {&#10; error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), then the boost::(:link </string>
+ <string>:)();&#10; }&#10; }@]&#10;&#10;In the above example, note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) sub-object of the object referred to by the returned </string>
+ <string>:) captures the original type of the exception object. The exception can be thrown again using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> is initialized by the boost::(:link </string>
+ <string>:) function:&#10;&#10;[@// ...continued&#10;&#10;void&#10;work()&#10; {&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) copy constructor;&#10;** if available, the exception contains the std::type_info of the original exception object, accessible through </string>
+ <string>:) error;&#10; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );&#10; t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();&#10; if( error )&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&lt;</string>
+ <string>:)(error);&#10; }@]&#10;&#10;Note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-20</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>13</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;* ErrorInfo must be an instance of the (:link </string>
+ <string>:) could fail to copy the original exception object in the following cases:&#10;&#10;* if there is not enough memory, in which case the returned (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) template.&#10;* E must be polymorphic.&#10;&#10;!!!!Returns:&#10;&#10;* If dynamic_cast&lt;boost::(:link </string>
+ <string>:) points to an instance of std::bad_alloc, or&#10;* if (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) const *&gt;(&amp;x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.&#10;* Otherwise, the returned pointer points to the stored value (use (:link </string>
+ <string>:) was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:) to store values in exception objects.) When x is destroyed, any pointers returned by (:link </string>
+ <string>:) points to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) become invalid.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Note:&#10;&#10;The interface of (:link </string>
+ <string>:).&#10;&#10;Regardless, the use of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may be affected by the build (:link </string>
+ <string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-6</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
+ <string>:) in the above examples is well-formed.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-24</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8594,1217 +8757,1267 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-25</id>
+ <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Description:&#10;&#10;Returns a const reference to the copy of the value passed to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> instance for transporting a relevant file name in exceptions deriving from boost::</string>
+ <string>:)&apos;s constructor stored in the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.</string>
+ <string>:) object.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-26</id>
+ <id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Deriving from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.&#10;&#10;In other words: with boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must be boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+ <string>:), or a type that derives (indirectly) from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_error: virtual io_error { };&#10;struct read_error: virtual io_error { };&#10;struct file_read_error: virtual file_error, virtual read_error { };@]&#10;&#10;Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-27</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>:).&#10;&#10;!!!!Effects:&#10;&#10;Equivalent to x &lt;&lt; v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)&lt;0&gt;() &lt;&lt; ... &lt;&lt; v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)&lt;N&gt;().&#10;&#10;!!!!Returns:&#10;&#10;x.&#10;&#10;(:include throws:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-28</id>
+ <id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
+ <string>(:auto !!!:)&#10;&#10;(:include decl:)&#10;&#10;!!!!Effects:&#10;&#10;* Default constructor: initializes an empty boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>. To recover this information at the catch site, use </string>
+ <string>:) object.&#10;* Copy constructor: initializes a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>; the information is also included in the message returned by </string>
+ <string>:) object which shares ownership with x of all data added through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.&#10;</string>
+ <string> mod=&quot;/&quot;:), including data that is added at a future time.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-29</id>
+ <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Effects:&#10;&#10;Stores a copy of v in the </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must be boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> object.&#10;&#10;(:include throws:)&#10;</string>
+ <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:).&#10;&#10;!!!!Postcondition:&#10;&#10;A copy of v is stored into x. If x already contains data of type (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;Tag,T&gt;, that data is overwritten. Basic exception safety guarantee.&#10;&#10;!!!!Returns:&#10;&#10;x.&#10;&#10;(:include throws:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-30</id>
+ <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>13</size>
+ <size>69</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;Class boost::(:link </string>
+ <string>!!Introduction&#10;&#10;The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.&#10;&#10;It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.&#10;&#10;The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. &#10;&#10;Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is designed to be used as a universal base for user-defined exception types.&#10;&#10;An object of any type deriving from boost::(:link </string>
+ <string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can store data of arbitrary types, using the (:link </string>
+ <string>:) function.&#10;&#10;!!Contents&#10;&#10;#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-45</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) wrapper and (:link </string>
+ <string>:)&#10;#Tutorial&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-69</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:).&#10;&#10;To retrieve data from a boost::(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-47</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object, use the (:link </string>
+ <string> mod=&quot;w&quot;:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;(:pagelist tags=&quot;hpp&quot; except_tags=&quot;noindex&quot;:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-32</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
+ <string> mod=&quot;w&quot;:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) instance for transporting a relevant errno value in exceptions deriving from boost::(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-33</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>19</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:&#10;&#10;[@#include &lt;(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-74</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;#Documentation&#10;##Class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;(:link </string>
+ <string>:)&#10;##Throwing Exceptions&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)&lt;boost::(:link </string>
+ <string>:)&#10;##Transporting of Arbitrary Data to the Catch Site&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:),boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt; clib_failure;&#10;&#10;struct file_open_error: virtual boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;boost::shared_ptr&lt;FILE&gt;&#10;file_open( char const * name, char const * mode )&#10; {&#10; if( FILE * f=fopen(name,mode) )&#10; return boost::shared_ptr&lt;FILE&gt;(f,fclose);&#10; else&#10; throw file_open_error() &lt;&lt;&#10; boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-25</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(name) &lt;&lt;&#10; clib_failure(&quot;fopen&quot;,errno);&#10; }@]&#10;&#10;Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-34</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;type&quot;:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-35</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>17</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must derive publicly from std::exception.&#10;&#10;!!!!Effects:&#10;&#10;* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+ <string>:)&#10;##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(e) is equivalent to throw boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(e) is equivalent to throw e;&#10;* If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of (:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are allowed to assume that the function never returns; therefore, if the user-defined (:link </string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) returns, the behavior is undefined.&#10;&#10;!!!!Note:&#10;&#10;Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::</string>
+ <string>:)&#10;##Diagnostic Information&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>, or format an automatic diagnostic message using boost::</string>
+ <string>:)&#10;###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-36</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Precondition:&#10;&#10;ep shall not be null.&#10;&#10;!!!!Throws:&#10;&#10;&#10;&#10;The exception to which ep refers.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Effects:&#10;&#10;As if&#10;&#10;[@try&#10; {&#10; throw </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(e);&#10; }&#10;catch(...)&#10; {&#10; return (:link </string>
+ <string>:)&#10;#API&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-75</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();&#10; }@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor as per (15.5.1).&#10;&#10;!!!!Returns:&#10;&#10;* If T derives from boost::(:link </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-76</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), the returned object is of type T and is a copy of x.&#10;* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). The T sub-object is initialized from x by the T copy constructor.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>27</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Some exception hierarchies can not be modified to make boost::(:link </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) a base type. In this case, the (:link </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-59</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template can be used to make exception objects derive from boost::(:link </string>
+ <string>:)&#10;##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-68</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) anyway. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;stdexcept&gt;&#10;&#10;typedef boost::(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_min,size_t&gt; std_range_min;&#10;typedef boost::(:link </string>
+ <string> mod=&quot;w&quot;:)&#10;&#10;!!!Acknowledgements&#10;&#10;Thanks to Peter Dimov for his continuing help. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-45</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>33</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Traditionally, when using exceptions to report failures, the throw site:&#10;&#10;*creates an exception object of the appropriate type, and&#10;*stuffs it with data relevant to the detected error.&#10;&#10;A higher context in the program contains a catch statement which:&#10;&#10;*selects failures based on exception types, and&#10;*inspects exception objects for data required to deal with the problem.&#10;&#10;The main issue with this &quot;traditional&quot; approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.&#10;&#10;Here is an example of a catch statement:&#10;&#10;[@catch( file_read_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; e.file_name();&#10; }@]&#10;&#10;And here is a possible matching throw:&#10;&#10;[@void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(???);&#10; ....&#
10; }@]&#10;&#10;Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!&#10;&#10;In an attempt to deal with this problem, we could modify read_file to accept a file name:&#10;&#10;[@void&#10;read_file( FILE * f, char const * name )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(name);&#10; ....&#10; }@]&#10;&#10;This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.&#10;&#10;-&gt;&apos;&apos;In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.&apos;&apos;&#10;&#10;!!!Exception wrapping&#10;&#10;The idea of exception wrapping is to catch an exce
ption from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.&#10;&#10;Exception wrapping leads to the following problems:&#10;&#10;*To wrap an exception object it must be copied, which may result in slicing.&#10;*Wrapping is practically impossible to use in generic contexts.&#10;&#10;The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.&#10;&#10;!!!The boost::exception solution&#10;&#10;*Simply derive your exception types from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_max,size_t&gt; std_range_max;&#10;typedef boost::(:link </string>
+ <string>:).&#10;*Confidently limit the throw site to provide only data that is available naturally.&#10;*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.&#10;&#10;For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_index,size_t&gt; std_range_index;&#10;&#10;template &lt;class T&gt;&#10;class&#10;my_container&#10; {&#10; public:&#10;&#10; size_t size() const;&#10;&#10; T const &amp;&#10; operator[]( size_t i ) const&#10; {&#10; if( i &gt; size() )&#10; throw boost::(:link </string>
+ <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_read_error: virtual io_error { };&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(std::range_error(&quot;Index out of range&quot;)) &lt;&lt;&#10; std_range_min(0) &lt;&lt;&#10; std_range_max(size()) &lt;&lt;&#10; std_range_index(i);&#10; //....&#10; }&#10; };&#10;@]&#10;&#10;The call to (:link </string>
+ <string>:)&lt;struct tag_errno_code,int&gt; errno_code;&#10;&#10;void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;T&gt; gets us an object of &apos;&apos;unspecified type&apos;&apos; which is guaranteed to derive from both boost::(:link </string>
+ <string>|&lt;&lt;:) errno_code(errno);&#10; ....&#10; }@]&#10;&#10;In a higher exception-neutral context, we add the file name to &apos;&apos;any&apos;&apos; exception that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and T. This makes it possible to use (:link </string>
+ <string>:):&#10;&#10;[@typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:) to store additional information in the exception object. The exception can be intercepted as T &amp;, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
+ <string>:)&lt;struct tag_file_name,std::string&gt; file_name;&#10;&#10;....&#10;try&#10; {&#10; if( FILE * fp=fopen(&quot;foo.txt&quot;,&quot;rt&quot;) )&#10; {&#10; shared_ptr&lt;FILE&gt; f(fp,fclose);&#10; ....&#10; read_file(fp); //throws types deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp;, so that (:link </string>
+ <string>:)&#10; do_something();&#10; ....&#10; }&#10; else&#10; throw file_open_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-10</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|more information can be added to the exception at a later time:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string>|&lt;&lt;:) errno_code(errno);&#10; }&#10;catch( boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
+ <string>:) &amp; e )&#10; {&#10; e (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>|&lt;&lt;:) file_name(&quot;foo.txt&quot;);&#10; throw;&#10; }@]&#10;&#10;Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:):&#10;&#10;[@catch( io_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;I/O Error!\n&quot;;&#10;&#10; if( std::string const * fn=(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-56</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;file_name&gt;(e) )&#10; std::cerr &lt;&lt; &quot;File name: &quot; &lt;&lt; *fn &lt;&lt; &quot;\n&quot;;&#10;&#10; if( int const * c=(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-56</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;errno_code&gt;(e) )&#10; std::cerr &lt;&lt; &quot;OS says: &quot; &lt;&lt; strerror(*c) &lt;&lt; &quot;\n&quot;;&#10; }@]&#10;&#10;In addition, boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-61</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) objects added to a boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:). This is useful for inclusion in logs and other diagnostic objects.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> objects.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include decl:)&#10;&#10;!!!!Effects:&#10;&#10;&#10;&#10;Frees all resources associated with a boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object.&#10;&#10;!!!!Throws:&#10;&#10;&#10;&#10;Nothing.&#10;</string>
+ <string>. To recover this information at the catch site, use </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-56</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>; the information is also included in the message returned by </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-61</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-44</id>
+ <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>9</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;(:pagelist tags=&quot;macro&quot;:)&#10;</string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;This function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;If the current exception object can be converted to boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) or std::exception, this function returns the same string value returned by (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-61</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.&#10;&#10;Typical use is to call </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> from a top-level function to output diagnostic information about unhandled exceptions:&#10;&#10;[@int&#10;main()&#10; {&#10; try&#10; {&#10; run_program();&#10; }&#10; catch(&#10; error &amp; e )&#10; {&#10; //handle error&#10; }&#10; catch(&#10; ...)&#10; {&#10; std::cerr &lt;&lt; &quot;Unhandled exception!&quot; &lt;&lt; std::endl &lt;&lt;&#10; boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>();&#10; }&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-45</id>
+ <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;This function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;A pointer of type E to the current exception object, or null if the current exception object can not be converted to E *.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
+ <string>(:auto !!!:)&#10;&#10;Deriving from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.&#10;&#10;In other words: with boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_error: virtual io_error { };&#10;struct read_error: virtual io_error { };&#10;struct file_read_error: virtual file_error, virtual read_error { };@]&#10;&#10;Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;function&quot;:)&#10;</string>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-5</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>.</string>
+ <string>(:auto !!!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-48</id>
+ <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>33</size>
+ <size>25</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Traditionally, when using exceptions to report failures, the throw site:&#10;&#10;*creates an exception object of the appropriate type, and&#10;*stuffs it with data relevant to the detected error.&#10;&#10;A higher context in the program contains a catch statement which:&#10;&#10;*selects failures based on exception types, and&#10;*inspects exception objects for data required to deal with the problem.&#10;&#10;The main issue with this &quot;traditional&quot; approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.&#10;&#10;Here is an example of a catch statement:&#10;&#10;[@catch( file_read_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; e.file_name();&#10; }@]&#10;&#10;And here is a possible matching throw:&#10;&#10;[@void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(???);&#10; ....&#
10; }@]&#10;&#10;Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!&#10;&#10;In an attempt to deal with this problem, we could modify read_file to accept a file name:&#10;&#10;[@void&#10;read_file( FILE * f, char const * name )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(name);&#10; ....&#10; }@]&#10;&#10;This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.&#10;&#10;-&gt;&apos;&apos;In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.&apos;&apos;&#10;&#10;!!!Exception wrapping&#10;&#10;The idea of exception wrapping is to catch an exce
ption from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.&#10;&#10;Exception wrapping leads to the following problems:&#10;&#10;*To wrap an exception object it must be copied, which may result in slicing.&#10;*Wrapping is practically impossible to use in generic contexts.&#10;&#10;The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.&#10;&#10;!!!The boost::exception solution&#10;&#10;*Simply derive your exception types from boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;*Confidently limit the throw site to provide only data that is available naturally.&#10;*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.&#10;&#10;For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+ <string>:) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_read_error: virtual io_error { };&#10;&#10;typedef boost::(:link </string>
+ <string>:)&apos;s operations do not throw.&#10;&#10;The referenced object remains valid at least as long as there is an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_errno_code,int&gt; errno_code;&#10;&#10;void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error() (:link </string>
+ <string>:) object that refers to it.&#10;&#10;Two instances of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) errno_code(errno);&#10; ....&#10; }@]&#10;&#10;In a higher exception-neutral context, we add the file name to &apos;&apos;any&apos;&apos; exception that derives from boost::(:link </string>
+ <string>:) are equivalent and compare equal if and only if they refer to the same exception.&#10;&#10;The default constructor of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@typedef boost::(:link </string>
+ <string>:) produces the null value of the type. The null value is equivalent only to itself.&#10;&#10;!!!!Thread safety&#10;&#10;* It is legal for multiple threads to hold (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_file_name,std::string&gt; file_name;&#10;&#10;....&#10;try&#10; {&#10; if( FILE * fp=fopen(&quot;foo.txt&quot;,&quot;rt&quot;) )&#10; {&#10; shared_ptr&lt;FILE&gt; f(fp,fclose);&#10; ....&#10; read_file(fp); //throws types deriving from boost::(:link </string>
+ <string>:) references to the same exception object.&#10;* It is illegal for multiple threads to modify the same (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10; do_something();&#10; ....&#10; }&#10; else&#10; throw file_open_error() (:link </string>
+ <string>:) object concurrently.&#10;* While calling (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) errno_code(errno);&#10; }&#10;catch( boost::(:link </string>
+ <string>:) makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e (:link </string>
+ <string>:) concurrently to throw the same exception object into multiple threads.&#10;&#10;!!!!Nesting of exceptions:&#10;&#10;An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) file_name(&quot;foo.txt&quot;);&#10; throw;&#10; }@]&#10;&#10;Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
+ <string>:) can be added as (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@catch( io_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;I/O Error!\n&quot;;&#10;&#10; if( std::string const * fn=(:link </string>
+ <string>:) to any boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;file_name&gt;(e) )&#10; std::cerr &lt;&lt; &quot;File name: &quot; &lt;&lt; *fn &lt;&lt; &quot;\n&quot;;&#10;&#10; if( int const * c=(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:). This is a convenient way to nest exceptions. There is no limit on the depth of the nesting, however cyclic references result in undefined behavior.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-47</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>27</size>
                                                                                                         <variant>2</variant>
- <string>:)&lt;errno_code&gt;(e) )&#10; std::cerr &lt;&lt; &quot;OS says: &quot; &lt;&lt; strerror(*c) &lt;&lt; &quot;\n&quot;;&#10; }@]&#10;&#10;In addition, boost::(:link </string>
+ <string>(:auto !!:)&#10;&#10;Some exception hierarchies can not be modified to make boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
+ <string>:) a base type. In this case, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) objects added to a boost::(:link </string>
+ <string>:) function template can be used to make exception objects derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). This is useful for inclusion in logs and other diagnostic objects.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-49</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>21</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;* T must be a class with an accessible no-throw copy constructor.&#10;* If T has any virtual base types, those types must have an accessible default constructor.&#10;&#10;!!!!Returns:&#10;&#10;An object of &apos;&apos;unspecified&apos;&apos; type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &amp;).&#10;&#10;!!!!Description:&#10;&#10;&#10;&#10;This function is designed to be used directly in a throw-expression to enable the (:link </string>
+ <string>:) anyway. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) support in Boost Exception. For example:&#10;&#10;[@class&#10;my_exception:&#10; public std::exception&#10; {&#10; };&#10;&#10;....&#10;throw boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;stdexcept&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(my_exception());@]&#10;&#10;Unless (:link </string>
+ <string>:)&lt;struct tag_std_range_min,size_t&gt; std_range_min;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link </string>
+ <string>:)&lt;struct tag_std_range_max,size_t&gt; std_range_max;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may return an (:link </string>
+ <string>:)&lt;struct tag_std_range_index,size_t&gt; std_range_index;&#10;&#10;template &lt;class T&gt;&#10;class&#10;my_container&#10; {&#10; public:&#10;&#10; size_t size() const;&#10;&#10; T const &amp;&#10; operator[]( size_t i ) const&#10; {&#10; if( i &gt; size() )&#10; throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) which refers to an instance of (:link </string>
+ <string>:)(std::range_error(&quot;Index out of range&quot;)) &lt;&lt;&#10; std_range_min(0) &lt;&lt;&#10; std_range_max(size()) &lt;&lt;&#10; std_range_index(i);&#10; //....&#10; }&#10; };&#10;@]&#10;&#10;The call to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). See (:link </string>
+ <string>:)&lt;T&gt; gets us an object of &apos;&apos;unspecified type&apos;&apos; which is guaranteed to derive from both boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) for details.&#10;&#10;!!!!Note:&#10;&#10;Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+ <string>:) and T. This makes it possible to use (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+ <string> mod=&quot;/&quot;:) to store additional information in the exception object. The exception can be intercepted as T &amp;, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and supports the (:link </string>
+ <string>:) &amp;, so that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-69</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) functionality.&#10;</string>
+ <string>|more information can be added to the exception at a later time:).&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-50</id>
+ <id>-54</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>7</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must be boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <string>:) instance for transporting a relevant file name in exceptions deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;!!!!Postcondition:&#10;&#10;A copy of v is stored into x. If x already contains data of type (:link </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt;, that data is overwritten. Basic exception safety guarantee.&#10;&#10;!!!!Returns:&#10;&#10;x.&#10;&#10;(:include throws:)&#10;</string>
+ <string>:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-51</id>
+ <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>19</size>
+ <size>13</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let&apos;s say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:&#10;&#10;[@void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error(????);&#10; }@]&#10;&#10;How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.&#10;&#10;Using boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;* ErrorInfo must be an instance of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:&#10;&#10;[@`#include &lt;(:link </string>
+ <string>:) template.&#10;* E must be polymorphic.&#10;&#10;!!!!Returns:&#10;&#10;* If dynamic_cast&lt;boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;struct file_read_error: virtual boost::(:link </string>
+ <string>:) const *&gt;(&amp;x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.&#10;* Otherwise, the returned pointer points to the stored value (use (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error() &lt;&lt; boost::(:link </string>
+ <string> mod=&quot;/&quot;:) to store values in exception objects.) When x is destroyed, any pointers returned by (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(errno);&#10; }@]&#10;&#10;If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:) become invalid.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Note:&#10;&#10;The interface of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;&#10;boost::shared_ptr&lt;FILE&gt; file_open( char const * file_name, char const * mode );&#10;void file_read( FILE * f, void * buffer, size_t size );&#10;&#10;void&#10;parse_file( char const * file_name )&#10; {&#10; boost::shared_ptr&lt;FILE&gt; f = file_open(file_name,&quot;rb&quot;);&#10; assert(f);&#10; try&#10; {&#10; char buf[1024];&#10; file_read( f.get(), buf, sizeof(buf) );&#10; }&#10; catch(&#10; boost::(:link </string>
+ <string>:) may be affected by the build (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-68</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e &lt;&lt; boost::(:link </string>
+ <string>:).&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-57</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>17</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must derive publicly from std::exception.&#10;&#10;!!!!Effects:&#10;&#10;* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-25</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(file_name);&#10; throw;&#10; }&#10; }@]&#10;&#10;The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
+ <string>:)(e) is equivalent to throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::(:link </string>
+ <string>:)(boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object is that the file name is relevant to any failure that occurs in parse_file, &apos;&apos;even if the failure is unrelated to file I/O&apos;&apos;.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-52</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-57</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <string>:)(e) is equivalent to throw e;&#10;* If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::</string>
+ <string>:) are allowed to assume that the function never returns; therefore, if the user-defined (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> objects.</string>
+ <string>:) returns, the behavior is undefined.&#10;&#10;!!!!Note:&#10;&#10;Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-56</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>, or format an automatic diagnostic message using boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-61</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-53</id>
+ <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9817,633 +10030,744 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-54</id>
+ <id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>69</size>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>!!Introduction&#10;&#10;The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.&#10;&#10;It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.&#10;&#10;The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. &#10;&#10;Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
+ <string>(:auto !!:)&#10;&#10;(:pagelist tags=&quot;macro&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-60</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-61</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>37</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Returns:&#10;&#10;A string value that contains varying amount of implementation-specific diagnostic information about the passed object:&#10;&#10;*If E can be statically converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-63</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
+ <string>:), the returned value contains the string representations of all (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function.&#10;&#10;!!Contents&#10;&#10;#(:link </string>
+ <string>:) objects stored in the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-48</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;#Tutorial&#10;##(:link </string>
+ <string>:) through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-10</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;##(:link </string>
+ <string> mod=&quot;/&quot;:), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.&#10;*Otherwise, if E can be statically converted std::exception:&#10;**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-39</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;##(:link </string>
+ <string>:);&#10;**otherwise the returned value contains the what() string.&#10;*Otherwise, the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-63</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;##(:link </string>
+ <string>:) template is not available.&#10;&#10;The string representation of each (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object is deduced by a function call that is bound at the time the (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;Tag,T&gt; template is instantiated. The following overload resolutions are attempted in order:&#10;&#10;#Unqualified call to to_string(x), where x is of type (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&lt;Tag,T&gt; (the return value is expected to be of type std::string.)&#10;#Unqualified call to to_string(x.(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:)()) (the return value is expected to be of type std::string.)&#10;#Unqualified call to s &lt;&lt; x.(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-40</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;m&quot;:)(), where s is a std::ostringstream.&#10;&#10;The first successfully bound function is used at the time (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-26</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;##(:link </string>
+ <string>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-69</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;##(:link </string>
+ <string>:) object to string, and &apos;&apos;an unspecified stub string value is used without issuing a compile error.&apos;&apos;&#10;&#10;The </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;#Documentation&#10;##Class (:link </string>
+ <string> overload of </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##Throwing Exceptions&#10;###(:link </string>
+ <string> is equivalent to:&#10;&#10;[@if( p )&#10; try&#10; {&#10; </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-28</id>
+ <id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>(p);&#10; }&#10; catch(...)&#10; {&#10; return </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##Transporting of Arbitrary Data to the Catch Site&#10;###(:link </string>
+ <string>();&#10; }&#10;else return &lt;unspecified-string-value&gt;;@]&#10;&#10;!!!!Notes:&#10;&#10;*The format of the returned string is unspecified.&#10;*The returned string is &apos;&apos;not&apos;&apos; user-friendly.&#10;*The returned string may include additional platform-specific diagnostic information.&#10;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-62</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>17</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;The following example demonstrates how errno can be stored in exception objects using Boost Exception:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-68</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:)&lt;struct tag_my_info,int&gt; my_info; //(1)&#10;&#10;struct my_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:), virtual std::exception { }; //(2)&#10;&#10;void&#10;f()&#10; {&#10; throw my_error() &lt;&lt; my_info(42); //(3)&#10; }@]&#10;&#10;First, we instantiate the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads&#10;###(:link </string>
+ <string>:) template using a unique identifier -- tag_my_info, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.&#10;&#10;Second, we define class my_error, which derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:).&#10;&#10;Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>|operator&lt;&lt;:) to store values in exception objects at the point of the throw.&#10;&#10;The stored my_info value can be recovered at a later time like this:&#10;&#10;[@// ...continued&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; my_error &amp; x )&#10; {&#10; if( int const * mi=boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:)&lt;my_info&gt;(x) )&#10; std::cerr &lt;&lt; &quot;My info: &quot; &lt;&lt; *mi;&#10; }&#10; }@]&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-63</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-64</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-65</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:) instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##Diagnostic Information&#10;###(:link </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;###(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-66</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-66</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string>:) instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-45</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;#API&#10;##(:link </string>
+ <string>:).&#10;&#10;!!!Example:&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-13</id>
+ <id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>41</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must have accessible copy constructor and must not be a reference (there is no requirement that T&apos;s copy constructor does not throw.)&#10;&#10;!!!!Description:&#10;&#10;This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string>:)&lt;Tag,T&gt; can be passed to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string> mod=&quot;/&quot;:) to be stored in objects of type boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-46</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string>:).&#10;&#10;!!!!Usage:&#10;&#10;The header &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-44</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;##(:link </string>
+ <string>:)&gt; provides a declaration of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-6</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;#(:link </string>
+ <string>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, for example:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;#(:link </string>
+ <string>:)&gt;&#10;&#10;struct tag_errno;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:)&#10;&#10;!!!Acknowledgements&#10;&#10;Thanks to Peter Dimov for his continuing help. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-55</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Definition:&#10;&#10;The expression </string>
+ <string>:)&lt;tag_errno,int&gt; errno_info;@]&#10;&#10;Or, the shorter equivalent:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&lt;Tag,T&gt;::(:link </string>
+ <string>:)&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-55</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> mod=&quot;m&quot;:) evaluates to T.</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-56</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-57</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-58</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-59</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <id>-67</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <string>:)&lt;struct tag_errno,int&gt; errno_info;@]&#10;&#10;This errno_info typedef can be passed to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> instance for transporting a relevant FILE pointer managed by a boost::shared_ptr&lt;FILE&gt; in exceptions deriving from boost::</string>
+ <string> mod=&quot;/&quot;:) (#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-60</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <string>:)&gt; first) to store an int named tag_errno in exceptions of types that derive from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Description:&#10;&#10;Returns a const reference to the copy of the value passed to (:link </string>
+ <string>:):&#10;&#10;[@throw file_read_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&apos;s constructor stored in the (:link </string>
+ <string>|&lt;&lt;:) errno_info(errno);@]&#10;&#10;It can also be passed to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-61</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>37</size>
+ <string>:) (#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-27</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;When you catch an exception, you can call (:link </string>
+ <string>:)&gt; first) to retrieve the tag_errno int from a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to get an (:link </string>
+ <string>:):&#10;&#10;[@catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:) &amp; x )&#10; {&#10; if( int const * e=boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/thread.hpp&gt;&#10;#include &lt;boost/bind.hpp&gt;&#10;&#10;void do_work(); //throws cloning-enabled boost::(:link </string>
+ <string>:)&lt;errno_info&gt;(x) )&#10; ....&#10; }@]&#10;&#10;For convenience and uniformity, Boost Exception defines the following commonly used (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)s&#10;&#10;void&#10;worker_thread( boost::(:link </string>
+ <string>:) typedefs, ready for use with (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; error )&#10; {&#10; try&#10; {&#10; do_work();&#10; error = boost::(:link </string>
+ <string> mod=&quot;/&quot;:):&#10;&#10;(:pagelist tags=&quot;error_info_instance&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-68</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>19</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;Boost Exception responds to the following configuration macros:&#10;&#10;&apos;&apos;&apos;BOOST_NO_RTTI&apos;&apos;&apos;\\&#10;&apos;&apos;&apos;BOOST_NO_TYPEID&apos;&apos;&apos;&#10;&#10;The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:&#10;&#10;-&gt;By default, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();&#10; }&#10; catch(&#10; ... )&#10; {&#10; error = boost::(:link </string>
+ <string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();&#10; }&#10; }@]&#10;&#10;In the above example, note that (:link </string>
+ <string>:) can be used only with objects of type boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) captures the original type of the exception object. The exception can be thrown again using the (:link </string>
+ <string>:).&#10;&#10;!!!!Note:&#10;&#10;The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.&#10;&#10;&apos;&apos;&apos;BOOST_EXCEPTION_DISABLE&apos;&apos;&apos;&#10;&#10;By default, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function:&#10;&#10;[@// ...continued&#10;&#10;void&#10;work()&#10; {&#10; boost::(:link </string>
+ <string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) error;&#10; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );&#10; t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();&#10; if( error )&#10; boost::(:link </string>
+ <string>:) are integrated directly in the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(error);&#10; }@]&#10;&#10;Note that (:link </string>
+ <string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.&#10;&#10;Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) could fail to copy the original exception object in the following cases:&#10;&#10;* if there is not enough memory, in which case the returned (:link </string>
+ <string>:).&#10;&#10;&apos;&apos;&apos;BOOST_NO_EXCEPTIONS&apos;&apos;&apos;&#10;&#10;This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) points to an instance of std::bad_alloc, or&#10;* if (:link </string>
+ <string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned (:link </string>
+ <string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-69</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;All exception types that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) points to an instance of (:link </string>
+ <string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types.&#10;&#10;When exceptions derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-65</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;Regardless, the use of (:link </string>
+ <string>:), arbitrary data can be added to exception objects:&#10;&#10;*At the point of the throw;&#10;*At a later time as exceptions bubble up the call stack.&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-62</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and (:link </string>
+ <string>:)&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) in the above examples is well-formed.&#10;</string>
+ <string>:)&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-10</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-62</id>
+ <id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10456,54 +10780,129 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-63</id>
+ <id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>11</size>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-72</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-73</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-74</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>19</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;Boost Exception provides a namespace-scope function (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) at the time of the throw is required in order to use cloning.&#10;&#10;!!!!Note:&#10;&#10;All exceptions emitted by the familiar function boost::(:link </string>
+ <string>:) which takes a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are guaranteed to derive from boost::(:link </string>
+ <string>:). The returned string contains:&#10;&#10;*the string representation of all data objects added to the boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) through (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> mod=&quot;/&quot;:);&#10;*the output from std::exception::what;&#10;*additional platform-specific diagnostic information.&#10;&#10;The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-51</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;void f(); //throws unknown types that derive from boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-16</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:).&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and to support cloning.&#10;&#10;(:include </string>
+ <string>:) &amp; e )&#10; {&#10; std::cerr &lt;&lt; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-67</id>
+ <id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;(:include </string>
+ <string>:)(e);&#10; }&#10; }@]&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-61</id>
+ <id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -10514,325 +10913,247 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-64</id>
+ <id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
+ <size>73</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include decl:)&#10;&#10;!!!!Effects:&#10;&#10;* Default constructor: initializes an empty boost::(:link </string>
+ <string>!!Synopsis&#10;&#10;List of documented definitions, declarations and includes by header file:&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object.&#10;* Copy constructor: initializes a boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object which shares ownership with x of all data added through (:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:), including data that is added at a future time.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-65</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is used by the (:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) support in Boost Exception. Please see (:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-66</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>9</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;This function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;If the current exception object can be converted to boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) or std::exception, this function returns the same string value returned by (:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.&#10;&#10;Typical use is to call </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-66</id>
+ <id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> from a top-level function to output diagnostic information about unhandled exceptions:&#10;&#10;[@int&#10;main()&#10; {&#10; try&#10; {&#10; run_program();&#10; }&#10; catch(&#10; error &amp; e )&#10; {&#10; //handle error&#10; }&#10; catch(&#10; ...)&#10; {&#10; std::cerr &lt;&lt; &quot;Unhandled exception!&quot; &lt;&lt; std::endl &lt;&lt;&#10; boost::</string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-66</id>
+ <id>-52</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>();&#10; }&#10; }@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-67</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>15</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Here is how cloning can be enabled in a throw-expression (15.1):&#10;&#10;[@#include &lt;(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-52</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;(:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;struct file_read_error: virtual boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw boost::(:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(file_read_error()) &lt;&lt;&#10; boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-32</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(errno);&#10; }@]&#10;&#10;Of course, (:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may be used with any exception type; there is no requirement that it should derive from boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;E must be boost::(:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-37</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), or a type that derives (indirectly) from boost::(:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-37</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;!!!!Effects:&#10;&#10;Equivalent to x &lt;&lt; v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)&lt;0&gt;() &lt;&lt; ... &lt;&lt; v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)&lt;N&gt;().&#10;&#10;!!!!Returns:&#10;&#10;x.&#10;&#10;(:include throws:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-69</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Exception types should use virtual inheritance when deriving from other exception types. This insight is due to Andrew Koenig. Using virtual inheritance prevents ambiguity problems in the exception handler:&#10;&#10;[@#include &lt;iostream&gt;&#10;struct my_exc1 : std::exception { char const* what() const throw(); };&#10;struct my_exc2 : std::exception { char const* what() const throw(); };&#10;struct your_exc3 : my_exc1, my_exc2 {};&#10;&#10;int&#10;main()&#10; {&#10; try { throw your_exc3(); }&#10; catch(std::exception const&amp; e) {}&#10; catch(...) { std::cout &lt;&lt; &quot;whoops!&quot; &lt;&lt; std::endl; }&#10; }@]&#10;&#10;The program above outputs &quot;whoops!&quot; because the conversion to std::exception is ambiguous.&#10;&#10;The overhead introduced by virtual inheritance is always negligible in the context of exception handling. Note that virtual bases are initialized directly by the constructor of the most-derived-type (the type pass
ed to the throw statement, in case of exceptions.) However, typically this detail is of no concern when boost::(:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is used, because it enables exception types to be trivial structs with no members (there&apos;s nothing to initialize.) See (:link </string>
+ <string>:)&gt;&#10;&#10;[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-26</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;w&quot;:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-70</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>17</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;The following example demonstrates how errno can be stored in exception objects using Boost Exception:&#10;&#10;[@#include &lt;(:link </string>
+ <string> synopsis:)@]&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;typedef boost::(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_my_info,int&gt; my_info; //(1)&#10;&#10;struct my_error: virtual boost::(:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), virtual std::exception { }; //(2)&#10;&#10;void&#10;f()&#10; {&#10; throw my_error() &lt;&lt; my_info(42); //(3)&#10; }@]&#10;&#10;First, we instantiate the (:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) template using a unique identifier -- tag_my_info, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.&#10;&#10;Second, we define class my_error, which derives from boost::(:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|operator&lt;&lt;:) to store values in exception objects at the point of the throw.&#10;&#10;The stored my_info value can be recovered at a later time like this:&#10;&#10;[@// ...continued&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; my_error &amp; x )&#10; {&#10; if( int const * mi=boost::(:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -10841,7 +11162,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;my_info&gt;(x) )&#10; std::cerr &lt;&lt; &quot;My info: &quot; &lt;&lt; *mi;&#10; }&#10; }@]&#10;&#10;The (:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -10850,283 +11171,267 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-71</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-72</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-73</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;!!!Synopsis&#10;&#10;(:include synopsis:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-74</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>37</size>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-70</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Returns:&#10;&#10;A string value that contains varying amount of implementation-specific diagnostic information about the passed object:&#10;&#10;*If E can be statically converted to boost::(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), the returned value contains the string representations of all (:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) objects stored in the boost::(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) through (:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.&#10;*Otherwise, if E can be statically converted std::exception:&#10;**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:);&#10;**otherwise the returned value contains the what() string.&#10;*Otherwise, the boost::(:link </string>
+ <string> synopsis:)&#10;&#10;`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) template is not available.&#10;&#10;The string representation of each (:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object is deduced by a function call that is bound at the time the (:link </string>
+ <string> synopsis:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-76</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;(:pagelist tags=&quot;hpp&quot; except_tags=&quot;noindex&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>37</size>
+ <variant>2</variant>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt; template is instantiated. The following overload resolutions are attempted in order:&#10;&#10;#Unqualified call to to_string(x), where x is of type (:link </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt; (the return value is expected to be of type std::string.)&#10;#Unqualified call to to_string(x.(:link </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-60</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)()) (the return value is expected to be of type std::string.)&#10;#Unqualified call to s &lt;&lt; x.(:link </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-60</id>
+ <id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)(), where s is a std::ostringstream.&#10;&#10;The first successfully bound function is used at the time (:link </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object to string, and &apos;&apos;an unspecified stub string value is used without issuing a compile error.&apos;&apos;&#10;&#10;The </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> overload of </string>
+ <string>&gt;&#10;#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-74</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> is equivalent to:&#10;&#10;[@if( p )&#10; try&#10; {&#10; </string>
+ <string>&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;boost/weak_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;#include &lt;exception&gt;&#10;&#10;struct error : virtual std::exception, virtual boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(p);&#10; }&#10; catch(...)&#10; {&#10; return </string>
+ <string> { };&#10;struct file_error : virtual error { };&#10;struct file_open_error: virtual file_error { };&#10;struct file_read_error: virtual file_error { };&#10;&#10;boost::shared_ptr&lt;FILE&gt;&#10;open_file( char const * file, char const * mode )&#10; {&#10; if( FILE * f=fopen(file,mode) )&#10; return boost::shared_ptr&lt;FILE&gt;(f,fclose);&#10; else&#10; </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-66</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>();&#10; }&#10;else return &lt;unspecified-string-value&gt;;@]&#10;&#10;!!!!Notes:&#10;&#10;*The format of the returned string is unspecified.&#10;*The returned string is &apos;&apos;not&apos;&apos; user-friendly.&#10;*The returned string may include additional platform-specific diagnostic information.&#10;&#10;&#10;(:include </string>
+ <string>(&#10; file_open_error() &lt;&lt;&#10; boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-16</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-75</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <string>(&quot;fopen&quot;) &lt;&lt;&#10; boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-32</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <string>(errno) &lt;&lt;&#10; boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::</string>
+ <string>(file) &lt;&lt;&#10; boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-76</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <string>(mode) );&#10; }&#10;&#10;size_t&#10;read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )&#10; {&#10; size_t nr=fread(buf,1,size,f.get());&#10; if( ferror(f.get()) )&#10; </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-49</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is designed to be used as a standard </string>
+ <string>(&#10; file_read_error() &lt;&lt;&#10; boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-5</id>
+ <id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::</string>
+ <string>(&quot;fread&quot;) &lt;&lt;&#10; boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.</string>
+ <string>(errno) &lt;&lt;&#10; boost::</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-36</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>(f) );&#10; return nr;&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -11136,13 +11441,13 @@
                                                         <pair>
                                                                 <string>throws</string>
                                                                 <shared_ptr>
- <id>81</id>
+ <id>82</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -11294,7 +11599,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>!!!!Throws:&#10;&#10;Any exception emitted by v&apos;s copy constructor.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -11415,9 +11722,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!!!Throws:&#10;&#10;Any exception emitted by v&apos;s copy constructor.</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -11549,7 +11854,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>!!!!Throws:&#10;&#10;std::bad_alloc, or any exception emitted by T1..TN copy constructor.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -11571,7 +11878,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>!!!!Throws:&#10;&#10;std::bad_alloc, or any exception emitted by the T copy constructor.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -11600,7 +11909,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11611,7 +11920,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11622,7 +11931,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-48</id>
+ <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11633,7 +11942,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-49</id>
+ <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11644,20 +11953,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-50</id>
+ <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!!!Throws:&#10;&#10;std::bad_alloc, or any exception emitted by the T copy constructor.&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-51</id>
+ <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11668,7 +11975,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-52</id>
+ <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11679,7 +11986,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-53</id>
+ <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11848,9 +12155,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>!!!!Throws:&#10;&#10;std::bad_alloc, or any exception emitted by T1..TN copy constructor.&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -11941,6 +12246,17 @@
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
                                                                                 </sorted>
                                                                         </object>
                                                                 </shared_ptr>
@@ -11948,13 +12264,13 @@
                                                         <pair>
                                                                 <string>synopsis</string>
                                                                 <shared_ptr>
- <id>82</id>
+ <id>83</id>
                                                                         <type>
                                                                                 <string>reno_layer</string>
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
- <size>72</size>
+ <size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -11963,25 +12279,36 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-52</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include def pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-6</id>
+ <id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -11992,29 +12319,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-7</id>
+ <id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-8</id>
+ <id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12025,7 +12352,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12036,29 +12363,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-9</id>
+ <id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-73</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-10</id>
+ <id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12069,29 +12385,51 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-11</id>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@#include &lt;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-60</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;#include &lt;boost/tuple/tuple.hpp&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12102,7 +12440,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12113,73 +12451,95 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include def pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-71</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;[@(:include decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-17</id>
+ <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>[@#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string> decl pre_indent=&quot;4&quot;:)&#10;&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12190,20 +12550,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include api:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-20</id>
+ <id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12214,7 +12572,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12225,75 +12583,51 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-21</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-22</id>
+ <id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10; template &lt;class&gt; class weak_ptr;&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-23</id>
+ <id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-24</id>
+ <id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>[@#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-30</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10;&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-25</id>
+ <id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12304,7 +12638,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12313,7 +12647,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-7</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12324,62 +12658,53 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-26</id>
+ <id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>[@#include &lt;boost/shared_ptr.hpp&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-27</id>
+ <id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;(:link </string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-37</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-28</id>
+ <id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&gt;&#10;&#10;(:include decl:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-29</id>
+ <id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12390,7 +12715,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12401,7 +12726,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-30</id>
+ <id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12412,22 +12737,11 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include def pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12445,7 +12759,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12454,7 +12768,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-71</id>
+ <id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12469,7 +12783,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12491,18 +12816,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl:)&#10; }@]&#10;</string>
+ <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12513,69 +12829,56 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string> synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;</string>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-39</id>
+ <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12586,20 +12889,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-40</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>[@(:include api:)@]&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12610,51 +12900,71 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@(:include decl:)@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-73</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-41</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-44</id>
+ <id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12665,29 +12975,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-45</id>
+ <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-57</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;\\&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12698,7 +13008,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-45</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12709,7 +13030,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12718,7 +13039,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12729,17 +13050,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-48</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -12751,11 +13061,11 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-56</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;(:include decl:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12773,7 +13083,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-8</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -12784,7 +13094,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-51</id>
+ <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12795,31 +13105,35 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-52</id>
+ <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
+ <string>[@(:include api:)@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-52</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;</string>
+ <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12832,23 +13146,23 @@
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10; template &lt;class&gt; class weak_ptr;&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-54</id>
+ <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -12859,110 +13173,112 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-55</id>
+ <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include decl:)@]&#10;</string>
+ <string>(:include api:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-56</id>
+ <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-72</id>
+ <id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-70</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-57</id>
+ <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
- <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-58</id>
+ <id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@#include &lt;</string>
+ <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-59</id>
+ <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>`#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-53</id>
- </shared_ptr>
- </weak_ptr>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-53</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> synopsis:)&#10;</string>
+ <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-59</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12973,18 +13289,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-8</id>
- </shared_ptr>
- </weak_ptr>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@(:include decl:)@]&#10;</string>
+ <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -12995,7 +13302,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;\\&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13006,9 +13324,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>[@#include &lt;boost/shared_ptr.hpp&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13019,7 +13335,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>3</size>
+ <variant>2</variant>
+ <string>[@#include &lt;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-60</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13030,7 +13357,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13041,18 +13370,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
+ <variant>2</variant>
+ <string>`#include &lt;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>&gt;&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-27</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string> synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13063,18 +13401,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
+ <size>5</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>`#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-24</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;\\&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;&#10;(:include </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-58</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> synopsis:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13085,45 +13432,25 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>5</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include def pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-69</id>
+ <id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -13134,7 +13461,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-70</id>
+ <id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -13145,7 +13472,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-71</id>
+ <id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -13156,59 +13483,88 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-73</id>
+ <id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-72</id>
+ <id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>[@#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-64</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-73</id>
+ <id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
+ <size>3</size>
                                                                                                         <variant>2</variant>
- <string>[@namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>[@#include &lt;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-60</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&gt;&#10;#include &lt;string&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-74</id>
+ <id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
- <string>`#include &lt;(:link </string>
+ <string>[@#include &lt;</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-24</id>
+ <id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;\\&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <string>&gt;&#10;#include &lt;boost/tuple/tuple.hpp&gt;&#10;&#10;namespace&#10;boost&#10; {&#10;(:include api pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-74</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13219,27 +13575,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>`#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> synopsis:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -13250,27 +13586,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>`#include &lt;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>&gt;&#10;&#10;(:include </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> synopsis:)&#10;</string>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -13283,14 +13610,14 @@
                         </layers>
                         <contexts>
                                 <shared_ptr>
- <id>83</id>
+ <id>84</id>
                                         <type>
                                                 <string>reno_context_map</string>
                                         </type>
                                         <object>
                                                 <contexts>
                                                         <sorted>
- <size>72</size>
+ <size>73</size>
                                                                 <shared_ptr>
                                                                         <id>-5</id>
                                                                 </shared_ptr>
@@ -13415,12 +13742,6 @@
                                                                         <id>-45</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-46</id>
- </shared_ptr>
- <shared_ptr>
- <id>-47</id>
- </shared_ptr>
- <shared_ptr>
                                                                         <id>-48</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -13430,6 +13751,9 @@
                                                                         <id>-50</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+ <id>-46</id>
+ </shared_ptr>
+ <shared_ptr>
                                                                         <id>-51</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -13439,6 +13763,9 @@
                                                                         <id>-53</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+ <id>-47</id>
+ </shared_ptr>
+ <shared_ptr>
                                                                         <id>-54</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -13507,11 +13834,14 @@
                                                                 <shared_ptr>
                                                                         <id>-76</id>
                                                                 </shared_ptr>
+ <shared_ptr>
+ <id>-77</id>
+ </shared_ptr>
                                                         </sorted>
                                                 </contexts>
                                                 <index>
                                                         <sorted>
- <size>72</size>
+ <size>73</size>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
@@ -13526,7 +13856,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-54</id>
+ <id>-44</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13543,7 +13873,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-63</id>
+ <id>-24</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13560,7 +13890,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-10</id>
+ <id>-69</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13577,7 +13907,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-21</id>
+ <id>-14</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13594,7 +13924,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-52</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13611,7 +13941,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-56</id>
+ <id>-37</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13628,7 +13958,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-48</id>
+ <id>-45</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13645,7 +13975,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-69</id>
+ <id>-5</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13662,7 +13992,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-26</id>
+ <id>-46</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13679,7 +14009,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-15</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13696,7 +14026,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-46</id>
+ <id>-21</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13713,7 +14043,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-76</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13747,7 +14077,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-44</id>
+ <id>-59</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13764,7 +14094,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-75</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13788,7 +14118,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-24</id>
+ <id>-19</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13812,7 +14142,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-27</id>
+ <id>-9</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13836,7 +14166,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-7</id>
+ <id>-70</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13864,7 +14194,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-76</id>
+ <id>-66</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13888,7 +14218,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-58</id>
+ <id>-39</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13916,7 +14246,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-65</id>
+ <id>-31</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13944,7 +14274,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-22</id>
+ <id>-17</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -13972,7 +14302,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-17</id>
+ <id>-53</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14000,7 +14330,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-20</id>
+ <id>-8</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14028,7 +14358,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-33</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14056,7 +14386,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-13</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14080,7 +14410,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-61</id>
+ <id>-38</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14104,7 +14434,31 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-7</id>
+ </shared_ptr>
+ </pair>
+ <pair>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>1</size>
+ <strong>F812D8AE60189369CED7A3FD72733A65B57D56637E6721867F52A82EB319731A</strong>
+ <weak>3974553696</weak>
+ <size>1432</size>
+ <position>352</position>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>0</empty>
+ <string>../../example/errinfos.cpp</string>
+ <type>0</type>
+ <base>0</base>
+ </path>
+ </file>
+ <shared_ptr>
+ <id>-77</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14132,7 +14486,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-52</id>
+ <id>-48</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14160,7 +14514,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-29</id>
+ <id>-18</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14188,7 +14542,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-50</id>
+ <id>-43</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14212,7 +14566,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-71</id>
+ <id>-63</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14236,7 +14590,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-67</id>
+ <id>-25</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14264,7 +14618,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-45</id>
+ <id>-22</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14292,7 +14646,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-23</id>
+ <id>-56</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14320,7 +14674,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-59</id>
+ <id>-36</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14344,7 +14698,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-10</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14368,7 +14722,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-74</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14396,7 +14750,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-74</id>
+ <id>-61</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14420,7 +14774,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-9</id>
+ <id>-72</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14472,7 +14826,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-40</id>
+ <id>-51</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14500,7 +14854,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-47</id>
+ <id>-26</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14524,7 +14878,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-12</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14552,7 +14906,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-75</id>
+ <id>-65</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14580,7 +14934,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-66</id>
+ <id>-50</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14604,7 +14958,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-53</id>
+ <id>-23</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14628,7 +14982,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-51</id>
+ <id>-29</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14652,7 +15006,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-57</id>
+ <id>-35</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14676,7 +15030,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-41</id>
+ <id>-58</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14700,7 +15054,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-70</id>
+ <id>-62</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14728,7 +15082,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-5</id>
+ <id>-67</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14760,7 +15114,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-55</id>
+ <id>-30</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14792,7 +15146,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-60</id>
+ <id>-40</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14820,7 +15174,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-57</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14852,7 +15206,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-6</id>
+ <id>-68</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14876,7 +15230,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-62</id>
+ <id>-27</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14900,7 +15254,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-8</id>
+ <id>-71</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14924,7 +15278,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-11</id>
+ <id>-73</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14948,7 +15302,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-19</id>
+ <id>-54</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14972,7 +15326,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-28</id>
+ <id>-49</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -14996,7 +15350,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-72</id>
+ <id>-64</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15024,7 +15378,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-11</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15052,7 +15406,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-49</id>
+ <id>-28</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15080,7 +15434,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-6</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15108,7 +15462,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-30</id>
+ <id>-16</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15140,7 +15494,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-64</id>
+ <id>-42</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15168,7 +15522,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-25</id>
+ <id>-55</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15192,7 +15546,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-39</id>
+ <id>-47</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15220,7 +15574,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-73</id>
+ <id>-60</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15248,7 +15602,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-68</id>
+ <id>-41</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -15272,7 +15626,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-20</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                         </sorted>
@@ -15282,7 +15636,7 @@
                         </contexts>
                         <index>
                                 <shared_ptr>
- <id>84</id>
+ <id>85</id>
                                         <type>
                                                 <string>tag_index</string>
                                         </type>
@@ -15303,7 +15657,16 @@
                                                                                         <id>-5</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>type</string>
+ <string>tutorial</string>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-6</id>
+ </shared_ptr>
+ </weak_ptr>
+ <string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15312,6 +15675,15 @@
                                                                                         <id>-8</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
+ <string>type</string>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-9</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                         <string></string>
                                                                 </pair>
                                                                 <pair>
@@ -15321,7 +15693,7 @@
                                                                                         <id>-10</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15330,31 +15702,31 @@
                                                                                         <id>-11</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-13</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>diagnostic_information tutorial</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-15</id>
+ <id>-14</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-16</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>type</string>
@@ -15363,25 +15735,25 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-17</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-20</id>
+ <id>-18</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>type</string>
+ <string>function member</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-19</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string></string>
@@ -15390,19 +15762,19 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-20</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-22</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info free function</string>
+ <string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15411,7 +15783,7 @@
                                                                                         <id>-24</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15420,6 +15792,15 @@
                                                                                         <id>-25</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
+ <string>noindex tutorial</string>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-26</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                         <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
@@ -15429,7 +15810,7 @@
                                                                                         <id>-27</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>error_info</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15438,7 +15819,7 @@
                                                                                         <id>-28</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>macro</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15447,7 +15828,7 @@
                                                                                         <id>-29</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>function member</string>
+ <string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15462,6 +15843,15 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <string>exception_ptr type</string>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
                                                                                         <id>-32</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
@@ -15474,7 +15864,7 @@
                                                                                         <id>-33</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noalso noindex tutorial</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15483,7 +15873,7 @@
                                                                                         <id>-35</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>free function</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15492,7 +15882,7 @@
                                                                                         <id>-36</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15501,7 +15891,7 @@
                                                                                         <id>-37</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>exception_ptr</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15510,31 +15900,31 @@
                                                                                         <id>-38</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info free function</string>
+ <string>noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-39</id>
+ <id>-40</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>function member</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-41</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info</string>
+ <string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-43</id>
+ <id>-42</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>function</string>
@@ -15543,46 +15933,46 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-45</id>
+ <id>-43</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>function</string>
+ <string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-47</id>
+ <id>-44</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info_instance noalso type</string>
+ <string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-48</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-49</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info free function</string>
+ <string>macro</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-51</id>
+ <id>-50</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noalso noindex tutorial</string>
+ <string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15591,88 +15981,88 @@
                                                                                         <id>-52</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info_instance noalso type</string>
+ <string>error_info</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-54</id>
+ <id>-53</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex</string>
+ <string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-55</id>
+ <id>-47</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>type</string>
+ <string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-56</id>
+ <id>-54</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-57</id>
+ <id>-55</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-59</id>
+ <id>-56</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info_instance noalso type</string>
+ <string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-60</id>
+ <id>-57</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>function member</string>
+ <string>free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-61</id>
+ <id>-60</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex tutorial</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-62</id>
+ <id>-61</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info</string>
+ <string>diagnostic_information free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-63</id>
+ <id>-62</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15681,7 +16071,7 @@
                                                                                         <id>-64</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>function</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15690,7 +16080,7 @@
                                                                                         <id>-65</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr type</string>
+ <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15699,7 +16089,7 @@
                                                                                         <id>-66</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>function</string>
+ <string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15708,16 +16098,7 @@
                                                                                         <id>-67</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex tutorial</string>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-68</id>
- </shared_ptr>
- </weak_ptr>
- <string>error_info free function</string>
+ <string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -15732,16 +16113,7 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-70</id>
- </shared_ptr>
- </weak_ptr>
- <string>noalso noindex tutorial</string>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-72</id>
+ <id>-71</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string></string>
@@ -15762,25 +16134,7 @@
                                                                                         <id>-74</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>diagnostic_information free function</string>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-75</id>
- </shared_ptr>
- </weak_ptr>
- <string>error_info_instance noalso type</string>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-76</id>
- </shared_ptr>
- </weak_ptr>
- <string>error_info_instance noalso type</string>
+ <string>diagnostic_information tutorial</string>
                                                                 </pair>
                                                         </sorted>
                                                 </tag_index>

Modified: trunk/libs/exception/example/Jamfile
==============================================================================
--- trunk/libs/exception/example/Jamfile (original)
+++ trunk/libs/exception/example/Jamfile 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -13,3 +13,4 @@
 obj info_tuple : info_tuple.cpp ;
 obj enable_error_info : enable_error_info.cpp ;
 obj logging : logging.cpp ;
+obj errinfos : errinfos.cpp ;

Added: trunk/libs/exception/example/errinfos.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/exception/example/errinfos.cpp 2009-07-12 02:59:53 EDT (Sun, 12 Jul 2009)
@@ -0,0 +1,53 @@
+//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
+
+//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)
+
+//This example demonstrates the intended use of various commonly used
+//error_info typedefs provided by Boost Exception.
+
+#include <boost/exception/errinfo_api_function.hpp>
+#include <boost/exception/errinfo_at_line.hpp>
+#include <boost/exception/errinfo_errno.hpp>
+#include <boost/exception/errinfo_file_handle.hpp>
+#include <boost/exception/errinfo_file_name.hpp>
+#include <boost/exception/errinfo_file_open_mode.hpp>
+#include <boost/exception/info.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+#include <stdio.h>
+#include <errno.h>
+#include <exception>
+
+struct error : virtual std::exception, virtual boost::exception { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr<FILE>
+open_file( char const * file, char const * mode )
+ {
+ if( FILE * f=fopen(file,mode) )
+ return boost::shared_ptr<FILE>(f,fclose);
+ else
+ BOOST_THROW_EXCEPTION(
+ file_open_error() <<
+ boost::errinfo_api_function("fopen") <<
+ boost::errinfo_errno(errno) <<
+ boost::errinfo_file_name(file) <<
+ boost::errinfo_file_open_mode(mode) );
+ }
+
+size_t
+read_file( boost::shared_ptr<FILE> const & f, void * buf, size_t size )
+ {
+ size_t nr=fread(buf,1,size,f.get());
+ if( ferror(f.get()) )
+ BOOST_THROW_EXCEPTION(
+ file_read_error() <<
+ boost::errinfo_api_function("fread") <<
+ boost::errinfo_errno(errno) <<
+ boost::errinfo_file_handle(f) );
+ return nr;
+ }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk