$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r55094 - in branches/release: boost boost/exception libs/exception/doc libs/exception/doc/source libs/exception/example libs/exception/test
From: emil_at_[hidden]
Date: 2009-07-22 16:55:57
Author: emildotchevski
Date: 2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
New Revision: 55094
URL: http://svn.boost.org/trac/boost/changeset/55094
Log:
Merging in changes trunk updates: adding standard error_info typedefs, updating the documentation.
Added:
   branches/release/boost/exception/all.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_api_function.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_at_line.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_errno.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_file_handle.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_file_name.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_file_open_mode.hpp   (contents, props changed)
   branches/release/boost/exception/errinfo_type_info_name.hpp   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_all_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_api_function_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_at_line_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_errno_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_file_handle_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_file_name_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_file_open_mode_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/boost_exception_errinfo_type_info_name_hpp.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_api_function.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_at_line.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_errno.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_file_handle.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_file_name.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_file_open_mode.html   (contents, props changed)
   branches/release/libs/exception/doc/errinfo_type_info_name.html   (contents, props changed)
   branches/release/libs/exception/example/errinfos.cpp   (contents, props changed)
   branches/release/libs/exception/test/all_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_api_function_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_at_line_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_errno_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_file_handle_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_file_name_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_file_open_mode_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfo_type_info_name_hpp_test.cpp   (contents, props changed)
   branches/release/libs/exception/test/errinfos_test.cpp   (contents, props changed)
Text files modified: 
   branches/release/boost/exception.hpp                                                |    12                                         
   branches/release/boost/exception/exception.hpp                                      |    12                                         
   branches/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html |     2                                         
   branches/release/libs/exception/doc/boost_exception_error_info_hpp.html             |     9                                         
   branches/release/libs/exception/doc/boost_exception_exception_hpp.html              |     8                                         
   branches/release/libs/exception/doc/boost_exception_get_error_info_hpp.html         |     2                                         
   branches/release/libs/exception/doc/boost_exception_hpp.html                        |    18                                         
   branches/release/libs/exception/doc/boost_exception_info_hpp.html                   |     2                                         
   branches/release/libs/exception/doc/boost_exception_info_tuple_hpp.html             |     2                                         
   branches/release/libs/exception/doc/boost_exception_ptr_hpp.html                    |     2                                         
   branches/release/libs/exception/doc/diagnostic_information.html                     |    12                                         
   branches/release/libs/exception/doc/error_info.html                                 |     9                                         
   branches/release/libs/exception/doc/exception.html                                  |     7                                         
   branches/release/libs/exception/doc/frequently_asked_questions.html                 |    12                                         
   branches/release/libs/exception/doc/headers.html                                    |     9                                         
   branches/release/libs/exception/doc/page_idx.html                                   |    16                                         
   branches/release/libs/exception/doc/source/boost-exception.reno                     | 10888 ++++++++++++++++++++++++++------------- 
   branches/release/libs/exception/doc/synopsis.html                                   |    78                                         
   branches/release/libs/exception/doc/tutorial_diagnostic_information.html            |    14                                         
   branches/release/libs/exception/doc/tutorial_enable_error_info.html                 |     2                                         
   branches/release/libs/exception/doc/tutorial_exception_ptr.html                     |     7                                         
   branches/release/libs/exception/doc/tutorial_transporting_data.html                 |    47                                         
   branches/release/libs/exception/doc/types.html                                      |     7                                         
   branches/release/libs/exception/example/Jamfile                                     |     1                                         
   branches/release/libs/exception/example/cloning_1.cpp                               |     7                                         
   branches/release/libs/exception/example/enable_error_info.cpp                       |     2                                         
   branches/release/libs/exception/example/error_info_1.cpp                            |    13                                         
   branches/release/libs/exception/example/error_info_2.cpp                            |    12                                         
   branches/release/libs/exception/example/example_io.cpp                              |   102                                         
   branches/release/libs/exception/example/info_tuple.cpp                              |    16                                         
   branches/release/libs/exception/example/logging.cpp                                 |     4                                         
   branches/release/libs/exception/test/Jamfile.v2                                     |     9                                         
   32 files changed, 7446 insertions(+), 3897 deletions(-)
Modified: branches/release/boost/exception.hpp
==============================================================================
--- branches/release/boost/exception.hpp	(original)
+++ branches/release/boost/exception.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -6,14 +6,8 @@
 #ifndef UUID_1D94A7C6054E11DB9804B622A1EF5492
 #define UUID_1D94A7C6054E11DB9804B622A1EF5492
 
-#include <boost/exception/diagnostic_information.hpp>
-#include <boost/exception/error_info.hpp>
-#include <boost/exception/exception.hpp>
-#include <boost/exception/get_error_info.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/exception/info_tuple.hpp>
-#ifndef BOOST_NO_EXCEPTIONS
-#include <boost/exception_ptr.hpp>
-#endif
+//The header <boost/exception.hpp> has been deprecated.
+//Please #include <boost/exception/all.hpp> instead.
+#include <boost/exception/all.hpp>
 
 #endif
Added: branches/release/boost/exception/all.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/all.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,26 @@
+//Copyright (c) 2006-2008 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)
+
+#ifndef UUID_316FDA946C0D11DEA9CBAE5255D89593
+#define UUID_316FDA946C0D11DEA9CBAE5255D89593
+
+#include <boost/exception/diagnostic_information.hpp>
+#include <boost/exception/error_info.hpp>
+#include <boost/exception/exception.hpp>
+#include <boost/exception/get_error_info.hpp>
+#include <boost/exception/info.hpp>
+#include <boost/exception/info_tuple.hpp>
+#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/errinfo_type_info_name.hpp>
+#ifndef BOOST_NO_EXCEPTIONS
+#include <boost/exception_ptr.hpp>
+#endif
+
+#endif
Added: branches/release/boost/exception/errinfo_api_function.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_api_function.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,22 @@
+//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)
+
+#ifndef UUID_DDFBB4546C1211DEA4659E9055D89593
+#define UUID_DDFBB4546C1211DEA4659E9055D89593
+
+#include "boost/exception/error_info.hpp"
+
+namespace
+boost
+    {
+    //Usage hint:
+    //if( api_function(....)!=0 )
+    //    BOOST_THROW_EXCEPTION(
+    //        failure() <<
+    //        errinfo_api_function("api_function") );
+    typedef error_info<struct errinfo_api_function_,char const *> errinfo_api_function;
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_at_line.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_at_line.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,18 @@
+//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)
+
+#ifndef UUID_E7255CE26C1211DE85800C9155D89593
+#define UUID_E7255CE26C1211DE85800C9155D89593
+
+namespace
+boost
+    {
+    template <class Tag,class T> class error_info;
+
+    //Use with parsing errors exceptions, for example in a XML file parser.
+    typedef error_info<struct errinfo_at_line_,int> errinfo_at_line;
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_errno.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_errno.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,35 @@
+//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)
+
+#ifndef UUID_F0EE17BE6C1211DE87FF459155D89593
+#define UUID_F0EE17BE6C1211DE87FF459155D89593
+
+#include "boost/exception/info.hpp"
+#include <errno.h>
+#include <string.h>
+
+namespace
+boost
+    {
+    typedef error_info<struct errinfo_errno_,int> errinfo_errno;
+
+    //Usage hint:
+    //if( c_function(....)!=0 )
+    //    BOOST_THROW_EXCEPTION(
+    //        failure() <<
+    //        errinfo_errno(errno) <<
+    //        errinfo_api_function("c_function") );
+    inline
+    std::string
+    to_string( errinfo_errno const & e )
+        {
+        std::ostringstream tmp;
+        int v=e.value();
+        tmp << v << ", \"" << strerror(v) << "\"";
+        return tmp.str();
+        }
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_file_handle.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_file_handle.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,20 @@
+//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)
+
+#ifndef UUID_F79E6EE26C1211DEB26E929155D89593
+#define UUID_F79E6EE26C1211DEB26E929155D89593
+
+#include <stdio.h>
+
+namespace
+boost
+    {
+    template <class> class weak_ptr;
+    template <class Tag,class T> class error_info;
+
+    typedef error_info<struct errinfo_file_handle_,weak_ptr<FILE> > errinfo_file_handle;
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_file_name.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_file_name.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,26 @@
+//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)
+
+#ifndef UUID_FEE5120A6C1211DE94E8BC9155D89593
+#define UUID_FEE5120A6C1211DE94E8BC9155D89593
+
+#include <string>
+
+namespace
+boost
+    {
+    template <class Tag,class T> class error_info;
+
+    //Usage hint:
+    //FILE * f=fopen(name,mode);
+    //if( !f )
+    //    BOOST_THROW_EXCEPTION(
+    //        file_open_error() <<
+    //        errinfo_file_name(name) <<
+    //        errinfo_file_open_mode(mode) );
+    typedef error_info<struct errinfo_file_name_,std::string> errinfo_file_name;
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_file_open_mode.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_file_open_mode.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,26 @@
+//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)
+
+#ifndef UUID_056F1F266C1311DE8E74299255D89593
+#define UUID_056F1F266C1311DE8E74299255D89593
+
+#include <string>
+
+namespace
+boost
+    {
+    template <class Tag,class T> class error_info;
+
+    //Usage hint:
+    //FILE * f=fopen(name,mode);
+    //if( !f )
+    //    BOOST_THROW_EXCEPTION(
+    //        file_open_error() <<
+    //        errinfo_file_name(name) <<
+    //        errinfo_file_open_mode(mode) );
+    typedef error_info<struct errinfo_file_open_mode_,std::string> errinfo_file_open_mode;
+    }
+
+#endif
Added: branches/release/boost/exception/errinfo_type_info_name.hpp
==============================================================================
--- (empty file)
+++ branches/release/boost/exception/errinfo_type_info_name.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,23 @@
+//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)
+
+#ifndef UUID_0E11109E6C1311DEB7EA649255D89593
+#define UUID_0E11109E6C1311DEB7EA649255D89593
+
+#include <string>
+
+namespace
+boost
+    {
+    template <class Tag,class T> class error_info;
+
+    //Usage hint:
+    //BOOST_THROW_EXCEPTION(
+    //    bad_type() <<
+    //    errinfo_type_info_name(typeid(x).name()) );
+    typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name;
+    }
+
+#endif
Modified: branches/release/boost/exception/exception.hpp
==============================================================================
--- branches/release/boost/exception/exception.hpp	(original)
+++ branches/release/boost/exception/exception.hpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -80,13 +80,13 @@
     template <class Tag,class T>
     class error_info;
 
-    typedef error_info<struct tag_throw_function,char const *> throw_function;
-    typedef error_info<struct tag_throw_file,char const *> throw_file;
-    typedef error_info<struct tag_throw_line,int> throw_line;
+    typedef error_info<struct throw_function_,char const *> throw_function;
+    typedef error_info<struct throw_file_,char const *> throw_file;
+    typedef error_info<struct throw_line_,int> throw_line;
 
     template <>
     class
-    error_info<tag_throw_function,char const *>
+    error_info<throw_function_,char const *>
         {
         public:
         typedef char const * value_type;
@@ -100,7 +100,7 @@
 
     template <>
     class
-    error_info<tag_throw_file,char const *>
+    error_info<throw_file_,char const *>
         {
         public:
         typedef char const * value_type;
@@ -114,7 +114,7 @@
 
     template <>
     class
-    error_info<tag_throw_line,int>
+    error_info<throw_line_,int>
         {
         public:
         typedef int value_type;
Added: branches/release/libs/exception/doc/boost_exception_all_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_all_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/all.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/all.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>>
+#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
+#include <<span class="RenoLink">boost/exception/get_error_info.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
+#include <<span class="RenoLink">boost/exception_ptr.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_type_info_name.hpp</span>></span></pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
+</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Modified: branches/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_diagnostic_information_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -38,7 +38,7 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information<br/>
 </a><a href="diagnostic_information.html">diagnostic_information<br/>
 </a><a href="synopsis.html">Synopsis<br/>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_api_function_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_api_function_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_api_function.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_api_function.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_api_function_,int> <span class="RenoLink">errinfo_api_function</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_at_line_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_at_line_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_at_line.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_at_line.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_at_line_,int> <span class="RenoLink">errinfo_at_line</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_errno_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_errno_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_errno.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_errno.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <errno.h>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_errno_,int> <span class="RenoLink">errinfo_errno</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_file_handle_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_file_handle_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_file_handle.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_handle.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+    template <class> class weak_ptr;
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_handle_,weak_ptr<FILE> > <span class="RenoLink">errinfo_file_handle</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_file_name_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_file_name_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_file_name.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_name.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_name_,std::string> <span class="RenoLink">errinfo_file_name</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_file_open_mode_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_file_open_mode_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_file_open_mode.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_open_mode.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_open_mode_,std::string> <span class="RenoLink">errinfo_file_open_mode</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/boost_exception_errinfo_type_info_name_hpp.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/boost_exception_errinfo_type_info_name_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>boost/exception/errinfo_type_info_name.hpp</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_type_info_name.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_type_info_name_,std::string> <span class="RenoLink">errinfo_type_info_name</span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Modified: branches/release/libs/exception/doc/boost_exception_error_info_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_error_info_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_error_info_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -30,7 +30,14 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp<br/>
+</a><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp<br/>
+</a><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp<br/>
+</a><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp<br/>
+</a><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp<br/>
+</a><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp<br/>
+</a><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp<br/>
 </a><a href="error_info.html">error_info<br/>
 </a><a href="synopsis.html">Synopsis<br/>
 </a></div>
Modified: branches/release/libs/exception/doc/boost_exception_exception_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_exception_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_exception_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -38,14 +38,14 @@
     <span class="RenoIncludeSPAN">template <class Tag,class T>
     class <span class="RenoLink">error_info</span>;</span>    
     
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_function,char const *> throw_function;
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_file,char const *> throw_file;
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_line,int> throw_line;</span>
+    typedef <span class="RenoLink">error_info</span><struct throw_function_,char const *> throw_function;
+    typedef <span class="RenoLink">error_info</span><struct throw_file_,char const *> throw_file;
+    typedef <span class="RenoLink">error_info</span><struct throw_line_,int> throw_line;</span>
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
-</a><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+</a><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="boost_exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br/>
 </a><a href="boost_exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
 </a><a href="boost_exception_info_hpp.html">boost/exception/info.hpp<br/>
Modified: branches/release/libs/exception/doc/boost_exception_get_error_info_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_get_error_info_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_get_error_info_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -32,7 +32,7 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="error_info.html">error_info<br/>
 </a></div>
 </div>
Modified: branches/release/libs/exception/doc/boost_exception_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -21,21 +21,9 @@
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception.hpp</h2>
 </div>
-<h3>Synopsis</h3>
-<div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>>
-#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
-#include <<span class="RenoLink">boost/exception/exception.hpp</span>>
-#include <<span class="RenoLink">boost/exception/get_error_info.hpp</span>>
-#include <<span class="RenoLink">boost/exception/info.hpp</span>>
-#include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
-#include <<span class="RenoLink">boost/exception_ptr.hpp</span>></span></pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
-<div class="RenoPageList"><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>
-</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
+<p>This header has been deprecated.</p>
+<p>Please #include <<span class="RenoLink">boost/exception/all.hpp</span>> instead.</p>
+</div><div class="RenoAutoDIV"></div>
 <!-- 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) -->
Modified: branches/release/libs/exception/doc/boost_exception_info_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_info_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_info_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -44,7 +44,7 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="boost_exception_info_tuple_hpp.html">boost/exception/info_tuple.hpp<br/>
 </a><a href="error_info.html">error_info<br/>
 </a><a href="error_info_error_info.html">error_info::error_info<br/>
Modified: branches/release/libs/exception/doc/boost_exception_info_tuple_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_info_tuple_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_info_tuple_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -37,7 +37,7 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="synopsis.html">Synopsis<br/>
 </a><a href="tuple_operator_shl.html">tuple/operator<<<br/>
 </a></div>
Modified: branches/release/libs/exception/doc/boost_exception_ptr_hpp.html
==============================================================================
--- branches/release/libs/exception/doc/boost_exception_ptr_hpp.html	(original)
+++ branches/release/libs/exception/doc/boost_exception_ptr_hpp.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -48,7 +48,7 @@
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="copy_exception.html">copy_exception<br/>
 </a><a href="current_exception.html">current_exception<br/>
 </a><a href="exception_ptr.html">exception_ptr<br/>
Modified: branches/release/libs/exception/doc/diagnostic_information.html
==============================================================================
--- branches/release/libs/exception/doc/diagnostic_information.html	(original)
+++ branches/release/libs/exception/doc/diagnostic_information.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -63,13 +63,13 @@
 </ul></div>
 <div class="RenoIncludeDIV"><h4>Example:</h4>
 <p>this is a possible output from the <span class="RenoLink">diagnostic_information</span> function, as used in <i>libs/exception/example/example_io.cpp:</i></p>
-<pre>example_io.cpp(83): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
-Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
+<pre>example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
+Dynamic exception type: class boost::exception_detail::clone_impl<struct fopen_error>
 std::exception::what: example_io error
-[struct tag_errno *] = 2, OS says "No such file or directory"
-[struct tag_file_name *] = tmp1.txt
-[struct tag_function *] = fopen
-[struct tag_open_mode *] = rb</pre>
+[struct boost::<span class="RenoLink">errinfo_api_function</span>_ *] = fopen
+[struct boost::<span class="RenoLink">errinfo_errno</span>_ *] = 2, "No such file or directory"
+[struct boost::<span class="RenoLink">errinfo_file_name</span>_ *] = tmp1.txt
+[struct boost::<span class="RenoLink">errinfo_file_open_mode</span>_ *] = rb</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
Added: branches/release/libs/exception/doc/errinfo_api_function.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_api_function.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_api_function</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_api_function</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_api_function_,int> <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>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_at_line.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_at_line.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_at_line</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_at_line</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_at_line_,int> <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>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_errno.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_errno.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_errno</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_errno</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <errno.h>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_errno_,int> <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>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_file_handle.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_file_handle.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_file_handle</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_handle</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+    template <class> class weak_ptr;
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_handle_,weak_ptr<FILE> > <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<FILE> in exceptions deriving from boost::<span class="RenoLink">exception</span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_file_name.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_file_name.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_file_name</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_name</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_name_,std::string> <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>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_file_open_mode.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_file_open_mode.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_file_open_mode</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_open_mode</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_open_mode_,std::string> <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>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/throw_exception.hpp</span>>
+#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::<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<FILE>
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr<FILE>(f,fclose);
+    else
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_open_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fopen") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(file) <<
+            boost::<span class="RenoLink">errinfo_file_open_mode</span>(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()) )
+        <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(
+            file_read_error() <<
+            boost::<span class="RenoLink">errinfo_api_function</span>("fread") <<
+            boost::<span class="RenoLink">errinfo_errno</span>(errno) <<
+            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/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Added: branches/release/libs/exception/doc/errinfo_type_info_name.html
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/doc/errinfo_type_info_name.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+	<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+	<title>errinfo_type_info_name</title>
+	<link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_type_info_name</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_type_info_name.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_type_info_name_,std::string> <span class="RenoLink">errinfo_type_info_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 strings returned by std::type_info::name in exceptions deriving from boost::<span class="RenoLink">exception</span> objects.</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp<br/>
+</a></div>
+</div>
+<!-- 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) -->
+<div id="footer">
+<p> </p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a>
+<a class="logo" href="http://validator.w3.org/check?uri=referer"><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a>
+<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/>
+Distributed under the Boost Software License, Version 1.0.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
Modified: branches/release/libs/exception/doc/error_info.html
==============================================================================
--- branches/release/libs/exception/doc/error_info.html	(original)
+++ branches/release/libs/exception/doc/error_info.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -59,6 +59,15 @@
     if( int const * e=boost::<span class="RenoLink">get_error_info</span><errno_info>(x) )
         ....
     }</pre>
+<p>For convenience and uniformity, Boost Exception defines the following commonly used <span class="RenoLink">error_info</span> typedefs, ready for use with <span class="RenoLink">operator<<</span>:</p>
+<div class="RenoPageList"><a href="errinfo_api_function.html">errinfo_api_function<br/>
+</a><a href="errinfo_at_line.html">errinfo_at_line<br/>
+</a><a href="errinfo_errno.html">errinfo_errno<br/>
+</a><a href="errinfo_file_handle.html">errinfo_file_handle<br/>
+</a><a href="errinfo_file_name.html">errinfo_file_name<br/>
+</a><a href="errinfo_file_open_mode.html">errinfo_file_open_mode<br/>
+</a><a href="errinfo_type_info_name.html">errinfo_type_info_name<br/>
+</a></div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
Modified: branches/release/libs/exception/doc/exception.html
==============================================================================
--- branches/release/libs/exception/doc/exception.html	(original)
+++ branches/release/libs/exception/doc/exception.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -51,6 +51,13 @@
 </a><a href="exception_types_as_simple_semantic_tags.html">Exception Types as Simple Semantic Tags<br/>
 </a><a href="enable_current_exception.html">enable_current_exception<br/>
 </a><a href="enable_error_info.html">enable_error_info<br/>
+</a><a href="errinfo_api_function.html">errinfo_api_function<br/>
+</a><a href="errinfo_at_line.html">errinfo_at_line<br/>
+</a><a href="errinfo_errno.html">errinfo_errno<br/>
+</a><a href="errinfo_file_handle.html">errinfo_file_handle<br/>
+</a><a href="errinfo_file_name.html">errinfo_file_name<br/>
+</a><a href="errinfo_file_open_mode.html">errinfo_file_open_mode<br/>
+</a><a href="errinfo_type_info_name.html">errinfo_type_info_name<br/>
 </a><a href="error_info.html">error_info<br/>
 </a><a href="exception_operator_shl.html">exception/operator<<<br/>
 </a><a href="exception_constructors.html">exception::exception<br/>
Modified: branches/release/libs/exception/doc/frequently_asked_questions.html
==============================================================================
--- branches/release/libs/exception/doc/frequently_asked_questions.html	(original)
+++ branches/release/libs/exception/doc/frequently_asked_questions.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -53,13 +53,13 @@
     std::cerr << "OMG!!!";
     }</pre>
 <p>This is a possible message it may display, the first line is only possible if <span class="RenoLink">BOOST_THROW_EXCEPTION</span> is used:</p>
-<pre>example_io.cpp(83): Throw in function void parse_file(const char *)
-Dynamic exception type: class file_open_error
+<pre>example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
+Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
 std::exception::what: example_io error
-[struct tag_errno_code *] = 2, OS says "No such file or directory"
-[struct tag_file_name *] = tmp1.xml
-[struct tag_function *] = fopen
-[struct tag_open_mode *] = rb</pre>
+[struct boost::<span class="RenoLink">errinfo_api_function</span>_ *] = fopen
+[struct boost::<span class="RenoLink">errinfo_errno</span>_ *] = 2, "No such file or directory"
+[struct boost::<span class="RenoLink">errinfo_file_name</span>_ *] = tmp1.txt
+[struct boost::<span class="RenoLink">errinfo_file_open_mode</span>_ *] = rb</pre>
 <h3>Why is boost::exception integrated in boost::throw_exception?</h3>
 <p>The boost::<span class="RenoLink">throw_exception</span> function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::<span class="RenoLink">exception</span> as a base of any exception passed to boost::<span class="RenoLink">throw_exception</span>. 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.</p>
 <p>The problem is that users of Boost Exception can't by themselves cause a library to throw types that derive from boost::<span class="RenoLink">exception</span>, and without this they can't use any of the Boost Exception facilities.</p>
Modified: branches/release/libs/exception/doc/headers.html
==============================================================================
--- branches/release/libs/exception/doc/headers.html	(original)
+++ branches/release/libs/exception/doc/headers.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -21,11 +21,18 @@
 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Headers</h2>
 </div>
-<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
 </a><a href="boost_exception_current_exception_cast_hpp.html">boost/exception/current_exception_cast.hpp<br/>
 </a><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br/>
 </a><a href="boost_exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br/>
 </a><a href="boost_exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
+</a><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp<br/>
+</a><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp<br/>
+</a><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp<br/>
+</a><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp<br/>
+</a><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp<br/>
+</a><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp<br/>
+</a><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp<br/>
 </a><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp<br/>
 </a><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp<br/>
 </a><a href="boost_exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp<br/>
Modified: branches/release/libs/exception/doc/page_idx.html
==============================================================================
--- branches/release/libs/exception/doc/page_idx.html	(original)
+++ branches/release/libs/exception/doc/page_idx.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -25,11 +25,18 @@
 <div class="RenoIndex"><h3>B</h3>
 <p>BOOST_THROW_EXCEPTION</p>
 <h3>b</h3>
-<p>boost/exception.hpp</p>
+<p>boost/exception/all.hpp</p>
 <p>boost/exception/current_exception_cast.hpp</p>
 <p>boost/exception/diagnostic_information.hpp</p>
 <p>boost/exception/enable_current_exception.hpp</p>
 <p>boost/exception/enable_error_info.hpp</p>
+<p>boost/exception/errinfo_api_function.hpp</p>
+<p>boost/exception/errinfo_at_line.hpp</p>
+<p>boost/exception/errinfo_errno.hpp</p>
+<p>boost/exception/errinfo_file_handle.hpp</p>
+<p>boost/exception/errinfo_file_name.hpp</p>
+<p>boost/exception/errinfo_file_open_mode.hpp</p>
+<p>boost/exception/errinfo_type_info_name.hpp</p>
 <p>boost/exception/error_info.hpp</p>
 <p>boost/exception/exception.hpp</p>
 <p>boost/exception/get_error_info.hpp</p>
@@ -53,6 +60,13 @@
 <h3>e</h3>
 <p>enable_current_exception</p>
 <p>enable_error_info</p>
+<p>errinfo_api_function</p>
+<p>errinfo_at_line</p>
+<p>errinfo_errno</p>
+<p>errinfo_file_handle</p>
+<p>errinfo_file_name</p>
+<p>errinfo_file_open_mode</p>
+<p>errinfo_type_info_name</p>
 <p>error_info</p>
 <p>error_info::error_info</p>
 <p>error_info::value</p>
Modified: branches/release/libs/exception/doc/source/boost-exception.reno
==============================================================================
--- branches/release/libs/exception/doc/source/boost-exception.reno	(original)
+++ branches/release/libs/exception/doc/source/boost-exception.reno	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -39,7 +39,7 @@
                                                                         </type>
                                                                         <object>
                                                                                 <sorted>
-											<size>57</size>
+											<size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
@@ -53,28 +53,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
-																			<weak>2432554768</weak>
-																			<size>702</size>
-																			<position>408</position>
+																			<size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
-																		<empty>0</empty>
-																		<string>../../example/enable_error_info.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
+																		<empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>integrating boost exception in existing exception class hierarchies</string>
+																<string>using virtual inheritance in exception types</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_enable_error_info</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -99,28 +92,28 @@
                                                                                                                                         <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>
+																			<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/exception/info_tuple.hpp</string>
+																		<string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>tuple/operator<<</string>
+																<string>enable_error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -148,27 +141,27 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
-																			<weak>2263754923</weak>
-																			<size>982</size>
-																			<position>306</position>
+																			<strong>80C86365052AA49654F75CAA87BF9B29C6373A01F8EE4D5E79F317CD76FC0718</strong>
+																			<weak>622934727</weak>
+																			<size>6161</size>
+																			<position>412</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/error_info_2.cpp</string>
+																		<string>../../example/example_io.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>adding of arbitrary data to active exception objects</string>
+																<string>diagnostic_information example</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>adding_data_later</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -190,21 +183,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>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
+																			<weak>3624753243</weak>
+																			<size>279</size>
+																			<position>26</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>page index</string>
+																<string>original_exception_type</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>page_idx</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -229,24 +233,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>A14B5595A6DD87562792D402B48500AAD71FA1ABD75C14EDF089FCC7318CBB9B</strong>
-																			<weak>3469762901</weak>
-																			<size>468</size>
-																			<position>227</position>
+																			<strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
+																			<weak>3352783584</weak>
+																			<size>12170</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/current_exception_cast.hpp</string>
+																		<string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/current_exception_cast.hpp</string>
+																<string>boost/exception_ptr.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -274,35 +278,33 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
-																			<weak>3352783584</weak>
-																			<size>12170</size>
-																			<position>323</position>
+																			<strong>28E8289766B2CDAEF0A407A6389CB9F7FD3B0F4B49B15CB73AF210A1CEB60C58</strong>
+																			<weak>4196332848</weak>
+																			<size>735</size>
+																			<position>363</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception_ptr.hpp</string>
+																		<string>../../example/info_tuple.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception_ptr.hpp</string>
+																<string>adding grouped data to exceptions</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>grouping_data</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -318,21 +320,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>0</size>
+																			<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>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_current_exception.hpp</string>
+																<string>exception::~exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>exception_destructor</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -356,21 +369,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>0</size>
+																			<size>1</size>
+																			<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+																			<weak>2587249979</weak>
+																			<size>233</size>
+																			<position>323</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>boost exception</string>
+																<string>boost/exception/errinfo_at_line.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>boost-exception</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -378,7 +398,7 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
</string>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -395,28 +415,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
-																			<strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
-																			<weak>1693870740</weak>
-																			<size>2195</size>
-																			<position>3720</position>
+																			<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>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
+																		<string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception</string>
+																<string>copy_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -427,7 +447,7 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
----
!!!See Also:

(:pagelist link="backlink" except_tags="exception,member" mod="w":)
</string>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -454,10 +474,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>transporting of arbitrary data to the catch site</string>
+																<string>page index</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_transporting_data</string>
+																<string>page_idx</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -492,102 +512,25 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>Motivation</string>
+																<string>frequently asked questions</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:)
(:auto also explicit="</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>16</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>-5</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>17</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>frequently asked questions</string>
-																</title>
-																<file_name>
-																	<string></string>
-																</file_name>
-															</object>
-														</shared_ptr>
-													</weak_ptr>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>":)
</string>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>18</id>
+														<id>16</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -597,28 +540,28 @@
                                                                                                                                         <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>
+																			<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>../../../../boost/exception/diagnostic_information.hpp</string>
+																		<string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>current_exception_diagnostic_information</string>
+																<string>exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -629,14 +572,14 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
+													<string>(:include include:)
----
!!!See Also:

(:pagelist link="backlink" except_tags="exception,member" mod="w":)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>19</id>
+														<id>17</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -645,21 +588,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>E23085202D084CBB50F289988A6A592F06D923B77D0AB25D7A98A7188DF5BE3B</strong>
+																			<weak>1414247481</weak>
+																			<size>766</size>
+																			<position>10094</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>Types</string>
+																<string>current_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>types</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -674,7 +628,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>20</id>
+														<id>18</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -688,10 +642,10 @@
                                                                                                                                                         <weak>228982966</weak>
                                                                                                                                                         <size>3918</size>
                                                                                                                                                         <position>518</position>
-																			<strong>D31BCE814DF5B8B718E7EB67A194AD08EF716A26D422E436596ABA1F145007D8</strong>
-																			<weak>4055211476</weak>
-																			<size>525</size>
-																			<position>3387</position>
+																			<strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
+																			<weak>1097215175</weak>
+																			<size>161</size>
+																			<position>240</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
@@ -705,7 +659,7 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception/operator<<</string>
+																<string>error_info::error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -723,7 +677,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>21</id>
+														<id>19</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -732,21 +686,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>0</size>
+																			<size>1</size>
+																			<strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
+																			<weak>3194412598</weak>
+																			<size>4599</size>
+																			<position>323</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>transporting of exceptions between threads</string>
+																<string>boost/exception/diagnostic_information.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_exception_ptr</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -761,7 +722,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>22</id>
+														<id>20</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -771,40 +732,42 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
-																			<weak>743998427</weak>
-																			<size>409</size>
-																			<position>307</position>
+																			<strong>F39D869016327CDFEA720920B2743F47989202BF5814B6556EC54A1B0FE562F8</strong>
+																			<weak>3703518029</weak>
+																			<size>147</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/cloning_1.cpp</string>
+																		<string>../../../../boost/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>using enable_current_exception at the time of the throw</string>
+																<string>boost/exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>using_enable_cloning</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>23</id>
+														<id>21</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -813,28 +776,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>F647827E95C64B626A8E3751AD4E4D21237DD17482EEA6DB93A16A2C6AC79E87</strong>
-																			<weak>527078204</weak>
-																			<size>446</size>
-																			<position>227</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>Functions</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>functions</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -849,7 +805,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>24</id>
+														<id>22</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -858,25 +814,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>9E8DCE3BCF462A3A332DA70F61E46FA5C2AB791B95E33D3F2AF1307F53C84B1C</strong>
-																			<weak>1960675522</weak>
-																			<size>6483</size>
-																			<position>591</position>
+																			<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>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/example_io.cpp</string>
+																		<string>../../../../boost/exception/current_exception_cast.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>diagnostic_information example</string>
+																<string>current_exception_cast</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -885,14 +845,16 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>25</id>
+														<id>23</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -901,29 +863,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <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>
+																			<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_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>boost/exception/errinfo_file_handle.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -941,7 +899,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>26</id>
+														<id>24</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -950,41 +908,36 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>D10E536B909EFFF78FB09E6242AEC7C74ACDD75AE7DF32B45870422B752E5D8E</strong>
-																			<weak>1903336130</weak>
-																			<size>557</size>
-																			<position>382</position>
+																			<size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
-																		<empty>0</empty>
-																		<string>../../example/error_info_1.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
+																		<empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>adding of arbitrary data at the point of the throw</string>
+																<string>transporting of exceptions between threads</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>adding_data_at_throw</string>
+																<string>tutorial_exception_ptr</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>27</id>
+														<id>25</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -994,42 +947,40 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1</strong>
-																			<weak>4248389286</weak>
-																			<size>4113</size>
-																			<position>323</position>
+																			<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/info.hpp</string>
+																		<string>../../example/cloning_1.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/info.hpp</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:)

(:auto also:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>28</id>
+														<id>26</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1038,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>boost/exception/enable_error_info.hpp</string>
+																<string>errinfo_api_function</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1067,7 +1029,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>29</id>
+														<id>27</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1076,21 +1038,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>0</size>
+																			<size>1</size>
+																			<strong>2F432507CFD796BE673F33D9AC68C535F1ED1F4FCD3A8E3AEEC320D9795FB4AE</strong>
+																			<weak>2319362875</weak>
+																			<size>2574</size>
+																			<position>323</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>Functions</string>
+																<string>boost/exception/get_error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>functions</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1105,7 +1074,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>30</id>
+														<id>28</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1114,33 +1083,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>02372FA6B987EAC15E78C5A12036F203A92B3D4C857C02985B1BF0A24008D976</strong>
-																			<weak>2987989218</weak>
-																			<size>109</size>
-																			<position>259</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/exception/detail/error_info_impl.hpp</string>
+																		<string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>error_info::value</string>
+																<string>enable_current_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1158,7 +1123,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>31</id>
+														<id>29</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1167,47 +1132,41 @@
                                                                                                                                 <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>0F429704770B5772E81B2BC74E962B62F83826D6C885B7C6E7186D127D31B291</strong>
+																			<weak>1345125619</weak>
+																			<size>854</size>
+																			<position>306</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/get_error_info.hpp</string>
+																		<string>../../example/error_info_2.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>get_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:)
(:auto also:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>32</id>
+														<id>30</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1216,25 +1175,33 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA</strong>
-																			<weak>922651615</weak>
-																			<size>433</size>
-																			<position>1032</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/throw_exception.hpp</string>
+																		<string>../../../../boost/exception/detail/error_info_impl.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>BOOST_THROW_EXCEPTION</string>
+																<string>error_info::value_type</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1252,7 +1219,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>33</id>
+														<id>31</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1262,28 +1229,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
-																			<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
-																			<weak>3292878997</weak>
-																			<size>282</size>
-																			<position>7305</position>
+																			<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>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
+																		<string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>enable_error_info</string>
+																<string>unknown_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1301,7 +1268,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>34</id>
+														<id>32</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1310,25 +1277,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
+																			<size>2</size>
+																			<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
+																			<weak>1523356166</weak>
+																			<size>537</size>
+																			<position>403</position>
+																			<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
+																			<weak>665917505</weak>
+																			<size>66</size>
+																			<position>26</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
+																		<string>../../../../boost/exception/errinfo_errno.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/exception.hpp</string>
+																<string>errinfo_errno</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1346,7 +1317,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>35</id>
+														<id>33</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1355,36 +1326,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>3</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
-																			<strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
-																			<weak>1693870740</weak>
-																			<size>2195</size>
-																			<position>3720</position>
-																			<strong>DA154372D8C23BD9EDC30005CA7959CE686D198891097A837D006B5222F04DE9</strong>
-																			<weak>2768248809</weak>
-																			<size>143</size>
-																			<position>60</position>
-																		</container>
-																	</stream_hook_path>
-																</hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
+																			<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>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception::exception</string>
+																<string>rethrow_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>exception_constructors</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1399,7 +1366,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>36</id>
+														<id>34</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1408,32 +1375,21 @@
                                                                                                                                 <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>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>original_exception_type</string>
+																<string>Types</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>types</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1448,7 +1404,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>37</id>
+														<id>35</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1458,24 +1414,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>2F432507CFD796BE673F33D9AC68C535F1ED1F4FCD3A8E3AEEC320D9795FB4AE</strong>
-																			<weak>2319362875</weak>
-																			<size>2574</size>
-																			<position>323</position>
+																			<strong>A14B5595A6DD87562792D402B48500AAD71FA1ABD75C14EDF089FCC7318CBB9B</strong>
+																			<weak>3469762901</weak>
+																			<size>468</size>
+																			<position>227</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/get_error_info.hpp</string>
+																		<string>../../../../boost/exception/current_exception_cast.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/get_error_info.hpp</string>
+																<string>boost/exception/current_exception_cast.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1493,7 +1449,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>38</id>
+														<id>36</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1503,28 +1459,28 @@
                                                                                                                                         <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>
+																			<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/error_info.hpp</string>
+																		<string>../../../../boost/exception/errinfo_file_handle.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/error_info.hpp</string>
+																<string>errinfo_file_handle</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1542,33 +1498,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-16</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>39</id>
+														<id>37</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1588,10 +1518,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>Headers</string>
+																<string>boost/exception/enable_current_exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>headers</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1606,7 +1536,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>40</id>
+														<id>38</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1616,42 +1546,40 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
-																			<weak>2258638601</weak>
-																			<size>94</size>
-																			<position>227</position>
+																			<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/info_tuple.hpp</string>
+																		<string>../../example/cloning_2.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/info_tuple.hpp</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:)
(:auto also:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>41</id>
+														<id>39</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1661,24 +1589,24 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>BEFF039468E0E9A3719E5CB51DA9710812D146B587BAF573D1670908BB97C0CA</strong>
-																			<weak>35548578</weak>
-																			<size>1983</size>
-																			<position>91</position>
+																			<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
+																			<weak>2576704708</weak>
+																			<size>337</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/throw_exception.hpp</string>
+																		<string>../../../../boost/exception/errinfo_api_function.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/throw_exception.hpp</string>
+																<string>boost/exception/errinfo_api_function.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1696,7 +1624,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>42</id>
+														<id>40</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1705,29 +1633,33 @@
                                                                                                                                 <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>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_ptr.hpp</string>
+																		<string>../../../../boost/exception/detail/error_info_impl.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>copy_exception</string>
+																<string>error_info::value</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1745,7 +1677,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>43</id>
+														<id>41</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1754,33 +1686,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>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/detail/error_info_impl.hpp</string>
+																		<string>../../../../boost/exception/info_tuple.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>error_info::value_type</string>
+																<string>tuple/operator<<</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1798,7 +1726,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>44</id>
+														<id>42</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1807,32 +1735,36 @@
                                                                                                                                 <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>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>0</empty>
-																		<string>../../../../boost/exception/detail/error_info_impl.hpp</string>
+																		<string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>error_info</string>
+																<string>exception::exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>exception_constructors</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1847,7 +1779,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>45</id>
+														<id>43</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1856,25 +1788,29 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
-																			<weak>3194412598</weak>
-																			<size>4599</size>
-																			<position>323</position>
+																			<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>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/diagnostic_information.hpp</string>
+																		<string>../../../../boost/exception/info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/diagnostic_information.hpp</string>
+																<string>exception/operator<<</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -1892,7 +1828,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>46</id>
+														<id>44</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1901,32 +1837,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <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>
+																			<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>unknown_exception</string>
+																<string>boost exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>boost-exception</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1934,14 +1859,14 @@
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
+													<string>(:include include:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>47</id>
+														<id>45</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1950,40 +1875,113 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<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>
+																			<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>exception_ptr</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:)
(:auto also:)
</string>
+													<string>(:include include:)
(:auto also explicit="</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>":)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -1999,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>Macros</string>
+																<string>errinfo_type_info_name</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>macros</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2038,27 +2047,27 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>7116AEECEA666794E31DC99390ADEC1BA6AF74B2398067A0739767B4B76FA97A</strong>
-																			<weak>4128134227</weak>
-																			<size>307</size>
-																			<position>302</position>
+																			<strong>04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA</strong>
+																			<weak>922651615</weak>
+																			<size>433</size>
+																			<position>1061</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/logging.cpp</string>
+																		<string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>diagnostic information</string>
+																<string>BOOST_THROW_EXCEPTION</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_diagnostic_information</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2083,14 +2092,14 @@
                                                                                                                                         <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>
+																			<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>
@@ -2104,7 +2113,7 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>diagnostic_information</string>
+																<string>current_exception_diagnostic_information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2122,6 +2131,19 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
+														<id>-46</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
                                                                                                                 <id>51</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
@@ -2131,33 +2153,25 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>3</size>
-																			<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-																			<weak>1770110914</weak>
-																			<size>587</size>
-																			<position>1467</position>
-																			<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-																			<weak>3929437933</weak>
-																			<size>361</size>
-																			<position>213</position>
-																			<strong>CD1241D84950468704F3C3F04116B8DA5162A8BEA4364F10951232F49113C5DE</strong>
-																			<weak>1658463867</weak>
-																			<size>121</size>
-																			<position>238</position>
+																			<size>1</size>
+																			<strong>2CCD2A79129C832AB12435E43BB35DE67318A8940A36530EF83C5E617987D661</strong>
+																			<weak>2091122505</weak>
+																			<size>699</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/throw_exception.hpp</string>
+																		<string>../../../../boost/exception/all.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>configuration macros</string>
+																<string>boost/exception/all.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2184,29 +2198,18 @@
                                                                                                                                 <hook>
                                                                                                                                         <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>
+																			<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>current_exception</string>
+																<string>boost/exception/enable_error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2234,28 +2237,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-																			<weak>1770110914</weak>
-																			<size>587</size>
-																			<position>1467</position>
-																			<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-																			<weak>3929437933</weak>
-																			<size>361</size>
-																			<position>213</position>
+																			<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>../../../../boost/throw_exception.hpp</string>
+																		<string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>throw_exception</string>
+																<string>exception_ptr</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2273,6 +2276,19 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
+														<id>-47</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
                                                                                                                 <id>54</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
@@ -2282,32 +2298,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>2</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
-																			<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-																			<weak>765399792</weak>
-																			<size>77</size>
-																			<position>5917</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/exception.hpp</string>
+																		<string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception::~exception</string>
+																<string>boost/throw_exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>exception_destructor</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2332,28 +2344,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-																			<weak>1282550303</weak>
-																			<size>9192</size>
-																			<position>323</position>
-																			<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-																			<weak>1137981799</weak>
-																			<size>192</size>
-																			<position>8994</position>
+																			<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/exception.hpp</string>
+																		<string>../../../../boost/exception/errinfo_file_name.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>enable_current_exception</string>
+																<string>errinfo_file_name</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2380,34 +2392,40 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3</strong>
-																			<weak>94503238</weak>
-																			<size>773</size>
-																			<position>374</position>
+																			<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>0</empty>
-																		<string>../../example/info_tuple.cpp</string>
+																		<string>../../../../boost/exception/get_error_info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>adding grouped data to exceptions</string>
+																<string>get_error_info</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:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -2423,34 +2441,40 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
-																			<weak>2229778754</weak>
-																			<size>631</size>
-																			<position>319</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>../../example/cloning_2.cpp</string>
+																		<string>../../../../boost/throw_exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>cloning and re-throwing an exception</string>
+																<string>throw_exception</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:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -2466,29 +2490,25 @@
                                                                                                                                 <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>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
+																			<weak>414875037</weak>
+																			<size>427</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/info.hpp</string>
+																		<string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>error_info::error_info</string>
+																<string>boost/exception/errinfo_file_open_mode.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2526,10 +2546,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>using virtual inheritance in exception types</string>
+																<string>Macros</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>macros</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2553,21 +2573,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>0</size>
+																			<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>1</empty>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/error_info.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>Synopsis</string>
+																<string>boost/exception/error_info.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>synopsis</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -2592,13 +2623,13 @@
                                                                                                                                         <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>
+																			<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>
@@ -2606,14 +2637,14 @@
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception/current_exception_cast.hpp</string>
+																		<string>../../../../boost/exception/diagnostic_information.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>current_exception_cast</string>
+																<string>diagnostic_information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -2627,25 +2658,43 @@
                                                                                                         <string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>def</string>
-								<shared_ptr>
-									<id>62</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>62</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>
@@ -2656,223 +2705,693 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>63</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>283AE6BE0920B1882100C426958FDF998DEE10226546B300B45C1A26B242FC25</strong>
+																			<weak>722381934</weak>
+																			<size>617</size>
+																			<position>323</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/errinfo_errno.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/errinfo_errno.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>64</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+																			<weak>4080542391</weak>
+																			<size>9174</size>
+																			<position>323</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/exception.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/exception.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>65</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<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>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/errinfo_at_line.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>errinfo_at_line</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>66</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<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>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>errinfo_file_open_mode</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>67</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<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>
+																		</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>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>error_info</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-11</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-12</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>68</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<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>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/throw_exception.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>configuration macros</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    protected:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-35</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-54</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)
    };@]
</string>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>69</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>transporting of arbitrary data to the catch site</string>
+															</title>
+															<file_name>
+																<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:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>70</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<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/errinfo_file_name.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/errinfo_file_name.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>71</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1</strong>
+																			<weak>4248389286</weak>
+																			<size>4113</size>
+																			<position>323</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/info.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/info.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)

(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>72</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
+																			<weak>4175717823</weak>
+																			<size>328</size>
+																			<position>323</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/errinfo_type_info_name.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>73</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<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/info_tuple.hpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>boost/exception/info_tuple.hpp</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>74</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<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>../../example/logging.cpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>diagnostic information</string>
+															</title>
+															<file_name>
+																<string>tutorial_diagnostic_information</string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>75</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>Synopsis</string>
+															</title>
+															<file_name>
+																<string>synopsis</string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>76</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>Headers</string>
+															</title>
+															<file_name>
+																<string>headers</string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>77</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<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>
+															</hook>
+															<title>
+																<string>errinfos example</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>def</string>
+								<shared_ptr>
+									<id>78</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2883,7 +3402,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2894,7 +3413,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2905,7 +3424,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2916,7 +3435,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2927,7 +3446,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2938,7 +3457,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2949,7 +3468,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2960,7 +3479,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2971,7 +3490,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2982,7 +3501,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2993,18 +3512,47 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>7</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>:)
    {
    protected:

(: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="4":)
(: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="4":)
    };@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3015,7 +3563,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3026,7 +3574,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3037,7 +3585,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3048,7 +3596,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3059,7 +3607,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3070,7 +3618,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3081,7 +3629,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3092,7 +3640,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3103,67 +3651,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>[@template <class Tag,class T>
class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    public:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)

(:include </string>
+													<string>[@typedef </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-58</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)
(:include </string>
+													<string><struct errinfo_api_function_,int> </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-30</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)
    };@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-45</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>;@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3174,7 +3693,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3185,7 +3704,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3196,7 +3715,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3207,7 +3726,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3218,18 +3737,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-32</id>
                                                                                                         </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><struct errinfo_errno_,int> </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-32</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>;@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3240,7 +3779,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3251,7 +3790,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3262,7 +3801,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-36</id>
+													</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>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string><struct errinfo_file_handle_,weak_ptr<FILE> > </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-36</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3273,7 +3843,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3284,7 +3854,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3295,7 +3865,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3306,7 +3876,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3317,7 +3887,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3328,32 +3898,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>api</string>
-								<shared_ptr>
-									<id>63</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3364,7 +3920,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3375,7 +3931,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-48</id>
+													</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>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string><struct errinfo_type_info_name_,std::string> </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-48</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3386,7 +3973,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3397,118 +3984,40 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-46</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>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-51</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>-46</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-42</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-52</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-52</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>-55</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3519,7 +4028,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3530,7 +4039,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3541,7 +4050,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-55</id>
+													</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>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string><struct errinfo_file_name_,std::string> </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-55</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3552,7 +4092,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3563,7 +4103,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3574,7 +4114,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3585,7 +4125,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3596,7 +4136,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3607,83 +4147,151 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>15</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
+													<size>0</size>
+												</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>
+												</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>[@typedef </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>:)>
#include <(:link </string>
+													<string><struct errinfo_at_line_,int> </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-65</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-66</id>
+													</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>-34</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string><struct errinfo_file_open_mode_,std::string> </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-37</id>
+															<id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>9</size>
+													<variant>2</variant>
+													<string>[@template <class Tag,class T>
class
(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-27</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string>:)
    {
    public:

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string> decl pre_indent="4":)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>@]
</string>
+													<string> decl pre_indent="4":)
(: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="4":)
    };@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3694,7 +4302,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3705,7 +4313,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3716,60 +4324,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-71</id>
                                                                                                         </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>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-72</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>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3780,7 +4357,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3791,7 +4368,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3802,7 +4379,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3813,76 +4390,143 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>api</string>
+								<shared_ptr>
+									<id>79</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>11</size>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-7</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<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>-13</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> def:)

(:include </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)

typedef (:link </string>
+													<string> decl:)

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-53</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_function,char const *> throw_function;
typedef (:link </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_file,char const *> throw_file;
typedef (:link </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_line,int> throw_line;@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3893,7 +4537,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3904,7 +4548,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3915,40 +4559,29 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-65</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)@]
</string>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-13</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>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3959,7 +4592,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3970,7 +4603,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3981,29 +4614,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-17</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>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-18</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4014,27 +4647,27 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)

namespace
boost
    {
(:include </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)
    }@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4045,7 +4678,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4056,7 +4689,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4067,60 +4700,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-45</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-50</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-18</id>
+															<id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)@]
</string>
-												</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>-47</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4131,7 +4733,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4142,7 +4744,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4153,18 +4755,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-27</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>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4175,7 +4788,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4186,7 +4799,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4197,7 +4810,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4208,7 +4821,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4219,7 +4832,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4230,7 +4843,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4241,18 +4854,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-35</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>-22</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4263,32 +4887,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-37</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>-28</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>decl</string>
-								<shared_ptr>
-									<id>64</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4299,47 +4920,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":)( E const & x,
    (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<
        (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag1,T1>,
        ...,
        (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<TagN,TN> > const & v );@]
</string>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4350,7 +4953,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4361,7 +4964,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4372,7 +4975,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4383,7 +4986,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4394,7 +4997,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4405,29 +5008,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</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>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-14</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4438,7 +5019,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4449,29 +5030,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-50</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>-18</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4482,335 +5052,168 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>29</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class E, class Tag, class T>
E const & (:link </string>
+													<string>[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":)( E const & x, (:link </string>
+													<string>:)>
#include <(: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>:)<Tag,T> const & v );@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<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>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-23</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-24</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-25</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>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & ep );</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-26</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-27</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-28</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</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>5</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) const & (:link </string>
+													<string>:)>
#include <(: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> mod="m":)() const;@]
</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>[@template <class ErrorInfo,class E>
typename ErrorInfo::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-43</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":) const * (:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( E const & x );@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-32</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>[@#if !defined( BOOST_EXCEPTION_DISABLE )
    #include <(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
    #include <boost/current_function.hpp>
    #define (:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(x)\
        ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(x) <<\
        ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|throw_function:)(BOOST_CURRENT_FUNCTION) <<\
        ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|throw_file:)(__FILE__) <<\
        ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|throw_line:)((int)__LINE__) )
#else
    #define (:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(x) ::boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(x)
#endif@]
</string>
+													<string>:)>@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( T const & x );@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4821,78 +5224,49 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-35</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)();
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-35</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & x );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@typedef (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_original_exception_type,std::type_info const *> </string>
+													<string> decl:)

namespace
boost
    {
(:include </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>;@]
</string>
+													<string> decl:)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4903,7 +5277,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4914,7 +5288,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4925,18 +5299,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-39</id>
+													<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:)@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4947,18 +5332,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-60</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>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4969,146 +5365,109 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@template <class T>
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-42</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & e );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@typedef T (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-43</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":);@]
</string>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>11</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class Tag,class T>
class (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:);@]
</string>
-												</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>-46</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>5</size>
+													<string> def:)

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>[@class
(:link </string>
+													<string> decl:)

typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-46</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:):
    public std::exception
    public boost::</string>
+													<string>:)<struct throw_function_,char const *> throw_function;
typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>
    {
    ---unspecified---
    };@]
</string>
+													<string>:)<struct throw_file_,char const *> throw_file;
typedef (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<struct throw_line_,int> throw_line;@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@typedef ---unspecified--- (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5119,7 +5478,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5130,47 +5489,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@template <class E>
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>:)( E const & e );

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>:)( </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> const & p );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5181,113 +5511,104 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-70</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>-47</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:) (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();@]
</string>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@#ifdef BOOST_NO_EXCEPTIONS
    void (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( std::exception const & e ); // user defined
#else
    template <class E>
    void (:link </string>
+													<string> def:)

(:include </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>:)( E const & e );
#endif@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@(:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-54</id>
+															<id>-48</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)();@]
</string>
+													<string> def:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( T const & e );@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5298,7 +5619,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5309,49 +5630,43 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-76</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>-58</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) const & v );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>decl</string>
+								<shared_ptr>
+									<id>80</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5362,482 +5677,775 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class E>
E * </string>
+													<string>[@template <class T>
---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-61</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>();@]
</string>
+													<string>:)( T const & x );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>include</string>
-								<shared_ptr>
-									<id>65</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>27</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

Some exception hierarchies can not be modified to make boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>:) a base type. In this case, the (:link </string>
+													<string>[@typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function template can be used to make exception objects derive from boost::(:link </string>
+													<string>:)<struct tag_original_exception_type,std::type_info const *> </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) anyway. Here is an example:

[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-23</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-11</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <stdexcept>

typedef boost::(:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-11</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string> mod="m":)();@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-12</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link </string>
+													<string>[@template <class T>
(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_std_range_index,size_t> std_range_index;

template <class T>
class
my_container
    {
    public:

    size_t size() const;

    T const &
    operator[]( size_t i ) const
        {
        if( i > size() )
            throw boost::(:link </string>
+													<string>:) (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(std::range_error("Index out of range")) <<
                std_range_min(0) <<
                std_range_max(size()) <<
                std_range_index(i);
        //....
        }
    };
@]

The call to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:)( T const & e );@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-14</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-16</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
+													<string>[@class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and T. This makes it possible to use (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:);@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string> mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) &, so that (:link </string>
+													<string>:) (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-14</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|more information can be added to the exception at a later time:).
</string>
+													<string>:)();@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), or a type that derives (indirectly) from boost::(:link </string>
+													<string> mod="m":)( (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

!!!!Effects:

Equivalent to x << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<0>() << ... << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<N>().

!!!!Returns:

x.

(:include throws:)
</string>
+													<string> mod="m":) const & v );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

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's say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:

[@void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw file_read_error(????);
    }@]

How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.

Using boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<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>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:

[@#include <(:link </string>
+													<string>[@template <class E>
E * </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-23</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <stdio.h>
#include <errno.h>

typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>();@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-23</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-28</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info;

class file_read_error: public boost::(:link </string>
+													<string>[@template <class T>
---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) { };

void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw file_read_error() << errno_info(errno);
    }@]

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:

[@#include <(:link </string>
+													<string>:)( T const & e );@]
</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>-23</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>

typedef boost::(:link </string>
+													<string> mod="m":);@]
</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
(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_file_name,std::string> file_name_info;

boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode );
void file_read( FILE * f, void * buffer, size_t size );

void
parse_file( char const * file_name )
    {
    boost::shared_ptr<FILE> f = file_open(file_name,"rb");
    assert(f);
    try
        {
        char buf[1024];
        file_read( f.get(), buf, sizeof(buf) );
        }
    catch(
    boost::(:link </string>
+													<string>:):
    public std::exception
    public boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
        {
        e << file_name_info(file_name);
        throw;
        }
    }@]

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>
    {
    ---unspecified---
    };@]
</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>-13</id>
+															<id>-33</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>:)( (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-53</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, ''even if the failure is unrelated to file I/O''.
</string>
+													<string>:) const & ep );</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !:)

This is an alphabetical list of all Boost Exception documentation pages.

(:pagelist fmt="index" except_tags="index noindex" mod="w":)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>69</size>
+													<size>0</size>
+												</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>5</size>
                                                                                                         <variant>2</variant>
-													<string>!!Introduction

The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.

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.

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. 

Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-21</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
+													<string> mod="m":) const & (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-40</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function.

!!Contents

#(:link </string>
+													<string> mod="m":)() const;@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
+													<variant>2</variant>
+													<string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-15</id>
+															<id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
#Tutorial
##(:link </string>
+													<string> mod="/":)( E const & x,
    (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<
        (: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> mod="w":)
##(:link </string>
+													<string>:)<Tag1,T1>,
        ...,
        (: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> mod="w":)
##(:link </string>
+													<string>:)<TagN,TN> > const & v );@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-42</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
+													<variant>2</variant>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-21</id>
+															<id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="w":)
##(:link </string>
+													<string> mod="m":)();
(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-16</id>
+															<id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="w":)
##(:link </string>
+													<string> mod="m":)( (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-59</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:) const & x );@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string> mod="w":)
#Documentation
##Class (:link </string>
+													<string>[@template <class E, class Tag, class T>
E const & (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##Throwing Exceptions
###(:link </string>
+													<string> mod="/":)( E const & x, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)<Tag,T> const & v );@]
</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>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>19</size>
+													<variant>2</variant>
+													<string>[@#if !defined( BOOST_EXCEPTION_DISABLE )
    #include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(:link </string>
+													<string>:)>
    #include <boost/current_function.hpp>
    #define (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)(x)\
        ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)( ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5846,685 +6454,803 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)(x) <<\
        ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>|throw_function:)(BOOST_CURRENT_FUNCTION) <<\
        ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link </string>
+													<string>|throw_file:)(__FILE__) <<\
        ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>|throw_line:)((int)__LINE__) )
#else
    #define (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)(x) ::boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-42</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:)(x)
#endif@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-50</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>[@std::string (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)();@]
</string>
+												</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>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>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@typedef ---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-46</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##Diagnostic Information
###(:link </string>
+													<string>:);@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<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>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-55</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-56</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@template <class ErrorInfo,class E>
typename ErrorInfo::(: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>:)
###(:link </string>
+													<string> mod="m":) const * (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##(:link </string>
+													<string>:)( E const & x );@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-57</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@#ifdef BOOST_NO_EXCEPTIONS
    void (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-61</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
#API
##(:link </string>
+													<string>:)( std::exception const & e ); // user defined
#else
    template <class E>
    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>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-19</id>
-														</shared_ptr>
-													</weak_ptr>
-													<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>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-48</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-51</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-17</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-8</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)

!!!Acknowledgements

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.
</string>
+													<string>:)( E const & e );
#endif@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>13</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

Class boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is designed to be used as a universal base for user-defined exception types.

An object of any type deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) can store data of arbitrary types, using the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) wrapper and (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":).

To retrieve data from a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object, use the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-31</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function template.
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

All exception types that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</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.

When exceptions derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<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>7</size>
                                                                                                         <variant>2</variant>
-													<string>:), arbitrary data can be added to exception objects:

*At the point of the throw;
*At a later time as exceptions bubble up the call stack.

(:include </string>
+													<string>[@template <class E>
std::string (: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>:)
(:include </string>
+													<string>:)( E const & e );

std::string (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-7</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
+													<string>:)( </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-56</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
</string>
+													<string> const & p );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>33</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

Traditionally, when using exceptions to report failures, the throw site:

*creates an exception object of the appropriate type, and
*stuffs it with data relevant to the detected error.

A higher context in the program contains a catch statement which:

*selects failures based on exception types, and
*inspects exception objects for data required to deal with the problem.

The main issue with this "traditional" approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.

Here is an example of a catch statement:

[@catch( file_read_error & e )
    {
    std::cerr << e.file_name();
    }@]

And here is a possible matching throw:

[@void
read_file( FILE * f )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error(???);
    ....&#
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!

In an attempt to deal with this problem, we could modify read_file to accept a file name:

[@void
read_file( FILE * f, char const * name )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error(name);
    ....
    }@]

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.

->''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.''

!!!Exception wrapping

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.

Exception wrapping leads to the following problems:

*To wrap an exception object it must be copied, which may result in slicing.
*Wrapping is practically impossible to use in generic contexts.

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.

!!!The boost::exception solution

*Simply derive your exception types from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).
*Confidently limit the throw site to provide only data that is available naturally.
*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.

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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>0</size>
+												</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>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-65</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<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>:) { };
struct io_error: virtual exception_base { };
struct file_read_error: virtual io_error { };

typedef boost::(:link </string>
+													<string>[@template <class Tag,class T>
class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno_code,int> errno_code;

void
read_file( FILE * f )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error() (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) errno_code(errno);
    ....
    }@]

In a higher exception-neutral context, we add the file name to ''any'' exception that derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:);@]
</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>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-69</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-72</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-73</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-74</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-75</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<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>
+							</pair>
+							<pair>
+								<string>include</string>
+								<shared_ptr>
+									<id>81</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-5</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>:):

[@typedef boost::(:link </string>
+													<string>(:auto !!!:)

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:

[@#include <iostream>
struct my_exc1 : std::exception { char const* what() const throw(); };
struct my_exc2 : std::exception { char const* what() const throw(); };
struct your_exc3 : my_exc1, my_exc2 {};

int
main()
    {
    try { throw your_exc3(); }
    catch(std::exception const& e) {}
    catch(...) { std::cout << "whoops!" << std::endl; }
    }@]

The program above outputs "whoops!" because the conversion to std::exception is ambiguous.

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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_file_name,std::string> file_name;

....
try
    {
    if( FILE * fp=fopen("foo.txt","rt") )
        {
        shared_ptr<FILE> f(fp,fclose);
        ....
        read_file(fp); //throws types deriving from boost::(:link </string>
+													<string>:) is used, because it enables exception types to be trivial structs with no members (there's nothing to initialize.) See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
        do_something();
        ....
        }
    else
        throw file_open_error() (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string> mod="w":).
</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>|<<:) errno_code(errno);
    }
catch( boost::(:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

T must be a class with an accessible no-throw copy constructor as per (15.5.1).

!!!!Returns:

* If T derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
+													<string>:), the returned object is of type T and is a copy of x.
* 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>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) file_name("foo.txt");
    throw;
    }@]

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>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:). The T sub-object is initialized from x by the T copy constructor.

!!!!Throws:

Nothing.
</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>:):

[@catch( io_error & e )
    {
    std::cerr << "I/O Error!\n";

    if( std::string const * fn=(:link </string>
+													<string>!!!!Example:

this is a possible output from the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<file_name>(e) )
        std::cerr << "File name: " << *fn << "\n";

    if( int const * c=(:link </string>
+													<string>:) function, as used in ''libs/exception/example/example_io.cpp:''

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<struct fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<errno_code>(e) )
        std::cerr << "OS says: " << strerror(*c) << "\n";
    }@]

In addition, boost::(:link </string>
+													<string>:)_ *] = fopen
[struct 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>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
+													<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) objects added to a boost::(:link </string>
+													<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). This is useful for inclusion in logs and other diagnostic objects.
</string>
+													<string>:)_ *] = rb@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>9</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

This function must not be called outside of a catch block.

!!!!Returns:

If the current exception object can be converted to boost::(:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

This </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) or std::exception, this function returns the same string value returned by (:link </string>
+													<string> typedef is used by </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>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.

Typical use is to call </string>
+													<string> if it defaults to returning an </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> from a top-level function to output diagnostic information about unhandled exceptions:

[@int
main()
    {
    try
        {
        run_program();
        }
    catch(
    error & e )
        {
        //handle error
        }
    catch(
    ...)
        {
        std::cerr << "Unhandled exception!" << std::endl <<
            boost::</string>
+													<string> that refers to an object of type </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>();
        }
    }@]
</string>
+													<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>-19</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

(:pagelist fmt="index" tags="type":)
</string>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
+													<size>19</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
+													<string>(:auto !!!:)

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:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), or a type that derives (indirectly) from boost::(:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

!!!!Postcondition:

A copy of v is stored into x. If x already contains data of type (:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T>, that data is overwritten. Basic exception safety guarantee.

!!!!Returns:

x.

(:include throws:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-21</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

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>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) at the time of the throw is required in order to use cloning.

!!!!Note:

All exceptions emitted by the familiar function boost::(:link </string>
+													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>

typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) are guaranteed to derive from boost::(:link </string>
+													<string>:),boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and to support cloning.

(:include </string>
+													<string>:)> clib_failure;

struct file_open_error: virtual 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>:)
(:include </string>
+													<string>:) { };

boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
    {
    if( FILE * f=fopen(name,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        throw file_open_error() <<
            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>:)
</string>
+													<string>:)(name) <<
            clib_failure("fopen",errno);
    }@]

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>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

Here is how cloning can be enabled in a throw-expression (15.1):

[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <stdio.h>
#include <errno.h>

typedef boost::error_info<struct tag_errno,int> errno_info;

class file_read_error: public boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };

void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-55</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(file_read_error()) <<
            errno_info(errno);
    }@]

Of course, (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-55</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:) may be used with any exception type; there is no requirement that it should derive from boost::(:link </string>
+													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:



Frees all resources associated with a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
+													<string>:) object.

!!!!Throws:



Nothing.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6537,649 +7263,497 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>!!!!Example:

this is a possible output from the (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

As if

[@try
    {
    throw </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-50</id>
+															<id>-28</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(e);
    }
catch(...)
    {
    return (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function, as used in ''libs/exception/example/example_io.cpp:''

[@example_io.cpp(83): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct tag_errno *] = 2, OS says "No such file or directory"
[struct tag_file_name *] = tmp1.txt
[struct tag_function *] = fopen
[struct tag_open_mode *] = rb@]
</string>
+													<string>:)();
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Precondition:

ep shall not be null.

!!!!Throws:



The exception to which ep refers.
</string>
+													<string>(:auto !:)

This is an alphabetical list of all Boost Exception documentation pages.

(:pagelist fmt="index" except_tags="index noindex" mod="w":)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>17</size>
+													<size>79</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

The following example demonstrates how errno can be stored in exception objects using Boost Exception:

[@#include <(:link </string>
+													<string>(:auto !!:)

!!!Why doesn't boost::exception derive from std::exception?

Despite that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-23</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <errno.h>
#include <iostream>

typedef 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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info; //(1)

class my_error: public boost::(:link </string>
+													<string>:) derives from std::exception, using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), public std::exception { }; //(2)

void
f()
    {
    throw my_error() << errno_info(errno); //(3)
    }
@]

First, we instantiate the (:link </string>
+													<string>:) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.

Of course, boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) template using a unique identifier -- tag_errno, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.

Second, we define class my_error, which derives from boost::(: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.)

!!!Why is boost::exception abstract?

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>-13</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
+													<string>:) to an active exception object:

[@catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) to store values in exception objects at the point of the throw.

The stored errno value can be recovered at a later time like this:

[@// ...continued

void
g()
    {
    try
        {
        f();
        }
    catch(
    my_error & x )
        {
        if( int const * err=boost::(:link </string>
+													<string>:) & e )
    {
    e (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<errno_info>(x) )
            std::cerr << "Error code: " << *err;
        }
    }@]

The (:link </string>
+													<string>|<<:) foo_info(foo);
    throw e; //Compile error: boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-16</id>
                                                                                                                 </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.
</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 !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-28</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-29</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

(:pagelist fmt="index" tags="function":)
</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 !!!:)

(:include synopsis:)

!!!!Description:

Returns a const reference to the copy of the value passed to (:link </string>
+													<string>:) is abstract
    }@]

The correct code is:

[@catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)'s constructor stored in the (:link </string>
+													<string>:) & e )
    {
    e (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object.

!!!!Throws:

Nothing.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-31</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>13</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

* ErrorInfo must be an instance of the (:link </string>
+													<string>|<<:) foo_info(foo);
    throw; //Okay, re-throwing the original exception object.
    }@]

!!!What is the space overhead of the boost::exception base class?

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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) template.
* E must be polymorphic.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
+													<string>:) does not by itself cause dynamic memory allocations.

Deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.
* Otherwise, the returned pointer points to the stored value (use (:link </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.

!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?

The benefit of calling boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":) to store values in exception objects.) When x is destroyed, any pointers returned by (: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>-31</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) become invalid.

!!!!Throws:

Nothing.

!!!!Note:

The interface of (:link </string>
+													<string>:) and that it is compatible with boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may be affected by the build (:link </string>
+													<string>:).

The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-51</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-32</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
+													<string>:) macro also results in a call to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>. To recover this information at the catch site, use </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>-31</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>; the information is also included in the message returned by </string>
+													<string>:) to compose a more useful, if not user-friendly message.

Typical use of boost::(: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>.
</string>
-												</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>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

T must be a class with an accessible no-throw copy constructor as per (15.5.1).

!!!!Returns:

* If T derives from boost::(:link </string>
+													<string>:) is:

[@catch( boost::exception & e )
    {
    std::cerr << "OMG!" << boost::diagnostic_information(e);
    }
catch( ... )
    {
    std::cerr << "OMG!!!";
    }@]

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>-13</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), the returned object is of type T and is a copy of x.
* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
+													<string>:) is used:

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). The T sub-object is initialized from x by the T copy constructor.

!!!!Throws:

Nothing.
</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 !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-35</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
+													<string>:)_ *] = fopen
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
+													<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object which shares ownership with x of all data added through (:link </string>
+													<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-66</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":), including data that is added at a future time.

!!!!Throws:

Nothing.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-36</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This </string>
+													<string>:)_ *] = rb@]
!!!Why is boost::exception integrated in boost::throw_exception?

The boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> typedef is used by </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>-52</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> if it defaults to returning an </string>
+													<string>:) as a base of any exception passed to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> that refers to an object of type </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.

The problem is that users of Boost Exception can'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>-46</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<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>-37</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-38</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-17</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>71</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Why doesn't boost::exception derive from std::exception?

Despite that (:link </string>
+													<string>:), and without this they can't use any of the Boost Exception facilities.

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>-59</id>
+															<id>-53</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>:), but this requires that Boost Serialization throws exceptions using boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) derives from std::exception, using the (:link </string>
+													<string>:). If Boost Serialization calls boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-57</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 &) statements.

Of course, boost::(:link </string>
+													<string>:) to throw, this behavior happens automatically and transparently.

The cost of this integration is:

* In terms of space: a pointer and 3 ints are added to the static size of exception objects.
* In terms of speed: the pointer is initialized to null at the point of the throw.
* In terms of coupling: about 400 self-contained lines of C++ with no external includes.

!!!Why use operator<< overload for adding info to exceptions?

Before throwing an object of type that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</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.)

!!!Why is boost::exception abstract?

To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link </string>
+													<string>:), it is often desirable to add one or more (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) to an active exception object:

[@catch( boost::(:link </string>
+													<string>:) objects in it. The syntactic sugar provided by (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
+													<string>:) allows this to be done directly in a throw expression:

[@throw error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) foo_info(foo);
    throw e; //Compile error: boost::(:link </string>
+													<string>|<<:) foo_info(foo) (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) is abstract
    }@]

The correct code is:

[@catch( boost::(:link </string>
+													<string>|<<:) bar_info(bar);@]

which saves typing compared to this possible alternative:

[@error e;
e.add(foo_info(foo));
e.add(bar_info(bar));
throw e;@]

and looks better than something like:

[@throw error().add(foo_info(foo)).add(bar_info(bar));@]

!!!Why is operator<< allowed to throw?

This question is referring to the following issue. Consider this throw statement example:

[@throw file_open_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
+													<string>|<<:) file_name(fn);@]

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>-20</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) foo_info(foo);
    throw; //Okay, re-throwing the original exception object.
    }@]

!!!What is the space overhead of the boost::exception base class?

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> mod="/":) fails to copy the std::string contained in the file_name (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) does not by itself cause dynamic memory allocations.

Deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.

Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:

->''"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."''

So, an attempt to throw any exception may already result in propagating std::bad_alloc instead.
</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>:) 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.

!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?

The benefit of calling boost::(:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

Class boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link </string>
+													<string>:) is designed to be used as a universal base for user-defined exception types.

An object of any type deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and that it is compatible with boost::(:link </string>
+													<string>:) can store data of arbitrary types, using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

The (:link </string>
+													<string>:) wrapper and (: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>:) macro also results in a call to boost::(:link </string>
+													<string> mod="/":).

To retrieve data from a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-16</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>:) object, use the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-50</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) to compose a more useful, if not user-friendly message.

Typical use of boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-50</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:) function template.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>33</size>
                                                                                                         <variant>2</variant>
-													<string>:) is:

[@catch( boost::exception & e )
    {
    std::cerr << "OMG!" << boost::diagnostic_information(e);
    }
catch( ... )
    {
    std::cerr << "OMG!!!";
    }@]

This is a possible message it may display, the first line is only possible if (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

The (: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>:) is used:

[@example_io.cpp(83): Throw in function void parse_file(const char *)
Dynamic exception type: class file_open_error
std::exception::what: example_io error
[struct tag_errno_code *] = 2, OS says "No such file or directory"
[struct tag_file_name *] = tmp1.xml
[struct tag_function *] = fopen
[struct tag_open_mode *] = rb@]
!!!Why is boost::exception integrated in boost::throw_exception?

The boost::(:link </string>
+													<string>:) function must not be called outside of a catch block.

!!!!Returns:

* An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -7188,52 +7762,52 @@
                                                                                                                 </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>:) that refers to the currently handled exception or a copy of the currently handled exception.
* 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>-13</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) as a base of any exception passed to boost::(:link </string>
+													<string>:) that refers to an instance of std::bad_alloc.

!!!!Throws:

Nothing.

!!!!Notes:

* 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>-53</id>
+															<id>-17</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.

The problem is that users of Boost Exception can't by themselves cause a library to throw types that derive from boost::(:link </string>
+													<string>:) refer to the same exception object.
* Correct implementation of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), and without this they can't use any of the Boost Exception facilities.

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>:) may require compiler support, unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), but this requires that Boost Serialization throws exceptions using boost::(: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>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). If Boost Serialization calls boost::(:link </string>
+													<string> fails to properly copy the current exception object, it returns an </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -7242,152 +7816,169 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) to throw, this behavior happens automatically and transparently.

The cost of this integration is:

* In terms of space: a pointer and 3 ints are added to the static size of exception objects.
* In terms of speed: the pointer is initialized to null at the point of the throw.
* In terms of coupling: about 400 self-contained lines of C++ with no external includes.

!!!Why use operator<< overload for adding info to exceptions?

Before throwing an object of type that derives from boost::(: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>-13</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), it is often desirable to add one or more (: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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) objects in it. The syntactic sugar provided by (:link </string>
+													<string>, and:
** if the original exception object derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) allows this to be done directly in a throw expression:

[@throw error() (:link </string>
+													<string>:), then the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) foo_info(foo) (: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>-20</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) bar_info(bar);@]

which saves typing compared to this possible alternative:

[@error e;
e.add(foo_info(foo));
e.add(bar_info(bar));
throw e;@]

and looks better than something like:

[@throw error().add(foo_info(foo)).add(bar_info(bar));@]

!!!Why is operator<< allowed to throw?

This question is referring to the following issue. Consider this throw statement example:

[@throw file_open_error() (:link </string>
+													<string> is initialized by the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) file_name(fn);@]

The intention here is to throw a file_open_error, however if (:link </string>
+													<string>:) copy constructor;
** 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>-20</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":) fails to copy the std::string contained in the file_name </string>
+													<string><</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.

Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:

->''"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."''

So, an attempt to throw any exception may already result in propagating std::bad_alloc instead.
</string>
+													<string>>.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

Deriving from boost::(:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

Stores a copy of v in the </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-67</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.

In other words: with boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string> object.

(:include throws:)
</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>:), 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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

This header has been deprecated.

Please #include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]

Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.
</string>
+													<string>> instead.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

(:pagelist tags="hpp":)
</string>
+													<string>(:auto !!:)

(:pagelist fmt="index" tags="function":)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

This function must not be called outside of a catch block.

!!!!Returns:

A pointer of type E to the current exception object, or null if the current exception object can not be converted to E *.

!!!!Throws:

Nothing.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7400,505 +7991,561 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>11</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

As if

[@try
    {
    throw </string>
+													<string>(:auto !!:)

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>-55</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(e);
    }
catch(...)
    {
    return (:link </string>
+													<string>:) at the time of the throw is required in order to use cloning.

!!!!Note:

All exceptions emitted by the familiar function boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-43</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>5</size>
+													<string>:) are guaranteed to 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 !!!:)

(:include synopsis:)

!!!!Definition:

The expression </string>
+													<string>:) and to support cloning.

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-25</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string><Tag,T>::(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-43</id>
+															<id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":) evaluates to T.</string>
+													<string>:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>37</size>
+													<size>15</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)

!!!!Description:

This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
+													<string>(:auto !!!:)

Here is how cloning can be enabled in a throw-expression (15.1):

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T> can be passed to (:link </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":) to be stored in objects of type boost::(:link </string>
+													<string>:)>
#include <stdio.h>
#include <errno.h>

struct file_read_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

!!!!Usage:

The header <(:link </string>
+													<string>:) { };

void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)> provides a declaration of the (:link </string>
+													<string>:)(file_read_error()) <<
            boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-32</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:

[@#include <(:link </string>
+													<string>:)(errno);
    }@]

Of course, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

struct tag_errno;
typedef 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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<tag_errno,int> errno_info;@]

Or, the shorter equivalent:

[@#include <(:link </string>
+													<string>:).
</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>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (: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>:)>

typedef 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>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info;@]

This errno_info typedef can be passed to (:link </string>
+													<string>:).

!!!Example:

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":) (#include <(:link </string>
+													<string>:)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

!!!!Requirements:

* T must be a class with an accessible no-throw copy constructor.
* If T has any virtual base types, those types must have an accessible default constructor.

!!!!Returns:

An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).

!!!!Description:



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>-27</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)> first) to store an int named tag_errno in exceptions of types that derive from boost::(:link </string>
+													<string>:) support in Boost Exception. For example:

[@class
my_exception:
    public std::exception
    {
    };

....
throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:):

[@throw file_read_error() (:link </string>
+													<string>:)(my_exception());@]

Unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|<<:) errno_info(errno);@]

It can also be passed to (: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>-31</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) (#include <(:link </string>
+													<string>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-37</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)> first) to retrieve the tag_errno int from a boost::(:link </string>
+													<string>:) which refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:):

[@catch( boost::(:link </string>
+													<string>:). See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & x )
    {
    if( int const * e=boost::(:link </string>
+													<string>:) for details.

!!!!Note:

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>-31</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<errno_info>(x) )
        ....
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-45</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-46</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is used by the (: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>-47</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) support in Boost Exception. Please see (:link </string>
+													<string>:) and supports the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
+													<string>:) functionality.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>25</size>
+													<size>19</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

The (:link </string>
+													<string>(:auto !!!:)

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's say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:

[@void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw file_read_error(????);
    }@]

How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.

Using boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-16</id>
                                                                                                                 </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>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:

[@`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)'s operations do not throw.

The referenced object remains valid at least as long as there is an (:link </string>
+													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <errno.h>

struct file_read_error: virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object that refers to it.

Two instances of (:link </string>
+													<string>:) { };

void
file_read( FILE * f, void * buffer, size_t size )
    {
    if( size!=fread(buffer,1,size,f) )
        throw file_read_error() << boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of (:link </string>
+													<string>:)(errno);
    }@]

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:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) produces the null value of the type. The null value is equivalent only to itself.

!!!!Thread safety

* It is legal for multiple threads to hold (:link </string>
+													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>

boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode );
void file_read( FILE * f, void * buffer, size_t size );

void
parse_file( char const * file_name )
    {
    boost::shared_ptr<FILE> f = file_open(file_name,"rb");
    assert(f);
    try
        {
        char buf[1024];
        file_read( f.get(), buf, sizeof(buf) );
        }
    catch(
    boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) references to the same exception object.
* It is illegal for multiple threads to modify the same (:link </string>
+													<string>:) & e )
        {
        e << boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-55</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object concurrently.
* While calling (:link </string>
+													<string>:)(file_name);
        throw;
        }
    }@]

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>-52</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>:) 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>-25</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) concurrently to throw the same exception object into multiple threads.

!!!!Nesting of exceptions:

An (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:) object is that the file name is relevant to any failure that occurs in parse_file, ''even if the failure is unrelated to file I/O''.
</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>:) can be added as (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Definition:

The expression </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) to any boost::(:link </string>
+													<string><Tag,T>::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-30</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.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-48</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

(:pagelist tags="macro":)
</string>
+													<string> mod="m":) evaluates to T.</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>19</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

Boost Exception provides a namespace-scope function (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

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>:) which takes a boost::(:link </string>
+													<string>:) support in Boost Exception. Please see (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). The returned string contains:

*the string representation of all data objects added to the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:).
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-32</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
                                                                                                         <variant>2</variant>
-													<string>:) through (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.

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:

[@#include <(:link </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>-23</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <iostream>

void f(); //throws unknown types that derive from boost::(:link </string>
+													<string>:).

!!!Example:

(: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>:).

void
g()
    {
    try
        {
        f();
        }
    catch(
    boost::(:link </string>
+													<string>:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-33</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Precondition:

ep shall not be null.

!!!!Throws:



The exception to which ep refers.
</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 !!:)

(:pagelist fmt="index" tags="type":)
</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>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
        {
        std::cerr << (:link </string>
+													<string>:) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr<FILE> in exceptions deriving from 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>:)(e);
        }
    }@]

(:include </string>
+													<string>:).

!!!Example:

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-24</id>
+															<id>-77</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7909,493 +8556,554 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

!!!!Returns:

A string value that contains varying amount of implementation-specific diagnostic information about the passed object:

*If E can be statically converted to boost::(:link </string>
+													<string>(:auto !!!:)

When you catch an exception, you can call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), the returned value contains the string representations of all (:link </string>
+													<string>:) to get an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) objects stored in the boost::(:link </string>
+													<string>:) object:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) through (:link </string>
+													<string>:)>
#include <boost/thread.hpp>
#include <boost/bind.hpp>

void do_work(); //throws cloning-enabled boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="/":), 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.
*Otherwise, if E can be statically converted std::exception:
**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>:)s

void
worker_thread( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link </string>
+													<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(: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>:) template is not available.

The string representation of each (:link </string>
+													<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-17</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>:)();
        }
    }@]

In the above example, note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T> template is instantiated. The following overload resolutions are attempted in order:

#Unqualified call to to_string(x), where x is of type (:link </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>-44</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T> (the return value is expected to be of type std::string.)
#Unqualified call to to_string(x.(:link </string>
+													<string>:) function:

[@// ...continued

void
work()
    {
    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> mod="m":)()) (the return value is expected to be of type std::string.)
#Unqualified call to s << x.(:link </string>
+													<string>:) error;
    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)) );
    t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();
    if( error )
        boost::(: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> mod="m":)(), where s is a std::ostringstream.

The first successfully bound function is used at the time (:link </string>
+													<string>:)(error);
    }@]

Note that (: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>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
+													<string>:) could fail to copy the original exception object in the following cases:

* if there is not enough memory, in which case the returned (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object to string, and ''an unspecified stub string value is used without issuing a compile error.''

The </string>
+													<string>:) points to an instance of std::bad_alloc, or
* if (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> overload of </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> is equivalent to:

[@if( p )
    try
        {
        </string>
+													<string>:) points to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(p);
        }
    catch(...)
        {
        return </string>
+													<string>:).

Regardless, the use of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>();
        }
else return <unspecified-string-value>;@]

!!!!Notes:

*The format of the returned string is unspecified.
*The returned string is ''not'' user-friendly.
*The returned string may include additional platform-specific diagnostic information.


(:include </string>
+													<string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-24</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
</string>
+													<string>:) in the above examples is well-formed.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>19</size>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

Boost Exception responds to the following configuration macros:

'''BOOST_NO_RTTI'''\\
'''BOOST_NO_TYPEID'''

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:

->By default, the (:link </string>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Description:

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>-31</id>
+															<id>-67</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>:)'s constructor stored in the (: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>:) can be used only with objects of type boost::(:link </string>
+													<string>:) object.

!!!!Throws:

Nothing.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

!!!!Note:

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.

'''BOOST_EXCEPTION_DISABLE'''

By default, (:link </string>
+													<string>:), or a type that derives (indirectly) from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and (:link </string>
+													<string>:).

!!!!Effects:

Equivalent to x << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<0>() << ... << v.(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements|get:)<N>().

!!!!Returns:

x.

(:include throws:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-42</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) are integrated directly in the (:link </string>
+													<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.

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>:) object which shares ownership with x of all data added through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

'''BOOST_NO_EXCEPTIONS'''

This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
+													<string> mod="/":), including data that is added at a future time.

!!!!Throws:

Nothing.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-16</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>:), or a type that derives (indirectly) from 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> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)
</string>
+													<string>:).

!!!!Postcondition:

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>:)<Tag,T>, that data is overwritten. Basic exception safety guarantee.

!!!!Returns:

x.

(:include throws:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>33</size>
+													<size>69</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

The (:link </string>
+													<string>!!Introduction

The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.

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.

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. 

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>-52</id>
+															<id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function must not be called outside of a catch block.

!!!!Returns:

* An (: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>-47</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) that refers to the currently handled exception or a copy of the currently handled exception.
* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+													<string>:) function.

!!Contents

#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-45</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) that refers to an instance of std::bad_alloc.

!!!!Throws:

Nothing.

!!!!Notes:

* It is unspecified whether the return values of two successive calls to (:link </string>
+													<string>:)
#Tutorial
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-69</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) refer to the same exception object.
* Correct implementation of (:link </string>
+													<string> mod="w":)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-47</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may require compiler support, unless (:link </string>
+													<string> mod="w":)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-24</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> mod="w":)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> fails to properly copy the current exception object, it returns an </string>
+													<string> mod="w":)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-5</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> mod="w":)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-46</id>
+															<id>-74</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> as a final fallback. All such types derive from boost::</string>
+													<string> mod="w":)
#Documentation
##Class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>, and:
** if the original exception object derives from boost::(:link </string>
+													<string>:)
##Throwing Exceptions
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), then the boost::(:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) sub-object of the object referred to by the returned </string>
+													<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(: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> is initialized by the boost::(:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) copy constructor;
** if available, the exception contains the std::type_info of the original exception object, accessible through </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string><</string>
+													<string>:)
###(:link </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>>.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-53</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>17</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must derive publicly from std::exception.

!!!!Effects:

* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(e) is equivalent to throw boost::(:link </string>
+													<string>:)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(: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>:)(boost::(:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-33</id>
+															<id>-28</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(e) is equivalent to throw e;
* 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>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-13</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>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) returns, the behavior is undefined.

!!!!Note:

Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::</string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -8404,427 +9112,414 @@
                                                                                                                 </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>-50</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>.</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-54</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:



Frees all resources associated with a boost::(:link </string>
+													<string>:)
##Diagnostic Information
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object.

!!!!Throws:



Nothing.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-55</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>21</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

* T must be a class with an accessible no-throw copy constructor.
* If T has any virtual base types, those types must have an accessible default constructor.

!!!!Returns:

An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).

!!!!Description:



This function is designed to be used directly in a throw-expression to enable the (:link </string>
+													<string>:)
###(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) support in Boost Exception. For example:

[@class
my_exception:
    public std::exception
    {
    };

....
throw boost::(:link </string>
+													<string>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(my_exception());@]

Unless (:link </string>
+													<string>:)
#API
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</id>
+															<id>-75</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>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-76</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may return an (:link </string>
+													<string>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) which refers to an instance of (:link </string>
+													<string>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-46</id>
+															<id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). See (:link </string>
+													<string>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-59</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) for details.

!!!!Note:

Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+													<string>:)
##(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-53</id>
+															<id>-68</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+													<string> mod="w":)
#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and supports the (:link </string>
+													<string> mod="w":)
#(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) functionality.
</string>
+													<string> mod="w":)

!!!Acknowledgements

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.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>13</size>
+													<size>33</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

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:

[@#include <(:link </string>
+													<string>(:auto !!!:)

Traditionally, when using exceptions to report failures, the throw site:

*creates an exception object of the appropriate type, and
*stuffs it with data relevant to the detected error.

A higher context in the program contains a catch statement which:

*selects failures based on exception types, and
*inspects exception objects for data required to deal with the problem.

The main issue with this "traditional" approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.

Here is an example of a catch statement:

[@catch( file_read_error & e )
    {
    std::cerr << e.file_name();
    }@]

And here is a possible matching throw:

[@void
read_file( FILE * f )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error(???);
    ....&#
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!

In an attempt to deal with this problem, we could modify read_file to accept a file name:

[@void
read_file( FILE * f, char const * name )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error(name);
    ....
    }@]

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.

->''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.''

!!!Exception wrapping

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.

Exception wrapping leads to the following problems:

*To wrap an exception object it must be copied, which may result in slicing.
*Wrapping is practically impossible to use in generic contexts.

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.

!!!The boost::exception solution

*Simply derive your exception types from 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>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>

typedef boost::(:link </string>
+													<string>:).
*Confidently limit the throw site to provide only data that is available naturally.
*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.

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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_file_name,std::string> file_name_info;
typedef boost::(:link </string>
+													<string>:) { };
struct io_error: virtual exception_base { };
struct file_read_error: virtual io_error { };

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_function,char const *> function_info;
typedef boost::(:link </string>
+													<string>:)<struct tag_errno_code,int> errno_code;

void
read_file( FILE * f )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info;
typedef boost::tuple<function_info,errno_info> clib_failure;

class file_open_error: public boost::(:link </string>
+													<string>|<<:) errno_code(errno);
    ....
    }@]

In a higher exception-neutral context, we add the file name to ''any'' exception that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) { };

boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
    {
    if( FILE * f=fopen(name,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        throw file_open_error() <<
            file_name_info(name) <<
            clib_failure("fopen",errno);
    }@]

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>:):

[@typedef boost::(: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>:).
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-57</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>37</size>
+													<string>:)<struct tag_file_name,std::string> file_name;

....
try
    {
    if( FILE * fp=fopen("foo.txt","rt") )
        {
        shared_ptr<FILE> f(fp,fclose);
        ....
        read_file(fp); //throws types 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>(:auto !!!:)

When you catch an exception, you can call (:link </string>
+													<string>:)
        do_something();
        ....
        }
    else
        throw file_open_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) to get an (:link </string>
+													<string>|<<:) errno_code(errno);
    }
catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object:

[@#include <(:link </string>
+													<string>:) & e )
    {
    e (: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>:)>
#include <boost/thread.hpp>
#include <boost/bind.hpp>

void do_work(); //throws cloning-enabled boost::(:link </string>
+													<string>|<<:) file_name("foo.txt");
    throw;
    }@]

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>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)s

void
worker_thread( boost::(:link </string>
+													<string>:):

[@catch( io_error & e )
    {
    std::cerr << "I/O Error!\n";

    if( std::string const * fn=(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(:link </string>
+													<string>:)<file_name>(e) )
        std::cerr << "File name: " << *fn << "\n";

    if( int const * c=(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
+													<string>:)<errno_code>(e) )
        std::cerr << "OS says: " << strerror(*c) << "\n";
    }@]

In addition, boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();
        }
    }@]

In the above example, note that (:link </string>
+													<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>-52</id>
+															<id>-67</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>:) objects added to a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function:

[@// ...continued

void
work()
    {
    boost::(:link </string>
+													<string>:). This is useful for inclusion in logs and other diagnostic objects.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-48</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard </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>:) error;
    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)) );
    t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();
    if( error )
        boost::(:link </string>
+													<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>-25</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(error);
    }@]

Note that (:link </string>
+													<string> objects.</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

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>-52</id>
+															<id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) could fail to copy the original exception object in the following cases:

* if there is not enough memory, in which case the returned (:link </string>
+													<string>. To recover this information at the catch site, use </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) points to an instance of std::bad_alloc, or
* if (:link </string>
+													<string>; the information is also included in the message returned by </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-55</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>.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-50</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>9</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

This function must not be called outside of a catch block.

!!!!Returns:

If the current exception object can be converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-47</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) points to an instance of (:link </string>
+													<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>-46</id>
+															<id>-61</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

Regardless, the use of (:link </string>
+													<string>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.

Typical use is to call </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-52</id>
+															<id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and (:link </string>
+													<string> from a top-level function to output diagnostic information about unhandled exceptions:

[@int
main()
    {
    try
        {
        run_program();
        }
    catch(
    error & e )
        {
        //handle error
        }
    catch(
    ...)
        {
        std::cerr << "Unhandled exception!" << std::endl <<
            boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) in the above examples is well-formed.
</string>
+													<string>();
        }
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>7</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

Stores a copy of v in the </string>
+													<string>(:auto !!!:)

Deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-44</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> object.

(:include throws:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-59</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

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:

[@#include <iostream>
struct my_exc1 : std::exception { char const* what() const throw(); };
struct my_exc2 : std::exception { char const* what() const throw(); };
struct your_exc3 : my_exc1, my_exc2 {};

int
main()
    {
    try { throw your_exc3(); }
    catch(std::exception const& e) {}
    catch(...) { std::cout << "whoops!" << std::endl; }
    }@]

The program above outputs "whoops!" because the conversion to std::exception is ambiguous.

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>:) 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.

In other words: with boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) is used, because it enables exception types to be trivial structs with no members (there's nothing to initialize.) See (:link </string>
+													<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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -8833,252 +9528,2342 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="w":).
</string>
+													<string>:) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]

Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>45</size>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>!!Synopsis

List of documented definitions, declarations and includes by header file:

`#include <(:link </string>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-52</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-53</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>25</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </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>-34</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:)'s operations do not throw.

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>-38</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) object that refers to it.

Two instances of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:) are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-27</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) produces the null value of the type. The null value is equivalent only to itself.

!!!!Thread safety

* It is legal for multiple threads to hold (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-27</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:) references to the same exception object.
* It is illegal for multiple threads to modify the same (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) object concurrently.
* While calling (: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> synopsis:)@]

`#include <(: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>-28</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) concurrently to throw the same exception object into multiple threads.

!!!!Nesting of exceptions:

An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-28</id>
+															<id>-53</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:) can be added as (: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>:)>

[@(:include </string>
+													<string>:) to any 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> synopsis:)@]

`#include <(:link </string>
+													<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.
</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>(:auto !!:)

Some exception hierarchies can not be modified to make boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) a base type. In this case, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(: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>-10</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:) anyway. Here is an example:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-51</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:)>
#include <stdexcept>

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-67</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include </string>
+													<string>:)<struct tag_std_range_index,size_t> std_range_index;

template <class T>
class
my_container
    {
    public:

    size_t size() const;

    T const &
    operator[]( size_t i ) const
        {
        if( i > size() )
            throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> synopsis:)@]

`#include <(:link </string>
+													<string>:)(std::range_error("Index out of range")) <<
                std_range_min(0) <<
                std_range_max(size()) <<
                std_range_index(i);
        //....
        }
    };
@]

The call to (: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>:)>

(:include </string>
+													<string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both 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> synopsis:)
</string>
+													<string>:) and T. This makes it possible to use (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, 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>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) &, so that (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-69</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>|more information can be added to the exception at a later time:).
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-54</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </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 a relevant file name in exceptions 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>:).

!!!Example:

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-77</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-56</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>13</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

* ErrorInfo must be an instance 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>:) template.
* E must be polymorphic.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.
* Otherwise, the returned pointer points to the stored value (use (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="/":) 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>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) become invalid.

!!!!Throws:

Nothing.

!!!!Note:

The interface of (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) may be affected by the build (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-68</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).
</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 !!!:)

(:include synopsis:)

!!!!Requirements:

E must derive publicly from std::exception.

!!!!Effects:

* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-57</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)(e) is equivalent to throw boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-28</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<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>:)(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>:)(e) is equivalent to throw e;
* 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>-57</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-57</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) returns, the behavior is undefined.

!!!!Note:

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>-58</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-59</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!:)

(:pagelist tags="macro":)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

!!!!Returns:

A string value that contains varying amount of implementation-specific diagnostic information about the passed object:

*If E can be statically 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>:), the returned value contains the string representations of all (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) objects stored in 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="/":), 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.
*Otherwise, if E can be statically converted std::exception:
**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>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) template is not available.

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>:)<Tag,T> template is instantiated. The following overload resolutions are attempted in order:

#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>:)<Tag,T> (the return value is expected to be of type std::string.)
#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="m":)()) (the return value is expected to be of type std::string.)
#Unqualified call to s << 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="m":)(), where s is a std::ostringstream.

The first successfully bound function is used at the time (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) object to string, and ''an unspecified stub string value is used without issuing a compile error.''

The </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-53</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> overload of </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> is equivalent to:

[@if( p )
    try
        {
        </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-33</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(p);
        }
    catch(...)
        {
        return </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-50</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>();
        }
else return <unspecified-string-value>;@]

!!!!Notes:

*The format of the returned string is unspecified.
*The returned string is ''not'' user-friendly.
*The returned string may include additional platform-specific diagnostic information.


(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</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 !!!:)

The following example demonstrates how errno can be stored in exception objects using Boost Exception:

[@#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-51</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>
#include <iostream>

typedef boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<struct tag_my_info,int> my_info; //(1)

struct my_error: 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>:), virtual std::exception { }; //(2)

void
f()
    {
    throw my_error() << my_info(42); //(3)
    }@]

First, we instantiate the (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</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.

Second, we define class my_error, which derives 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>:).

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>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>|operator<<:) to store values in exception objects at the point of the throw.

The stored my_info value can be recovered at a later time like this:

[@// ...continued

void
g()
    {
    try
        {
        f();
        }
    catch(
    my_error & x )
        {
        if( int const * mi=boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<my_info>(x) )
            std::cerr << "My info: " << *mi;
        }
    }@]

The (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</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.
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </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 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>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).

!!!Example:

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-77</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</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 !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </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 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>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).

!!!Example:

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-77</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</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 !!!:)

(:include synopsis:)

!!!!Requirements:

T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)

!!!!Description:

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>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<Tag,T> can be passed to (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="/":) to be stored in objects of type boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).

!!!!Usage:

The header <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)> provides a declaration 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>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, for example:

[@#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

struct tag_errno;
typedef boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<tag_errno,int> errno_info;@]

Or, the shorter equivalent:

[@#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

typedef boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<struct tag_errno,int> errno_info;@]

This errno_info typedef can be passed to (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="/":) (#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)> 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>:):

[@throw file_read_error() (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>|<<:) errno_info(errno);@]

It can also be passed to (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) (#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-27</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)> first) to retrieve the tag_errno int from 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>:):

[@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>:) & x )
    {
    if( int const * e=boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)<errno_info>(x) )
        ....
    }@]

For convenience and uniformity, Boost Exception defines the following commonly used (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-67</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>-43</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="/":):

(:pagelist tags="error_info_instance":)
</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 !!:)

Boost Exception responds to the following configuration macros:

'''BOOST_NO_RTTI'''\\
'''BOOST_NO_TYPEID'''

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:

->By default, the (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-56</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) can be used only with objects of type boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).

!!!!Note:

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.

'''BOOST_EXCEPTION_DISABLE'''

By default, (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-28</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) and (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-6</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) are integrated directly in the (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-57</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.

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>-54</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:).

'''BOOST_NO_EXCEPTIONS'''

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>-57</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</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.)
</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 !!:)

All exception 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>:) 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.

When exceptions 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>:), arbitrary data can be added to exception objects:

*At the point of the throw;
*At a later time as exceptions bubble up the call stack.

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-62</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-29</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-10</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

!!!Synopsis

(:include synopsis:)
</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 !!:)

Boost Exception provides a namespace-scope function (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) which takes 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>:). The returned string contains:

*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="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.

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:

[@#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-51</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>
#include <iostream>

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>:).

void
g()
    {
    try
        {
        f();
        }
    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>:) & e )
        {
        std::cerr << (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-61</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)(e);
        }
    }@]

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-75</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>73</size>
+													<variant>2</variant>
+													<string>!!Synopsis

List of documented definitions, declarations and includes by header file:

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-64</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-64</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-73</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-73</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-52</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-52</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-19</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-19</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-35</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-35</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-37</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-37</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-54</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-54</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)@]

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-39</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-39</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-12</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-12</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-63</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-63</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-70</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-70</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-58</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-58</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-72</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-72</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)

`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-51</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-51</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)
</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 !!:)

(:pagelist tags="hpp" except_tags="noindex":)
</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 <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-39</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-12</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-63</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-70</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-58</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-54</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#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::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> { };
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
        </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-49</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(
            file_open_error() <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-26</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>("fopen") <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-32</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(errno) <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-55</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(file) <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-66</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(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()) )
        </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-49</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(
            file_read_error() <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-26</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>("fread") <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-32</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(errno) <<
            boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-36</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>(f) );
    return nr;
    }@]
</string>
+												</container>
+											</pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>throws</string>
+								<shared_ptr>
+									<id>82</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-5</id>
+													</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-7</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-11</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-12</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-14</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-16</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-18</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
+													<variant>2</variant>
+													<string>!!!!Throws:

Any exception emitted by v's copy constructor.</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<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>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-23</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-28</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</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>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-31</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-35</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-36</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-38</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</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>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

This function must not be called outside of a catch block.

!!!!Returns:

A pointer of type E to the current exception object, or null if the current exception object can not be converted to E *.

!!!!Throws:

Nothing.
</string>
+													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.
</string>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>throws</string>
-								<shared_ptr>
-									<id>66</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9089,20 +11874,20 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.
</string>
+													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9113,7 +11898,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9124,7 +11909,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9135,7 +11920,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9146,7 +11931,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9157,7 +11942,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9168,7 +11953,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9179,7 +11964,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9190,7 +11975,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9201,7 +11986,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9212,7 +11997,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9223,20 +12008,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9247,7 +12030,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9258,7 +12041,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9269,7 +12052,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9280,7 +12063,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9291,7 +12074,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9302,7 +12085,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9313,7 +12096,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9324,7 +12107,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9335,7 +12118,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9346,7 +12129,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9357,7 +12140,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9368,7 +12151,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9379,7 +12162,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9390,7 +12173,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9401,7 +12184,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9412,7 +12195,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9423,7 +12206,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9434,7 +12217,65 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-74</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-75</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<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>
+							</pair>
+							<pair>
+								<string>synopsis</string>
+								<shared_ptr>
+									<id>83</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>73</size>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9445,7 +12286,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-6</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>-52</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9456,29 +12319,51 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-8</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>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-64</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9489,7 +12374,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9500,29 +12385,51 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-12</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>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-45</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9533,7 +12440,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9544,51 +12451,95 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-64</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@#include <string>

namespace
boost
    {
(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl pre_indent="4":)

(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9599,7 +12550,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9610,29 +12561,51 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-22</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>-35</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-23</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>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

namespace
boost
    {
    template <class> class weak_ptr;
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9643,7 +12616,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9654,42 +12627,73 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-26</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>-39</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-39</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>!!!!Throws:

Any exception emitted by v's copy constructor.</string>
+													<string>[@#include <boost/shared_ptr.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-28</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>-37</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9700,85 +12704,104 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>synopsis</string>
-								<shared_ptr>
-									<id>67</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>57</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include </string>
+													<string>>

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-63</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)
    }@]
</string>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9789,7 +12812,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9802,29 +12825,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <(:link </string>
+													<string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9835,7 +12867,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -9846,7 +12878,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9857,73 +12889,82 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-14</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-71</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@(:include decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-45</id>
+															<id>-73</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>\\

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>:)>

[@namespace
boost
    {
(: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="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9934,7 +12975,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9945,7 +12986,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-27</id>
+															<id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -9956,7 +12997,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9967,7 +13008,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9978,108 +13019,82 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@(:include api:)@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-24</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-25</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>3</size>
+													<string>`#include <</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-72</id>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>>

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-72</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-26</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <(:link </string>
+													<string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-54</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>>

(:include decl:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <</string>
+													<string>`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>:)>\\

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10090,169 +13105,176 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@(:include decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-31</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>[@(:include api:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <</string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

(:include decl:)
</string>
+													<string>>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <</string>
+													<string>`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-28</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>(:include api:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-70</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-70</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <boost/shared_ptr.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-54</id>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>:)>

[@namespace
boost
    {
(:include decl:)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</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>-60</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>>
#include <string>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10263,163 +13285,150 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <</string>
+													<string>`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-27</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>
#include <boost/tuple/tuple.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>:)>\\

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include api:)
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>>
#include <errno.h>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@(:include decl:)@]
</string>
+													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>`#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>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
-												</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>[@#include <string>

namespace
boost
    {
(:include </string>
+													<string>>

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-13</id>
+															<id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl pre_indent="4":)

(:include api pre_indent="4":)
    }@]
</string>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>>

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-58</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> synopsis:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10430,18 +13439,18 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10452,7 +13461,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10463,117 +13472,95 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-45</id>
+															<id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>\\

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>>
#include <string>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </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>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-10</id>
+															<id>-64</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>:)>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-60</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl:)
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-54</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>>
#include <string>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <</string>
+													<string>[@#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-71</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>>
#include <boost/tuple/tuple.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10584,7 +13571,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10595,29 +13582,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@(:include decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-59</id>
+														<id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10628,35 +13593,13 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-77</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>3</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
-												</container>
-											</pair>
                                                                                 </sorted>
                                                                         </object>
                                                                 </shared_ptr>
@@ -10667,14 +13610,14 @@
                         </layers>
                         <contexts>
                                 <shared_ptr>
-					<id>68</id>
+					<id>84</id>
                                         <type>
                                                 <string>reno_context_map</string>
                                         </type>
                                         <object>
                                                 <contexts>
                                                         <sorted>
-								<size>57</size>
+								<size>73</size>
                                                                 <shared_ptr>
                                                                         <id>-5</id>
                                                                 </shared_ptr>
@@ -10709,6 +13652,12 @@
                                                                         <id>-15</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+									<id>-16</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-17</id>
+								</shared_ptr>
+								<shared_ptr>
                                                                         <id>-18</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -10772,12 +13721,6 @@
                                                                         <id>-38</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
-									<id>-17</id>
-								</shared_ptr>
-								<shared_ptr>
-									<id>-16</id>
-								</shared_ptr>
-								<shared_ptr>
                                                                         <id>-39</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -10799,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>
@@ -10814,6 +13751,9 @@
                                                                         <id>-50</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+									<id>-46</id>
+								</shared_ptr>
+								<shared_ptr>
                                                                         <id>-51</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -10823,6 +13763,9 @@
                                                                         <id>-53</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+									<id>-47</id>
+								</shared_ptr>
+								<shared_ptr>
                                                                         <id>-54</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -10846,11 +13789,59 @@
                                                                 <shared_ptr>
                                                                         <id>-61</id>
                                                                 </shared_ptr>
+								<shared_ptr>
+									<id>-62</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-63</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-64</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-65</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-66</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-67</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-68</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-69</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-70</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-71</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-72</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-73</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-74</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-75</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-76</id>
+								</shared_ptr>
+								<shared_ptr>
+									<id>-77</id>
+								</shared_ptr>
                                                         </sorted>
                                                 </contexts>
                                                 <index>
                                                         <sorted>
-								<size>57</size>
+								<size>73</size>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
@@ -10865,7 +13856,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-12</id>
+										<id>-44</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10882,7 +13873,24 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-21</id>
+										<id>-24</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-69</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10916,242 +13924,597 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-8</id>
+										<id>-52</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-37</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-45</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-5</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-46</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-15</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-21</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-76</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-34</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-59</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>0</size>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>1</empty>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-75</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>1</size>
+												<strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
+												<weak>3194412598</weak>
+												<size>4599</size>
+												<position>323</position>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/exception/diagnostic_information.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-19</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>1</size>
+												<strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
+												<weak>3352783584</weak>
+												<size>12170</size>
+												<position>323</position>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/exception_ptr.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-9</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<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/errinfo_file_name.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-70</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<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>1</empty>
+											<empty>0</empty>
+											<string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-28</id>
+										<id>-66</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<size>1</size>
+												<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
+												<weak>2576704708</weak>
+												<size>337</size>
+												<position>323</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>
                                                                         <shared_ptr>
-										<id>-11</id>
+										<id>-39</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <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>
                                                                         <shared_ptr>
-										<id>-15</id>
+										<id>-31</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<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>
                                                                                         </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>
                                                                         <shared_ptr>
-										<id>-59</id>
+										<id>-17</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<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>1</empty>
+											<empty>0</empty>
+											<string>../../../../boost/exception_ptr.hpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-16</id>
+										<id>-53</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<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>1</empty>
+											<empty>0</empty>
+											<string>../../../../boost/exception_ptr.hpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-17</id>
+										<id>-8</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<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>1</empty>
+											<empty>0</empty>
+											<string>../../../../boost/exception_ptr.hpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-29</id>
+										<id>-33</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <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>
                                                                         <shared_ptr>
-										<id>-39</id>
+										<id>-13</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<size>1</size>
+												<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+												<weak>2229778754</weak>
+												<size>631</size>
+												<position>319</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
-											<empty>1</empty>
+											<empty>0</empty>
+											<string>../../example/cloning_2.cpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-19</id>
+										<id>-38</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<size>1</size>
+												<strong>80C86365052AA49654F75CAA87BF9B29C6373A01F8EE4D5E79F317CD76FC0718</strong>
+												<weak>622934727</weak>
+												<size>6161</size>
+												<position>412</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
-											<empty>1</empty>
+											<empty>0</empty>
+											<string>../../example/example_io.cpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-48</id>
+										<id>-7</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>0</size>
+												<size>1</size>
+												<strong>F812D8AE60189369CED7A3FD72733A65B57D56637E6721867F52A82EB319731A</strong>
+												<weak>3974553696</weak>
+												<size>1432</size>
+												<position>352</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
-											<empty>1</empty>
+											<empty>0</empty>
+											<string>../../example/errinfos.cpp</string>
+											<type>0</type>
+											<base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-60</id>
+										<id>-77</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>95AD55ACCB1C17C1DBA4C309BDFCBD4B66E52CD9A2F54FDAD2D642A00342D001</strong>
-												<weak>3194412598</weak>
-												<size>4599</size>
-												<position>323</position>
+												<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>0</empty>
-											<string>../../../../boost/exception/diagnostic_information.hpp</string>
+											<string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-45</id>
+										<id>-48</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>21E8093D2AF6946EAE135823066EF38B9DC8870432B44C81E585FF63A72F9903</strong>
-												<weak>3352783584</weak>
-												<size>12170</size>
-												<position>323</position>
+												<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>0</empty>
-											<string>../../../../boost/exception_ptr.hpp</string>
+											<string>../../../../boost/exception/info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-10</id>
+										<id>-18</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11159,83 +14522,75 @@
                                                                                 <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>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_ptr.hpp</string>
+											<string>../../../../boost/exception/info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-46</id>
+										<id>-43</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <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>
+												<size>1</size>
+												<strong>283AE6BE0920B1882100C426958FDF998DEE10226546B300B45C1A26B242FC25</strong>
+												<weak>722381934</weak>
+												<size>617</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception_ptr.hpp</string>
+											<string>../../../../boost/exception/errinfo_errno.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-52</id>
+										<id>-63</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<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>
+												<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_ptr.hpp</string>
+											<string>../../example/cloning_1.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-47</id>
+										<id>-25</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11243,13 +14598,13 @@
                                                                                 <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>
+												<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>
@@ -11257,13 +14612,13 @@
                                                                         <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>
                                                                         <shared_ptr>
-										<id>-36</id>
+										<id>-22</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11271,27 +14626,27 @@
                                                                                 <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>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>0</empty>
-											<string>../../../../boost/exception_ptr.hpp</string>
+											<string>../../../../boost/exception/get_error_info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-25</id>
+										<id>-56</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11299,27 +14654,27 @@
                                                                                 <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>
+												<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>
                                                                         <shared_ptr>
-										<id>-42</id>
+										<id>-36</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11327,23 +14682,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
-												<weak>2229778754</weak>
-												<size>631</size>
-												<position>319</position>
+												<strong>28E8289766B2CDAEF0A407A6389CB9F7FD3B0F4B49B15CB73AF210A1CEB60C58</strong>
+												<weak>4196332848</weak>
+												<size>735</size>
+												<position>363</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/cloning_2.cpp</string>
+											<string>../../example/info_tuple.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-57</id>
+										<id>-10</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11351,23 +14706,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>9E8DCE3BCF462A3A332DA70F61E46FA5C2AB791B95E33D3F2AF1307F53C84B1C</strong>
-												<weak>1960675522</weak>
-												<size>6483</size>
-												<position>591</position>
+												<strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
+												<weak>2883671483</weak>
+												<size>311</size>
+												<position>306</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/example_io.cpp</string>
+											<string>../../example/logging.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-24</id>
+										<id>-74</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11375,107 +14730,103 @@
                                                                                 <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>
+												<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/info.hpp</string>
+											<string>../../../../boost/exception/diagnostic_information.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-58</id>
+										<id>-61</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <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>1</size>
+												<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
+												<weak>4175717823</weak>
+												<size>328</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/info.hpp</string>
+											<string>../../../../boost/exception/errinfo_type_info_name.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-20</id>
+										<id>-72</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
-												<weak>2432554768</weak>
-												<size>702</size>
-												<position>408</position>
+												<size>2</size>
+												<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
+												<weak>1523356166</weak>
+												<size>537</size>
+												<position>403</position>
+												<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
+												<weak>665917505</weak>
+												<size>66</size>
+												<position>26</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/enable_error_info.cpp</string>
+											<string>../../../../boost/exception/errinfo_errno.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-5</id>
+										<id>-32</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
-												<weak>1090406464</weak>
-												<size>362</size>
+												<size>1</size>
+												<strong>2CCD2A79129C832AB12435E43BB35DE67318A8940A36530EF83C5E617987D661</strong>
+												<weak>2091122505</weak>
+												<size>699</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/current_exception_cast.hpp</string>
+											<string>../../../../boost/exception/all.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-61</id>
+										<id>-51</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11483,55 +14834,51 @@
                                                                                 <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>
+												<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>0</empty>
-											<string>../../../../boost/exception/get_error_info.hpp</string>
+											<string>../../../../boost/exception/errinfo_api_function.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-31</id>
+										<id>-26</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <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>1</size>
+												<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+												<weak>2587249979</weak>
+												<size>233</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/diagnostic_information.hpp</string>
+											<string>../../../../boost/exception/errinfo_at_line.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-50</id>
+										<id>-12</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11539,51 +14886,55 @@
                                                                                 <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>
+												<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>0</empty>
-											<string>../../../../boost/exception/diagnostic_information.hpp</string>
+											<string>../../../../boost/exception/errinfo_at_line.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-18</id>
+										<id>-65</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>7116AEECEA666794E31DC99390ADEC1BA6AF74B2398067A0739767B4B76FA97A</strong>
-												<weak>4128134227</weak>
-												<size>307</size>
-												<position>302</position>
+												<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>0</empty>
-											<string>../../example/logging.cpp</string>
+											<string>../../../../boost/exception/diagnostic_information.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-49</id>
+										<id>-50</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11591,17 +14942,17 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>F647827E95C64B626A8E3751AD4E4D21237DD17482EEA6DB93A16A2C6AC79E87</strong>
-												<weak>527078204</weak>
-												<size>446</size>
-												<position>227</position>
+												<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.hpp</string>
+											<string>../../../../boost/exception/errinfo_file_handle.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
@@ -11615,83 +14966,71 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>D10E536B909EFFF78FB09E6242AEC7C74ACDD75AE7DF32B45870422B752E5D8E</strong>
-												<weak>1903336130</weak>
-												<size>557</size>
-												<position>382</position>
+												<strong>0F429704770B5772E81B2BC74E962B62F83826D6C885B7C6E7186D127D31B291</strong>
+												<weak>1345125619</weak>
+												<size>854</size>
+												<position>306</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/error_info_1.cpp</string>
+											<string>../../example/error_info_2.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-26</id>
+										<id>-29</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-												<weak>1770110914</weak>
-												<size>587</size>
-												<position>1467</position>
-												<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-												<weak>3929437933</weak>
-												<size>361</size>
-												<position>213</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>
                                                                         <shared_ptr>
-										<id>-53</id>
+										<id>-35</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>3</size>
-												<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-												<weak>1770110914</weak>
-												<size>587</size>
-												<position>1467</position>
-												<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-												<weak>3929437933</weak>
-												<size>361</size>
-												<position>213</position>
-												<strong>CD1241D84950468704F3C3F04116B8DA5162A8BEA4364F10951232F49113C5DE</strong>
-												<weak>1658463867</weak>
-												<size>121</size>
-												<position>238</position>
+												<size>1</size>
+												<strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
+												<weak>414875037</weak>
+												<size>427</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/throw_exception.hpp</string>
+											<string>../../../../boost/exception/errinfo_file_open_mode.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-51</id>
+										<id>-58</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11699,23 +15038,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>A14B5595A6DD87562792D402B48500AAD71FA1ABD75C14EDF089FCC7318CBB9B</strong>
-												<weak>3469762901</weak>
-												<size>468</size>
-												<position>227</position>
+												<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/current_exception_cast.hpp</string>
+											<string>../../example/error_info_1.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-9</id>
+										<id>-62</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11743,7 +15082,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-44</id>
+										<id>-67</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11775,7 +15114,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-43</id>
+										<id>-30</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11807,7 +15146,67 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-30</id>
+										<id>-40</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<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>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/throw_exception.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-57</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<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>
+											</container>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/throw_exception.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-68</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11831,7 +15230,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-37</id>
+										<id>-27</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11855,7 +15254,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-27</id>
+										<id>-71</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11863,45 +15262,41 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</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>
                                                                         <shared_ptr>
-										<id>-34</id>
+										<id>-73</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</size>
-												<position>323</position>
-												<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-												<weak>765399792</weak>
-												<size>77</size>
-												<position>5917</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/exception.hpp</string>
+											<string>../../../../boost/throw_exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
@@ -11914,43 +15309,35 @@
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</size>
-												<position>323</position>
-												<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-												<weak>1137981799</weak>
-												<size>192</size>
-												<position>8994</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/exception.hpp</string>
+											<string>../../../../boost/throw_exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-55</id>
+										<id>-49</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</size>
+												<size>1</size>
+												<strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+												<weak>4080542391</weak>
+												<size>9174</size>
                                                                                                 <position>323</position>
-												<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
-												<weak>3292878997</weak>
-												<size>282</size>
-												<position>7305</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -11963,7 +15350,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-33</id>
+										<id>-64</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11971,14 +15358,14 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>2</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</size>
+												<strong>625285100233119FB4542EB54530FC7CB802D9A50B06D6CFB397730CDB1ED7D8</strong>
+												<weak>4080542391</weak>
+												<size>9174</size>
                                                                                                 <position>323</position>
-												<strong>65D35B8A2063883A53E9D0DCC3FF8E5CA3573A58451A653CDE3003FFBEC576D3</strong>
-												<weak>1693870740</weak>
-												<size>2195</size>
-												<position>3720</position>
+												<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+												<weak>765399792</weak>
+												<size>77</size>
+												<position>5899</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -11991,26 +15378,22 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-13</id>
+										<id>-11</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>3</size>
-												<strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
-												<weak>1282550303</weak>
-												<size>9192</size>
+												<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>3720</position>
-												<strong>DA154372D8C23BD9EDC30005CA7959CE686D198891097A837D006B5222F04DE9</strong>
-												<weak>2768248809</weak>
-												<size>143</size>
-												<position>60</position>
+												<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+												<weak>1137981799</weak>
+												<size>192</size>
+												<position>8976</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -12023,103 +15406,123 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-35</id>
+										<id>-28</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <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>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
+												<weak>3292878997</weak>
+												<size>282</size>
+												<position>7287</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>
                                                                         <shared_ptr>
-										<id>-40</id>
+										<id>-6</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
-												<weak>743998427</weak>
-												<size>409</size>
-												<position>307</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/cloning_1.cpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-22</id>
+										<id>-16</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA</strong>
-												<weak>922651615</weak>
-												<size>433</size>
-												<position>1032</position>
+												<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>0</empty>
-											<string>../../../../boost/throw_exception.hpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-32</id>
+										<id>-42</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>BEFF039468E0E9A3719E5CB51DA9710812D146B587BAF573D1670908BB97C0CA</strong>
-												<weak>35548578</weak>
-												<size>1983</size>
-												<position>91</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/throw_exception.hpp</string>
+											<string>../../../../boost/exception/errinfo_file_name.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-41</id>
+										<id>-55</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -12127,23 +15530,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
-												<weak>2263754923</weak>
-												<size>982</size>
-												<position>306</position>
+												<strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
+												<weak>1917376632</weak>
+												<size>706</size>
+												<position>408</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/error_info_2.cpp</string>
+											<string>../../example/enable_error_info.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-7</id>
+										<id>-47</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -12171,7 +15574,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-38</id>
+										<id>-60</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -12199,7 +15602,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-6</id>
+										<id>-41</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -12207,23 +15610,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3</strong>
-												<weak>94503238</weak>
-												<size>773</size>
-												<position>374</position>
+												<strong>F39D869016327CDFEA720920B2743F47989202BF5814B6556EC54A1B0FE562F8</strong>
+												<weak>3703518029</weak>
+												<size>147</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/info_tuple.cpp</string>
+											<string>../../../../boost/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-56</id>
+										<id>-20</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                         </sorted>
@@ -12233,14 +15636,14 @@
                         </contexts>
                         <index>
                                 <shared_ptr>
-					<id>69</id>
+					<id>85</id>
                                         <type>
                                                 <string>tag_index</string>
                                         </type>
                                         <object>
                                                 <tag_index>
                                                         <sorted>
-								<size>48</size>
+								<size>55</size>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>1</expired>
@@ -12269,16 +15672,16 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-7</id>
+											<id>-8</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-8</id>
+											<id>-9</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string></string>
@@ -12287,43 +15690,43 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-9</id>
+											<id>-10</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-10</id>
+											<id>-11</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-11</id>
+											<id>-13</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-12</id>
+											<id>-14</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noindex</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-13</id>
+											<id>-16</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>type</string>
@@ -12332,10 +15735,10 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-14</id>
+											<id>-17</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>tutorial</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12344,25 +15747,25 @@
                                                                                         <id>-18</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string>function member</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-20</id>
+											<id>-19</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-21</id>
+											<id>-20</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>tutorial</string>
+									<string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12371,16 +15774,16 @@
                                                                                         <id>-22</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noindex tutorial</string>
+									<string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-23</id>
+											<id>-24</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12389,7 +15792,7 @@
                                                                                         <id>-25</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string>noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12398,7 +15801,7 @@
                                                                                         <id>-26</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12407,7 +15810,7 @@
                                                                                         <id>-27</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>error_info</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12416,52 +15819,52 @@
                                                                                         <id>-28</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-30</id>
+											<id>-29</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function member</string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-31</id>
+											<id>-30</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-32</id>
+											<id>-31</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>macro</string>
+									<string>exception_ptr type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-33</id>
+											<id>-32</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-34</id>
+											<id>-33</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12470,7 +15873,7 @@
                                                                                         <id>-35</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12479,7 +15882,7 @@
                                                                                         <id>-36</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12488,7 +15891,7 @@
                                                                                         <id>-37</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info</string>
+									<string>exception_ptr</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12497,7 +15900,7 @@
                                                                                         <id>-38</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12506,7 +15909,7 @@
                                                                                         <id>-40</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>function member</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12515,7 +15918,7 @@
                                                                                         <id>-41</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12524,7 +15927,7 @@
                                                                                         <id>-42</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12533,7 +15936,7 @@
                                                                                         <id>-43</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12542,31 +15945,49 @@
                                                                                         <id>-44</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-45</id>
+											<id>-48</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>error_info_instance noalso type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-46</id>
+											<id>-49</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr type</string>
+									<string>macro</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-47</id>
+											<id>-50</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>function</string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-52</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>error_info</string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-53</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>type</string>
@@ -12575,34 +15996,43 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-49</id>
+											<id>-47</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>diagnostic_information tutorial</string>
+									<string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-50</id>
+											<id>-54</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>diagnostic_information free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-52</id>
+											<id>-55</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>-53</id>
+											<id>-56</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>error_info free function</string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-57</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>free function</string>
@@ -12611,25 +16041,25 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-54</id>
+											<id>-60</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-55</id>
+											<id>-61</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string>diagnostic_information free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-56</id>
+											<id>-62</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>noalso noindex tutorial</string>
@@ -12638,25 +16068,43 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-57</id>
+											<id>-64</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noindex tutorial</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-58</id>
+											<id>-65</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function member</string>
+									<string>error_info_instance noalso type</string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-66</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>error_info_instance noalso type</string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-67</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-59</id>
+											<id>-69</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>tutorial</string>
@@ -12665,10 +16113,28 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-61</id>
+											<id>-71</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string></string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-73</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string></string>
+								</pair>
+								<pair>
+									<weak_ptr>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-74</id>
+										</shared_ptr>
+									</weak_ptr>
+									<string>diagnostic_information tutorial</string>
                                                                 </pair>
                                                         </sorted>
                                                 </tag_index>
Modified: branches/release/libs/exception/doc/synopsis.html
==============================================================================
--- branches/release/libs/exception/doc/synopsis.html	(original)
+++ branches/release/libs/exception/doc/synopsis.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -38,9 +38,9 @@
     <span class="RenoIncludeSPAN">template <class Tag,class T>
     class <span class="RenoLink">error_info</span>;</span>    
     
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_function,char const *> throw_function;
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_file,char const *> throw_file;
-    typedef <span class="RenoLink">error_info</span><struct tag_throw_line,int> throw_line;</span>
+    typedef <span class="RenoLink">error_info</span><struct throw_function_,char const *> throw_function;
+    typedef <span class="RenoLink">error_info</span><struct throw_file_,char const *> throw_file;
+    typedef <span class="RenoLink">error_info</span><struct throw_line_,int> throw_line;</span>
     }</span></pre>
 <p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/error_info.hpp</span>></p>
 <pre><span class="RenoIncludeSPAN">namespace
@@ -172,14 +172,82 @@
     void <span class="RenoLink">throw_exception</span>( E const & e );
 #endif</span>
     }</div></span></pre>
-<p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception.hpp</span>></p>
+<p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_api_function_,int> <span class="RenoLink">errinfo_api_function</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_at_line_,int> <span class="RenoLink">errinfo_at_line</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <errno.h>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_errno_,int> <span class="RenoLink">errinfo_errno</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+
+namespace
+boost
+    {
+    template <class> class weak_ptr;
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_handle_,weak_ptr<FILE> > <span class="RenoLink">errinfo_file_handle</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_name_,std::string> <span class="RenoLink">errinfo_file_name</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_file_open_mode_,std::string> <span class="RenoLink">errinfo_file_open_mode</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/errinfo_type_info_name.hpp</span>></p>
+<div class="RenoIncludeDIV"><pre>#include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
+#include <string>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">typedef <span class="RenoLink">error_info</span><struct errinfo_type_info_name_,std::string> <span class="RenoLink">errinfo_type_info_name</span>;</span></span>
+    }</pre>
+</div><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/exception/all.hpp</span>></p>
 <div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include <<span class="RenoLink">boost/exception/diagnostic_information.hpp</span>>
 #include <<span class="RenoLink">boost/exception/error_info.hpp</span>>
 #include <<span class="RenoLink">boost/exception/exception.hpp</span>>
 #include <<span class="RenoLink">boost/exception/get_error_info.hpp</span>>
 #include <<span class="RenoLink">boost/exception/info.hpp</span>>
 #include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
-#include <<span class="RenoLink">boost/exception_ptr.hpp</span>></span></pre>
+#include <<span class="RenoLink">boost/exception_ptr.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_at_line.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_handle.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_open_mode.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_type_info_name.hpp</span>></span></pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
Modified: branches/release/libs/exception/doc/tutorial_diagnostic_information.html
==============================================================================
--- branches/release/libs/exception/doc/tutorial_diagnostic_information.html	(original)
+++ branches/release/libs/exception/doc/tutorial_diagnostic_information.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -27,7 +27,7 @@
 <li>additional platform-specific diagnostic information.</li>
 </ul></div>
 <p>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:</p>
-<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
+<pre>#include <<span class="RenoLink">boost/exception/all.hpp</span>>
 #include <iostream>
 
 void f(); //throws unknown types that derive from boost::<span class="RenoLink">exception</span>.
@@ -47,13 +47,13 @@
     }</pre>
 <div class="RenoIncludeDIV"><h4>Example:</h4>
 <p>this is a possible output from the <span class="RenoLink">diagnostic_information</span> function, as used in <i>libs/exception/example/example_io.cpp:</i></p>
-<pre>example_io.cpp(83): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
-Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
+<pre>example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
+Dynamic exception type: class boost::exception_detail::clone_impl<struct fopen_error>
 std::exception::what: example_io error
-[struct tag_errno *] = 2, OS says "No such file or directory"
-[struct tag_file_name *] = tmp1.txt
-[struct tag_function *] = fopen
-[struct tag_open_mode *] = rb</pre>
+[struct boost::<span class="RenoLink">errinfo_api_function</span>_ *] = fopen
+[struct boost::<span class="RenoLink">errinfo_errno</span>_ *] = 2, "No such file or directory"
+[struct boost::<span class="RenoLink">errinfo_file_name</span>_ *] = tmp1.txt
+[struct boost::<span class="RenoLink">errinfo_file_open_mode</span>_ *] = rb</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
 <h3>See Also:</h3>
 <div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
Modified: branches/release/libs/exception/doc/tutorial_enable_error_info.html
==============================================================================
--- branches/release/libs/exception/doc/tutorial_enable_error_info.html	(original)
+++ branches/release/libs/exception/doc/tutorial_enable_error_info.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -22,7 +22,7 @@
 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Integrating Boost Exception in Existing Exception Class Hierarchies</h2>
 </div>
 <p>Some exception hierarchies can not be modified to make boost::<span class="RenoLink">exception</span> a base type. In this case, the <span class="RenoLink">enable_error_info</span> function template can be used to make exception objects derive from boost::<span class="RenoLink">exception</span> anyway. Here is an example:</p>
-<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
+<pre>#include <<span class="RenoLink">boost/exception/all.hpp</span>>
 #include <stdexcept>
 
 typedef boost::<span class="RenoLink">error_info</span><struct tag_std_range_min,size_t> std_range_min;
Modified: branches/release/libs/exception/doc/tutorial_exception_ptr.html
==============================================================================
--- branches/release/libs/exception/doc/tutorial_exception_ptr.html	(original)
+++ branches/release/libs/exception/doc/tutorial_exception_ptr.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -28,19 +28,18 @@
 </div>
 <p>Here is how cloning can be enabled in a throw-expression (15.1):</p>
 <pre>#include <<span class="RenoLink">boost/exception/info.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
 #include <stdio.h>
 #include <errno.h>
 
-typedef boost::error_info<struct tag_errno,int> errno_info;
-
-class file_read_error: public boost::<span class="RenoLink">exception</span> { };
+struct file_read_error: virtual boost::<span class="RenoLink">exception</span> { };
 
 void
 file_read( FILE * f, void * buffer, size_t size )
     {
     if( size!=fread(buffer,1,size,f) )
         throw boost::<span class="RenoLink">enable_current_exception</span>(file_read_error()) <<
-            errno_info(errno);
+            boost::<span class="RenoLink">errinfo_errno</span>(errno);
     }</pre>
 <p>Of course, <span class="RenoLink">enable_current_exception</span> may be used with any exception type; there is no requirement that it should derive from boost::<span class="RenoLink">exception</span>.</p>
 </div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Cloning and Re-Throwing an Exception</h3>
Modified: branches/release/libs/exception/doc/tutorial_transporting_data.html
==============================================================================
--- branches/release/libs/exception/doc/tutorial_transporting_data.html	(original)
+++ branches/release/libs/exception/doc/tutorial_transporting_data.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -29,24 +29,22 @@
 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding of Arbitrary Data at the Point of the Throw</h3>
 </div>
 <p>The following example demonstrates how errno can be stored in exception objects using Boost Exception:</p>
-<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
-#include <errno.h>
+<pre>#include <<span class="RenoLink">boost/exception/all.hpp</span>>
 #include <iostream>
 
-typedef boost::<span class="RenoLink">error_info</span><struct tag_errno,int> errno_info; //(1)
+typedef boost::<span class="RenoLink">error_info</span><struct tag_my_info,int> my_info; //(1)
 
-class my_error: public boost::<span class="RenoLink">exception</span>, public std::exception { }; //(2)
+struct my_error: virtual boost::<span class="RenoLink">exception</span>, virtual std::exception { }; //(2)
 
 void
 f()
     {
-    throw my_error() << errno_info(errno); //(3)
-    }
-</pre>
-<p>First, we instantiate the <span class="RenoLink">error_info</span> template using a unique identifier -- tag_errno, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.</p>
+    throw my_error() << my_info(42); //(3)
+    }</pre>
+<p>First, we instantiate the <span class="RenoLink">error_info</span> 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.</p>
 <p>Second, we define class my_error, which derives from boost::<span class="RenoLink">exception</span>.</p>
 <p>Finally, (3) illustrates how the typedef from (1) can be used with <span class="RenoLink">operator<<</span> to store values in exception objects at the point of the throw.</p>
-<p>The stored errno value can be recovered at a later time like this:</p>
+<p>The stored my_info value can be recovered at a later time like this:</p>
 <pre>// ...continued
 
 void
@@ -59,8 +57,8 @@
     catch(
     my_error & x )
         {
-        if( int const * err=boost::<span class="RenoLink">get_error_info</span><errno_info>(x) )
-            std::cerr << "Error code: " << *err;
+        if( int const * mi=boost::<span class="RenoLink">get_error_info</span><my_info>(x) )
+            std::cerr << "My info: " << *mi;
         }
     }</pre>
 <p>The <span class="RenoLink">get_error_info</span> 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.</p>
@@ -75,28 +73,25 @@
     }</pre>
 <p>How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.</p>
 <p>Using boost::<span class="RenoLink">exception</span> allows us to free the file_read function from the burden of storing the file name in exceptions it throws:</p>
-<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
+<pre>#include <<span class="RenoLink">boost/exception/all.hpp</span>>
+#include <boost/shared_ptr.hpp>
 #include <stdio.h>
 #include <errno.h>
 
-typedef boost::<span class="RenoLink">error_info</span><struct tag_errno,int> errno_info;
-
-class file_read_error: public boost::<span class="RenoLink">exception</span> { };
+struct file_read_error: virtual boost::<span class="RenoLink">exception</span> { };
 
 void
 file_read( FILE * f, void * buffer, size_t size )
     {
     if( size!=fread(buffer,1,size,f) )
-        throw file_read_error() << errno_info(errno);
+        throw file_read_error() << boost::<span class="RenoLink">errinfo_errno</span>(errno);
     }</pre>
 <p>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:</p>
-<pre>#include <<span class="RenoLink">boost/exception.hpp</span>>
+<pre>#include <<span class="RenoLink">boost/exception/all.hpp</span>>
 #include <boost/shared_ptr.hpp>
 #include <stdio.h>
 #include <string>
 
-typedef boost::<span class="RenoLink">error_info</span><struct tag_file_name,std::string> file_name_info;
-
 boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode );
 void file_read( FILE * f, void * buffer, size_t size );
 
@@ -113,7 +108,7 @@
     catch(
     boost::<span class="RenoLink">exception</span> & e )
         {
-        e << file_name_info(file_name);
+        e << boost::<span class="RenoLink">errinfo_file_name</span>(file_name);
         throw;
         }
     }</pre>
@@ -122,17 +117,17 @@
 </div>
 <p>The code snippet below demonstrates how boost::<span class="RenoLink">tuple</span> 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:</p>
 <pre>#include <<span class="RenoLink">boost/exception/info_tuple.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_file_name.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_api_function.hpp</span>>
+#include <<span class="RenoLink">boost/exception/errinfo_errno.hpp</span>>
 #include <boost/shared_ptr.hpp>
 #include <stdio.h>
 #include <string>
 #include <errno.h>
 
-typedef boost::<span class="RenoLink">error_info</span><struct tag_file_name,std::string> file_name_info;
-typedef boost::<span class="RenoLink">error_info</span><struct tag_function,char const *> function_info;
-typedef boost::<span class="RenoLink">error_info</span><struct tag_errno,int> errno_info;
-typedef boost::tuple<function_info,errno_info> clib_failure;
+typedef boost::<span class="RenoLink">tuple</span><boost::<span class="RenoLink">errinfo_api_function</span>,boost::<span class="RenoLink">errinfo_errno</span>> clib_failure;
 
-class file_open_error: public boost::<span class="RenoLink">exception</span> { };
+struct file_open_error: virtual boost::<span class="RenoLink">exception</span> { };
 
 boost::shared_ptr<FILE>
 file_open( char const * name, char const * mode )
@@ -141,7 +136,7 @@
         return boost::shared_ptr<FILE>(f,fclose);
     else
         throw file_open_error() <<
-            file_name_info(name) <<
+            boost::<span class="RenoLink">errinfo_file_name</span>(name) <<
             clib_failure("fopen",errno);
     }</pre>
 <p>Note that the members of a boost::<span class="RenoLink">tuple</span> are stored separately in exception objects; they can only be retrieved individually, using <span class="RenoLink">get_error_info</span>.</p>
Modified: branches/release/libs/exception/doc/types.html
==============================================================================
--- branches/release/libs/exception/doc/types.html	(original)
+++ branches/release/libs/exception/doc/types.html	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -22,6 +22,13 @@
 <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Types</h2>
 </div>
 <div class="RenoIndex"><h3>e</h3>
+<p>errinfo_api_function</p>
+<p>errinfo_at_line</p>
+<p>errinfo_errno</p>
+<p>errinfo_file_handle</p>
+<p>errinfo_file_name</p>
+<p>errinfo_file_open_mode</p>
+<p>errinfo_type_info_name</p>
 <p>error_info</p>
 <p>error_info::value_type</p>
 <p>exception</p>
Modified: branches/release/libs/exception/example/Jamfile
==============================================================================
--- branches/release/libs/exception/example/Jamfile	(original)
+++ branches/release/libs/exception/example/Jamfile	2009-07-22 16:55:50 EDT (Wed, 22 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 ;
Modified: branches/release/libs/exception/example/cloning_1.cpp
==============================================================================
--- branches/release/libs/exception/example/cloning_1.cpp	(original)
+++ branches/release/libs/exception/example/cloning_1.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -6,17 +6,16 @@
 //This example shows how to enable cloning when throwing a boost::exception.
 
 #include <boost/exception/info.hpp>
+#include <boost/exception/errinfo_errno.hpp>
 #include <stdio.h>
 #include <errno.h>
 
-typedef boost::error_info<struct tag_errno,int> errno_info;
-
-class file_read_error: public boost::exception { };
+struct file_read_error: virtual boost::exception { };
 
 void
 file_read( FILE * f, void * buffer, size_t size )
     {
     if( size!=fread(buffer,1,size,f) )
         throw boost::enable_current_exception(file_read_error()) <<
-            errno_info(errno);
+			boost::errinfo_errno(errno);
     }
Modified: branches/release/libs/exception/example/enable_error_info.cpp
==============================================================================
--- branches/release/libs/exception/example/enable_error_info.cpp	(original)
+++ branches/release/libs/exception/example/enable_error_info.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -7,7 +7,7 @@
 //transporting of arbitrary data to the catch site, even for types
 //that do not derive from boost::exception.
 
-#include <boost/exception.hpp>
+#include <boost/exception/all.hpp>
 #include <stdexcept>
 
 typedef boost::error_info<struct tag_std_range_min,size_t> std_range_min;
Added: branches/release/libs/exception/example/errinfos.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/example/errinfos.cpp	2009-07-22 16:55:50 EDT (Wed, 22 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;
+	}
Modified: branches/release/libs/exception/example/error_info_1.cpp
==============================================================================
--- branches/release/libs/exception/example/error_info_1.cpp	(original)
+++ branches/release/libs/exception/example/error_info_1.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -6,18 +6,17 @@
 //This example shows how to add data to boost::exception objects at the
 //point of the throw, and how to retrieve that data at the point of the catch.
 
-#include <boost/exception.hpp>
-#include <errno.h>
+#include <boost/exception/all.hpp>
 #include <iostream>
 
-typedef boost::error_info<struct tag_errno,int> errno_info; //(1)
+typedef boost::error_info<struct tag_my_info,int> my_info; //(1)
 
-class my_error: public boost::exception, public std::exception { }; //(2)
+struct my_error: virtual boost::exception, virtual std::exception { }; //(2)
 
 void
 f()
     {
-    throw my_error() << errno_info(errno); //(3)
+    throw my_error() << my_info(42); //(3)
     }
                  
 void
@@ -30,7 +29,7 @@
     catch(
     my_error & x )
         {
-        if( int const * err=boost::get_error_info<errno_info>(x) )
-            std::cerr << "Error code: " << *err;
+        if( int const * mi=boost::get_error_info<my_info>(x) )
+            std::cerr << "My info: " << *mi;
         }
     }
Modified: branches/release/libs/exception/example/error_info_2.cpp
==============================================================================
--- branches/release/libs/exception/example/error_info_2.cpp	(original)
+++ branches/release/libs/exception/example/error_info_2.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -5,28 +5,24 @@
 
 //This example shows how to add arbitrary data to active exception objects.
 
-#include <boost/exception.hpp>
+#include <boost/exception/all.hpp>
 #include <boost/shared_ptr.hpp>
 #include <stdio.h>
 #include <errno.h>
 
 //
 
-typedef boost::error_info<struct tag_errno,int> errno_info;
-
-class file_read_error: public boost::exception { };
+struct file_read_error: virtual boost::exception { };
 
 void
 file_read( FILE * f, void * buffer, size_t size )
     {
     if( size!=fread(buffer,1,size,f) )
-        throw file_read_error() << errno_info(errno);
+		throw file_read_error() << boost::errinfo_errno(errno);
     }
 
 //
 
-typedef boost::error_info<struct tag_file_name,std::string> file_name_info;
-
 boost::shared_ptr<FILE> file_open( char const * file_name, char const * mode );
 void file_read( FILE * f, void * buffer, size_t size );
 
@@ -43,7 +39,7 @@
     catch(
     boost::exception & e )
         {
-        e << file_name_info(file_name);
+		e << boost::errinfo_file_name(file_name);
         throw;
         }
     }
Modified: branches/release/libs/exception/example/example_io.cpp
==============================================================================
--- branches/release/libs/exception/example/example_io.cpp	(original)
+++ branches/release/libs/exception/example/example_io.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -3,48 +3,34 @@
 //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 program simulates errors on copying simple data files.
-//It demonstrates how the proposed Boost exception library can be used.
-//
-//The documentation for boost::exception can be found at:
-//
-//  http://www.revergestudios.com/boost-exception/boost-exception.htm.
-//
-//The output from this program can vary depending on the compiler/OS combination.
+//This program simulates errors on copying simple data files. It demonstrates
+//typical Boost Exception usage.
 
-#include <boost/exception.hpp>
+//The output from this program can vary depending on the platform.
+
+#include <boost/throw_exception.hpp>
+#include <boost/exception/info.hpp>
+#include <boost/exception/get_error_info.hpp>
+#include <boost/exception/diagnostic_information.hpp>
+#include <boost/exception/errinfo_file_open_mode.hpp>
+#include <boost/exception/errinfo_file_handle.hpp>
+#include <boost/exception/errinfo_file_name.hpp>
+#include <boost/exception/errinfo_api_function.hpp>
+#include <boost/exception/errinfo_errno.hpp>
 #include <boost/shared_ptr.hpp>
 #include <boost/weak_ptr.hpp>
-#include <stdio.h>
-#include <errno.h>
-#include <string>
 #include <iostream>
-#include <sstream>
 
-typedef boost::error_info<struct tag_errno,int> errno_info;
-typedef boost::error_info<struct tag_file_stream,boost::weak_ptr<FILE> > file_stream_info;
-typedef boost::error_info<struct tag_open_mode,std::string> open_mode_info; //The open mode of a failed fopen request.
-typedef boost::error_info<struct tag_file_name,std::string> file_name_info; //The file name of a failed file operation.
-typedef boost::error_info<struct tag_file_name_src,std::string> file_name_src_info; //The source file name of a failed copy operation.
-typedef boost::error_info<struct tag_file_name_dst,std::string> file_name_dst_info; //The destination file name of a failed copy operation.
-typedef boost::error_info<struct tag_function,std::string> function_info; //The name of the C function which reported the failure.
-
-std::string
-to_string( errno_info const & e )
-    {
-    int en=e.value();
-    std::ostringstream s;
-    s << en << ", OS says \"" << strerror(en) << "\"";
-    return s.str();
-    }
+typedef boost::error_info<struct tag_file_name_src,std::string> errinfo_src_file_name;
+typedef boost::error_info<struct tag_file_name_dst,std::string> errinfo_dst_file_name;
 
 char const data[] = "example";
 size_t const data_size = sizeof(data);
 
 class
 error: //Base for all exception objects we throw.
-    public std::exception,
-    public boost::exception
+    public virtual std::exception,
+    public virtual boost::exception
     {
     public:
 
@@ -61,14 +47,12 @@
         }
     };
 
-class open_error: public error { };
-class read_error: public error { };
-class write_error: public error { };
-
-class fopen_error: public open_error { };
-class fread_error: public read_error { };
-class fwrite_error: public write_error { };
-
+struct open_error: virtual error { };
+struct read_error: virtual error { };
+struct write_error: virtual error { };
+struct fopen_error: virtual open_error { };
+struct fread_error: virtual read_error { };
+struct fwrite_error: virtual write_error { };
 
 boost::shared_ptr<FILE>
 my_fopen( char const * name, char const * mode )
@@ -77,10 +61,10 @@
         return boost::shared_ptr<FILE>(f,fclose);
     else
         BOOST_THROW_EXCEPTION(fopen_error() <<
-            errno_info(errno) <<
-            file_name_info(name) <<
-            open_mode_info(mode) <<
-            function_info("fopen"));
+			boost::errinfo_errno	(errno) <<
+			boost::errinfo_file_name(name) <<
+			boost::errinfo_file_open_mode(mode) <<
+			boost::errinfo_api_function("fopen"));
     }
 
 void
@@ -89,9 +73,9 @@
     assert(stream);
     if( count!=fread(buffer,size,count,stream.get()) || ferror(stream.get()) )
         BOOST_THROW_EXCEPTION(fread_error() <<
-            function_info("fread") <<
-            errno_info(errno) <<
-            file_stream_info(boost::weak_ptr<FILE>(stream)));
+            boost::errinfo_api_function("fread") <<
+            boost::errinfo_errno(errno) <<
+			boost::errinfo_file_handle(boost::weak_ptr<FILE>(stream)));
     }
 
 void
@@ -100,9 +84,9 @@
     assert(stream);
     if( count!=fwrite(buffer,size,count,stream.get()) || ferror(stream.get()) )
         BOOST_THROW_EXCEPTION(fwrite_error() <<
-            function_info("fwrite") <<
-            errno_info(errno) <<
-            file_stream_info(boost::weak_ptr<FILE>(stream)));
+            boost::errinfo_api_function("fwrite") <<
+            boost::errinfo_errno(errno) <<
+            boost::errinfo_file_handle(boost::weak_ptr<FILE>(stream)));
     }
 
 void
@@ -132,17 +116,17 @@
     catch(
     boost::exception & x )
         {
-        if( boost::weak_ptr<FILE> const * f=boost::get_error_info<file_stream_info>(x) )
+        if( boost::weak_ptr<FILE> const * f=boost::get_error_info<boost::errinfo_file_handle>(x) )
             if( boost::shared_ptr<FILE> fs = f->lock() )
                 {
                 if( fs==src )
-                    x << file_name_info(src_file_name);
+                    x << boost::errinfo_file_name(src_file_name);
                 else if( fs==dst )
-                    x << file_name_info(dst_file_name);
+                    x << boost::errinfo_file_name(dst_file_name);
                 }
         x <<
-            file_name_src_info(src_file_name) <<
-            file_name_dst_info(dst_file_name);
+            errinfo_src_file_name(src_file_name) <<
+            errinfo_dst_file_name(dst_file_name);
         throw;
         }
     }
@@ -150,25 +134,25 @@
 void
 dump_copy_info( boost::exception const & x )
     {
-    if( std::string const * src = boost::get_error_info<file_name_src_info>(x) )
+    if( std::string const * src = boost::get_error_info<errinfo_src_file_name>(x) )
         std::cerr << "Source file name: " << *src << "\n";
-    if( std::string const * dst = boost::get_error_info<file_name_dst_info>(x) )
+    if( std::string const * dst = boost::get_error_info<errinfo_dst_file_name>(x) )
         std::cerr << "Destination file name: " << *dst << "\n";
     }
 
 void
 dump_file_info( boost::exception const & x )
     {
-    if( std::string const * fn = boost::get_error_info<file_name_info>(x) )
+    if( std::string const * fn = boost::get_error_info<boost::errinfo_file_name>(x) )
         std::cerr << "File name: " << *fn << "\n";
     }
 
 void
 dump_clib_info( boost::exception const & x )
     {
-    if( int const * err=boost::get_error_info<errno_info>(x) )
+    if( int const * err=boost::get_error_info<boost::errinfo_errno>(x) )
         std::cerr << "OS error: " << *err << "\n";
-    if( std::string const * fn=boost::get_error_info<function_info>(x) )
+    if( char const * const * fn=boost::get_error_info<boost::errinfo_api_function>(x) )
         std::cerr << "Failed function: " << *fn << "\n";
     }
 
Modified: branches/release/libs/exception/example/info_tuple.cpp
==============================================================================
--- branches/release/libs/exception/example/info_tuple.cpp	(original)
+++ branches/release/libs/exception/example/info_tuple.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -3,21 +3,21 @@
 //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 shows how boost::error_info_group can be used to bundle
-//the name of the function that fails together with the reported errno.
+//This example shows how boost::tuple can be used to bundle the
+//name of the function that fails together with the reported errno.
 
 #include <boost/exception/info_tuple.hpp>
+#include <boost/exception/errinfo_file_name.hpp>
+#include <boost/exception/errinfo_api_function.hpp>
+#include <boost/exception/errinfo_errno.hpp>
 #include <boost/shared_ptr.hpp>
 #include <stdio.h>
 #include <string>
 #include <errno.h>
 
-typedef boost::error_info<struct tag_file_name,std::string> file_name_info;
-typedef boost::error_info<struct tag_function,char const *> function_info;
-typedef boost::error_info<struct tag_errno,int> errno_info;
-typedef boost::tuple<function_info,errno_info> clib_failure;
+typedef boost::tuple<boost::errinfo_api_function,boost::errinfo_errno> clib_failure;
 
-class file_open_error: public boost::exception { };
+struct file_open_error: virtual boost::exception { };
 
 boost::shared_ptr<FILE>
 file_open( char const * name, char const * mode )
@@ -26,6 +26,6 @@
         return boost::shared_ptr<FILE>(f,fclose);
     else
         throw file_open_error() <<
-            file_name_info(name) <<
+			boost::errinfo_file_name(name) <<
             clib_failure("fopen",errno);
     }
Modified: branches/release/libs/exception/example/logging.cpp
==============================================================================
--- branches/release/libs/exception/example/logging.cpp	(original)
+++ branches/release/libs/exception/example/logging.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -3,9 +3,9 @@
 //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 shows to print all data contained in a boost::exception.
+//This example shows how to print all data contained in a boost::exception.
 
-#include <boost/exception.hpp>
+#include <boost/exception/all.hpp>
 #include <iostream>
 
 void f(); //throws unknown types that derive from boost::exception.
Modified: branches/release/libs/exception/test/Jamfile.v2
==============================================================================
--- branches/release/libs/exception/test/Jamfile.v2	(original)
+++ branches/release/libs/exception/test/Jamfile.v2	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -35,6 +35,7 @@
 run refcount_ptr_test.cpp ;
 run current_exception_cast_test.cpp ;
 run no_exceptions_test.cpp : : : <exception-handling>off ;
+run errinfos_test.cpp ;
 compile-fail exception_fail.cpp ;
 compile-fail throw_exception_fail.cpp ;
 
@@ -49,4 +50,12 @@
 compile info_tuple_hpp_test.cpp ;
 compile to_string_hpp_test.cpp ;
 compile to_string_stub_hpp_test.cpp ;
+compile all_hpp_test.cpp ;
 compile current_exception_cast_hpp_test.cpp ;
+compile errinfo_api_function_hpp_test.cpp ;
+compile errinfo_at_line_hpp_test.cpp ;
+compile errinfo_errno_hpp_test.cpp ;
+compile errinfo_file_handle_hpp_test.cpp ;
+compile errinfo_file_name_hpp_test.cpp ;
+compile errinfo_file_open_mode_hpp_test.cpp ;
+compile errinfo_type_info_name_hpp_test.cpp ;
Added: branches/release/libs/exception/test/all_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/all_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/all.hpp>
+#include <boost/exception/all.hpp>
Added: branches/release/libs/exception/test/errinfo_api_function_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_api_function_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_api_function.hpp>
+#include <boost/exception/errinfo_api_function.hpp>
Added: branches/release/libs/exception/test/errinfo_at_line_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_at_line_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_at_line.hpp>
+#include <boost/exception/errinfo_at_line.hpp>
Added: branches/release/libs/exception/test/errinfo_errno_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_errno_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_errno.hpp>
+#include <boost/exception/errinfo_errno.hpp>
Added: branches/release/libs/exception/test/errinfo_file_handle_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_file_handle_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_file_handle.hpp>
+#include <boost/exception/errinfo_file_handle.hpp>
Added: branches/release/libs/exception/test/errinfo_file_name_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_file_name_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_file_name.hpp>
+#include <boost/exception/errinfo_file_name.hpp>
Added: branches/release/libs/exception/test/errinfo_file_open_mode_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_file_open_mode_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_file_open_mode.hpp>
+#include <boost/exception/errinfo_file_open_mode.hpp>
Added: branches/release/libs/exception/test/errinfo_type_info_name_hpp_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfo_type_info_name_hpp_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,7 @@
+//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)
+
+#include <boost/exception/errinfo_type_info_name.hpp>
+#include <boost/exception/errinfo_type_info_name.hpp>
Added: branches/release/libs/exception/test/errinfos_test.cpp
==============================================================================
--- (empty file)
+++ branches/release/libs/exception/test/errinfos_test.cpp	2009-07-22 16:55:50 EDT (Wed, 22 Jul 2009)
@@ -0,0 +1,61 @@
+//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)
+
+#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/errinfo_type_info_name.hpp>
+#include <boost/exception/info.hpp>
+#include <boost/exception/get_error_info.hpp>
+#include <boost/throw_exception.hpp>
+#include <boost/weak_ptr.hpp>
+#include <boost/detail/lightweight_test.hpp>
+#include <exception>
+
+struct
+test_exception:
+    virtual boost::exception,
+    virtual std::exception
+    {
+    };
+
+int
+main()
+    {
+    using namespace boost;
+    try
+        {
+        BOOST_THROW_EXCEPTION(
+            test_exception() <<
+            errinfo_api_function("failed_api_function") <<
+            errinfo_at_line(42) <<
+            errinfo_errno(errno) <<
+            errinfo_file_handle(weak_ptr<FILE>()) <<
+            errinfo_file_name("filename.txt") <<
+            errinfo_file_open_mode("rb") <<
+            errinfo_type_info_name(typeid(int).name()) );
+        BOOST_TEST(false);
+        }
+    catch(
+    boost::exception & e )
+        {
+        BOOST_TEST(get_error_info<errinfo_api_function>(e) && *get_error_info<errinfo_api_function>(e)==std::string("failed_api_function"));
+        BOOST_TEST(get_error_info<errinfo_at_line>(e) && *get_error_info<errinfo_at_line>(e)==42);
+        BOOST_TEST(get_error_info<errinfo_errno>(e) && *get_error_info<errinfo_errno>(e)==0);
+        BOOST_TEST(get_error_info<errinfo_file_handle>(e) && get_error_info<errinfo_file_handle>(e)->expired());
+        BOOST_TEST(get_error_info<errinfo_file_name>(e) && *get_error_info<errinfo_file_name>(e)=="filename.txt");
+        BOOST_TEST(get_error_info<errinfo_file_open_mode>(e) && *get_error_info<errinfo_file_open_mode>(e)=="rb");
+        BOOST_TEST(get_error_info<errinfo_type_info_name>(e) && *get_error_info<errinfo_type_info_name>(e)==typeid(int).name());
+        }
+    catch(
+    ... )
+        {
+        BOOST_TEST(false);
+        }
+    return boost::report_errors();
+    }