$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: emil_at_[hidden]
Date: 2008-08-31 00:05:21
Author: emildotchevski
Date: 2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
New Revision: 48488
URL: http://svn.boost.org/trac/boost/changeset/48488
Log:
nitpicking
Text files modified: 
   trunk/boost/exception/error_info.hpp                          |    12                                         
   trunk/boost/exception/exception.hpp                           |    17                                         
   trunk/boost/exception/get_error_info.hpp                      |     6                                         
   trunk/boost/exception/info.hpp                                |    17                                         
   trunk/libs/exception/doc/source/boost-exception.reno          |  6350 ++++++++++++++++++++------------------- 
   trunk/libs/exception/test/diagnostic_information_hpp_test.cpp |     1                                         
   trunk/libs/exception/test/error_info_hpp_test.cpp             |     1                                         
   trunk/libs/exception/test/exception_hpp_test.cpp              |     1                                         
   trunk/libs/exception/test/exception_ptr_hpp_test.cpp          |     1                                         
   trunk/libs/exception/test/get_error_info_hpp_test.cpp         |     1                                         
   trunk/libs/exception/test/info_hpp_test.cpp                   |     1                                         
   trunk/libs/exception/test/info_tuple_hpp_test.cpp             |     1                                         
   trunk/libs/exception/test/to_string_hpp_test.cpp              |     1                                         
   trunk/libs/exception/test/to_string_stub_hpp_test.cpp         |     1                                         
   14 files changed, 3205 insertions(+), 3206 deletions(-)
Modified: trunk/boost/exception/error_info.hpp
==============================================================================
--- trunk/boost/exception/error_info.hpp	(original)
+++ trunk/boost/exception/error_info.hpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -3,14 +3,4 @@
 //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_0E57632CCA3011DCB876FD9955D89593
-#define UUID_0E57632CCA3011DCB876FD9955D89593
-
-namespace
-boost
-    {
-    template <class Tag,class T>
-    class error_info;
-    }
-
-#endif
+namespace boost { template <class Tag,class T> class error_info; }
Modified: trunk/boost/exception/exception.hpp
==============================================================================
--- trunk/boost/exception/exception.hpp	(original)
+++ trunk/boost/exception/exception.hpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -119,6 +119,12 @@
     template <class>
     class shared_ptr;
 
+    template <class Tag,class T>
+    class error_info;
+
+	template <class E,class Tag,class T>
+	E const & operator<<( E const &, error_info<Tag,T> const & );
+
     namespace
     exception_detail
         {
@@ -135,9 +141,7 @@
             };
 
         template <class ErrorInfo>
-        shared_ptr<typename ErrorInfo::value_type const> get_data( exception const & );
-
-        void set_data( exception const *, shared_ptr<exception_detail::error_info_base const> const &, type_info_ const & );
+        shared_ptr<typename ErrorInfo::value_type const> get_info( exception const & );
         }
 
     class
@@ -177,10 +181,11 @@
 
         private:
 
-        template <class ErrorInfo>
-        friend shared_ptr<typename ErrorInfo::value_type const> exception_detail::get_data( exception const & );
+		template <class E,class Tag,class T>
+		friend E const & operator<<( E const &, error_info<Tag,T> const & );
 
-        friend void exception_detail::set_data( exception const *, shared_ptr<exception_detail::error_info_base const> const &, exception_detail::type_info_ const & );
+        template <class ErrorInfo>
+        friend shared_ptr<typename ErrorInfo::value_type const> exception_detail::get_info( exception const & );
 
         mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
         };
Modified: trunk/boost/exception/get_error_info.hpp
==============================================================================
--- trunk/boost/exception/get_error_info.hpp	(original)
+++ trunk/boost/exception/get_error_info.hpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -20,7 +20,7 @@
         template <class ErrorInfo>
         inline
         shared_ptr<typename ErrorInfo::value_type const>
-        get_data( exception const & x )
+        get_info( exception const & x )
             {
             if( exception_detail::error_info_container * c=x.data_.get() )
                 if( shared_ptr<exception_detail::error_info_base const> eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) )
@@ -41,7 +41,7 @@
     shared_ptr<typename ErrorInfo::value_type const>
     get_error_info( boost::exception const & x )
         {
-        return exception_detail::get_data<ErrorInfo>(x);
+        return exception_detail::get_info<ErrorInfo>(x);
         }
 #else
     template <class ErrorInfo,class E>
@@ -50,7 +50,7 @@
     get_error_info( E const & some_exception )
         {
         if( exception const * x = dynamic_cast<exception const *>(&some_exception) )
-            return exception_detail::get_data<ErrorInfo>(*x);
+            return exception_detail::get_info<ErrorInfo>(*x);
         else
             return shared_ptr<typename ErrorInfo::value_type const>();
         }
Modified: trunk/boost/exception/info.hpp
==============================================================================
--- trunk/boost/exception/info.hpp	(original)
+++ trunk/boost/exception/info.hpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -146,16 +146,6 @@
                     delete this;
                 }
             };
-
-        inline
-        void
-        set_data( exception const * e, shared_ptr<exception_detail::error_info_base const> const & x, exception_detail::type_info_ const & typeid_ )
-            {
-            exception_detail::error_info_container * c;
-            if( !(c=e->data_.get()) )
-                e->data_.adopt(c=new exception_detail::error_info_container_impl);
-            c->set(x,typeid_);
-            }
         }
 
     template <class E,class Tag,class T>
@@ -165,8 +155,11 @@
         {
         typedef error_info<Tag,T> error_info_tag_t;
         shared_ptr<error_info_tag_t> p( new error_info_tag_t(v) );
-        exception_detail::set_data(&x,p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
-        return x;
+        exception_detail::error_info_container * c;
+        if( !(c=x.data_.get()) )
+            x.data_.adopt(c=new exception_detail::error_info_container_impl);
+        c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t));
+		return x;
         }
     }
 
Modified: trunk/libs/exception/doc/source/boost-exception.reno
==============================================================================
--- trunk/libs/exception/doc/source/boost-exception.reno	(original)
+++ trunk/libs/exception/doc/source/boost-exception.reno	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -53,28 +53,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>6AF18E00A3BB3D35F83A4F81619F7BD079E08E2BF3F4CE6F218045A2DF9701FA</strong>
-																			<weak>348421341</weak>
-																			<size>341</size>
-																			<position>323</position>
+																			<size>2</size>
+																			<strong>5D77D35C34EE3A1CF65AF8A54984D895F7FD5E5F61B51F1C00141EE26184826F</strong>
+																			<weak>2896829895</weak>
+																			<size>4094</size>
+																			<position>775</position>
+																			<strong>CF9032A2CB14D66F0F004C0AFDE2BB94321F405D6D95AC46EC5350AB4843A4F1</strong>
+																			<weak>1073329133</weak>
+																			<size>715</size>
+																			<position>243</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception.hpp</string>
+																		<string>../../../../boost/exception/info.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception.hpp</string>
+																<string>error_info</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>exception_hpp</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -98,15 +102,11 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>2</size>
-																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
-																			<weak>2089604779</weak>
-																			<size>11016</size>
-																			<position>532</position>
-																			<strong>C84057F7B3954843F5360E9764B35DC5EB1D8ED65CA9F1B6B633D95B417E3AA9</strong>
-																			<weak>1591300832</weak>
-																			<size>2322</size>
-																			<position>1609</position>
+																			<size>1</size>
+																			<strong>EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3</strong>
+																			<weak>3701809375</weak>
+																			<size>11225</size>
+																			<position>323</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
@@ -120,10 +120,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception_ptr</string>
+																<string>boost/exception_ptr.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>exception_cloning_hpp</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -148,14 +148,14 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
+																			<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																			<weak>605377366</weak>
+																			<size>7735</size>
                                                                                                                                                         <position>323</position>
-																			<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-																			<weak>765399792</weak>
-																			<size>77</size>
-																			<position>4369</position>
+																			<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+																			<weak>1783445013</weak>
+																			<size>1182</size>
+																			<position>3164</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
@@ -169,10 +169,10 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>exception::~exception</string>
+																<string>exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>exception_destructor</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -180,7 +180,7 @@
                                                                                                 <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>
@@ -197,35 +197,33 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>FC79C34F05028DB122154492FBB2B8F0EB3EFDCAA30A48C30E3A7E7EBD67E672</strong>
-																			<weak>4099021562</weak>
-																			<size>1741</size>
-																			<position>91</position>
+																			<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
+																			<weak>2263754923</weak>
+																			<size>982</size>
+																			<position>306</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/throw_exception.hpp</string>
+																		<string>../../example/error_info_2.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/throw_exception.hpp</string>
+																<string>adding of arbitrary data to active exception objects</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>throw_exception_hpp</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>
@@ -242,28 +240,28 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>2</size>
-																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
-																			<weak>2089604779</weak>
-																			<size>11016</size>
-																			<position>532</position>
-																			<strong>7890935423C731BD8E7DE2820DF7E85C72126B2EAB9A45B0AAFA5749DD1A9D57</strong>
-																			<weak>2497085175</weak>
-																			<size>2528</size>
-																			<position>8066</position>
+																			<strong>5D77D35C34EE3A1CF65AF8A54984D895F7FD5E5F61B51F1C00141EE26184826F</strong>
+																			<weak>2896829895</weak>
+																			<size>4094</size>
+																			<position>775</position>
+																			<strong>C8FF4A90C1FD526AC0192DD679640A1EB2CD15D65F18EAB9545BF47C803BB47C</strong>
+																			<weak>1251515622</weak>
+																			<size>519</size>
+																			<position>3569</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>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>current_exception</string>
+																<string>operator<</exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -291,35 +289,33 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
-																			<weak>1173443713</weak>
-																			<size>308</size>
-																			<position>302</position>
+																			<strong>187BFD2B78A0DD006717B5B06FFD465E2468F521C32A86FB793F7A68AB5417F3</strong>
+																			<weak>4276724153</weak>
+																			<size>574</size>
+																			<position>382</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/logging.cpp</string>
+																		<string>../../example/error_info_1.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>diagnostic information</string>
+																<string>adding of arbitrary data at the point of the throw</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_diagnostic_information</string>
+																<string>adding_data_at_throw</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>
@@ -335,32 +331,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>2</size>
-																			<strong>F7B9CDADF285065E8CB1F11340DFC40B3006D9CE7EE0D5291C08A78548499089</strong>
-																			<weak>3958534298</weak>
-																			<size>4381</size>
-																			<position>775</position>
-																			<strong>C552A651ADC0B9506373CC1A78CB4D7D0342BC99BD24F2F2B8CAD3B555037FE7</strong>
-																			<weak>141521629</weak>
-																			<size>382</size>
-																			<position>3993</position>
+																			<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.hpp</string>
+																		<string>../../../../boost/exception/info_tuple.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>operator<</exception</string>
+																<string>boost/exception/info_tuple.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>exception_error_info_group_hpp</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -385,35 +377,33 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
-																			<strong>3129727981C71FD1C5ED95F4B0A4D4B67DD804FC601C0B5EC13BE01D7CD8BA8A</strong>
-																			<weak>2918124076</weak>
-																			<size>4833</size>
-																			<position>323</position>
+																			<strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
+																			<weak>743998427</weak>
+																			<size>409</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>exception_error_info_hpp</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>
@@ -429,28 +419,21 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>DDE2FCDD8E72B54F251AF3A5386B67741519415D947D3F22ECA0EE51BB70FEFE</strong>
-																			<weak>780144935</weak>
-																			<size>1751</size>
-																			<position>323</position>
+																			<size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/get_error_info.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
+																		<empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>boost/exception/get_error_info.hpp</string>
+																<string>transporting of arbitrary data to the catch site</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string></string>
+																<string>tutorial_transporting_data</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -474,29 +457,33 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>2</size>
-																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
-																			<weak>2089604779</weak>
-																			<size>11016</size>
-																			<position>532</position>
-																			<strong>4B6ED02EA5B5A3B326838794C37ED01C5DC3E8D89FA78E62B9F7A0C78D4DB6FD</strong>
-																			<weak>2715164371</weak>
-																			<size>116</size>
-																			<position>10894</position>
+																			<size>3</size>
+																			<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																			<weak>605377366</weak>
+																			<size>7735</size>
+																			<position>323</position>
+																			<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+																			<weak>1783445013</weak>
+																			<size>1182</size>
+																			<position>3164</position>
+																			<strong>9043738F71C025266AC2C0A2BEDC9DA3579175BE5BA672E59D136559D4269190</strong>
+																			<weak>317401972</weak>
+																			<size>164</size>
+																			<position>57</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../../../boost/exception_ptr.hpp</string>
+																		<string>../../../../boost/exception/exception.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>rethrow_exception</string>
+																<string>exception::diagnostic_information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
                                                                                                                                 <string></string>
@@ -523,28 +510,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
-																			<weak>2432554768</weak>
-																			<size>702</size>
-																			<position>408</position>
+																			<size>2</size>
+																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
+																			<weak>2089604779</weak>
+																			<size>11016</size>
+																			<position>532</position>
+																			<strong>CCBCB5EADA66B82DFC7650F467A0E51CA5B10EFCD3729EDFB038A1C5DCB5722D</strong>
+																			<weak>1007135774</weak>
+																			<size>701</size>
+																			<position>3933</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
-																		<string>../../example/enable_error_info.cpp</string>
+																		<string>../../../../boost/exception_ptr.hpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>integrating boost exception in existing exception class hierarchies</string>
+																<string>unknown_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_enable_error_info</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -568,28 +559,32 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
-																			<size>1</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
+																			<size>2</size>
+																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
+																			<weak>2089604779</weak>
+																			<size>11016</size>
+																			<position>532</position>
+																			<strong>C84057F7B3954843F5360E9764B35DC5EB1D8ED65CA9F1B6B633D95B417E3AA9</strong>
+																			<weak>1591300832</weak>
+																			<size>2322</size>
+																			<position>1609</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>boost/exception/exception.hpp</string>
+																<string>exception_ptr</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>exception_exception_hpp</string>
+																<string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -624,1177 +619,1004 @@
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
-																<string>transporting of arbitrary data to the catch site</string>
+																<string>boost exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
-																<string>tutorial_transporting_data</string>
+																<string>boost-exception</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>107</size>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>18</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<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>18</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
-																			<weak>3077708282</weak>
-																			<size>89</size>
-																			<position>323</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>0</size>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>1</empty>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/error_info.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>boost/exception/error_info.hpp</string>
-															</title>
-															<file_name>
-																<string>exception_error_info_value_hpp</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>transporting of exceptions between threads</string>
+																</title>
+																<file_name>
+																	<string>tutorial_exception_ptr</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>19</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<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>19</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
-																			<weak>549270010</weak>
-																			<size>163</size>
-																			<position>610</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
+																				<weak>1770110914</weak>
+																				<size>587</size>
+																				<position>1225</position>
+																				<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
+																				<weak>3929437933</weak>
+																				<size>361</size>
+																				<position>213</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/info.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>BOOST_ERROR_INFO</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>throw_exception</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>20</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>Index</string>
-															</title>
-															<file_name>
-																<string>name_idx</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+													<string>:) function.

!!Contents

#Tutorial
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-13</id>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:auto !:)

(:pagelist fmt="index" except_tags="index,noindex" mod="w":)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>21</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string> mod="w":)
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>20</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
-																			<weak>1668435395</weak>
-																			<size>1332</size>
-																			<position>396</position>
-																			<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
-																			<weak>3879093659</weak>
-																			<size>1300</size>
-																			<position>26</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835</strong>
+																				<weak>2432554768</weak>
+																				<size>702</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/info_tuple.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>operator<</tuple</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<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>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>22</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string> mod="w":)
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-18</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> mod="w":)
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>21</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
-																			<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-																			<weak>3552071431</weak>
-																			<size>1239</size>
-																			<position>3128</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
+																				<weak>1173443713</weak>
+																				<size>308</size>
+																				<position>302</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>exception</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>diagnostic information</string>
+																</title>
+																<file_name>
+																	<string>tutorial_diagnostic_information</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<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>23</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string> mod="w":)
#Documentation
##Class (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-5</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>22</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
-																			<weak>2229778754</weak>
-																			<size>631</size>
-																			<position>319</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+																				<weak>1668435395</weak>
+																				<size>1332</size>
+																				<position>396</position>
+																				<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+																				<weak>3879093659</weak>
+																				<size>1300</size>
+																				<position>26</position>
+																			</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../example/cloning_2.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>cloning and re-throwing an exception</string>
-															</title>
-															<file_name>
-																<string>cloning_and_rethrowing</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>24</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+																<title>
+																	<string>operator<</tuple</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>23</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>316E7826A34AB7412F671B91F1115D9000953DA08C941AF99D28140ECDEEB6A6</strong>
+																				<weak>718983169</weak>
+																				<size>1570</size>
+																				<position>504</position>
+																				<strong>FF9587851F54F772BCD4A548BC28D9CEB5FA00C61CBFC064568FD4F1E19AEC33</strong>
+																				<weak>535614227</weak>
+																				<size>676</size>
+																				<position>888</position>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>0</empty>
+																			<string>../../../../boost/exception/get_error_info.hpp</string>
+																			<type>0</type>
+																			<base>0</base>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>1</empty>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>transporting of exceptions between threads</string>
-															</title>
-															<file_name>
-																<string>tutorial_exception_ptr</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>get_error_info</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>25</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>24</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
-																			<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-																			<weak>3552071431</weak>
-																			<size>1239</size>
-																			<position>3128</position>
-																			<strong>B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB</strong>
-																			<weak>269617501</weak>
-																			<size>51</size>
-																			<position>245</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																				<weak>605377366</weak>
+																				<size>7735</size>
+																				<position>323</position>
+																				<strong>B4D37C317A3B45825DDA1A8C8B1CE71CC2E530D15090D05995FCBEC4247F49C4</strong>
+																				<weak>2742768198</weak>
+																				<size>258</size>
+																				<position>5736</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>exception::exception</string>
-															</title>
-															<file_name>
-																<string>exception_constructors</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>enable_error_info</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>26</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>25</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
-																			<weak>2263754923</weak>
-																			<size>982</size>
-																			<position>306</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>49D31376D97691F7C84A134B5D8C7C66EF1ED6901D376CA250D634AE2B38AB5E</strong>
+																				<weak>549270010</weak>
+																				<size>163</size>
+																				<position>610</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../example/error_info_2.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>adding of arbitrary data to active exception objects</string>
-															</title>
-															<file_name>
-																<string>adding_data_later</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>27</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+																<title>
+																	<string>BOOST_ERROR_INFO</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>26</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>187BFD2B78A0DD006717B5B06FFD465E2468F521C32A86FB793F7A68AB5417F3</strong>
-																			<weak>4276724153</weak>
-																			<size>574</size>
-																			<position>382</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																				<weak>605377366</weak>
+																				<size>7735</size>
+																				<position>323</position>
+																				<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+																				<weak>1137981799</weak>
+																				<size>192</size>
+																				<position>7455</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../example/error_info_1.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>adding of arbitrary data at the point of the throw</string>
-															</title>
-															<file_name>
-																<string>adding_data_at_throw</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>28</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+																<title>
+																	<string>enable_current_exception</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>27</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <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>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
+																				<weak>2089604779</weak>
+																				<size>11016</size>
+																				<position>532</position>
+																				<strong>7890935423C731BD8E7DE2820DF7E85C72126B2EAB9A45B0AAFA5749DD1A9D57</strong>
+																				<weak>2497085175</weak>
+																				<size>2528</size>
+																				<position>8066</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>
-																<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>exception_error_info_group_hpp</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>current_exception</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>29</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>28</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
-																			<weak>743998427</weak>
-																			<size>409</size>
-																			<position>307</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
+																				<weak>2089604779</weak>
+																				<size>11016</size>
+																				<position>532</position>
+																				<strong>F87D7E0321BDDAE23D5A6667CB12116411468AEC54E3B35FB9C8CA94BFECA41E</strong>
+																				<weak>1149388739</weak>
+																				<size>296</size>
+																				<position>10596</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../example/cloning_1.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>using enable_current_exception at the time of the throw</string>
-															</title>
-															<file_name>
-																<string>using_enable_cloning</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>30</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+																<title>
+																	<string>copy_exception</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>29</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3</strong>
-																			<weak>3701809375</weak>
-																			<size>11225</size>
-																			<position>323</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
+																				<weak>2089604779</weak>
+																				<size>11016</size>
+																				<position>532</position>
+																				<strong>4B6ED02EA5B5A3B326838794C37ED01C5DC3E8D89FA78E62B9F7A0C78D4DB6FD</strong>
+																				<weak>2715164371</weak>
+																				<size>116</size>
+																				<position>10894</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception_ptr.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>boost/exception_ptr.hpp</string>
-															</title>
-															<file_name>
-																<string>exception_cloning_hpp</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>rethrow_exception</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>31</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-15</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>30</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
-																			<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-																			<weak>1137981799</weak>
-																			<size>192</size>
-																			<position>7476</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>214D17B425C1C447F952970DA6B1A778AD45CCA513405EB2DA6EBE87285A852A</strong>
+																				<weak>1906283610</weak>
+																				<size>2414</size>
+																				<position>457</position>
+																				<strong>6B355BB18EB534B5221822257C7A7F834692C7256E5D118F5443C7D905731578</strong>
+																				<weak>1509743294</weak>
+																				<size>810</size>
+																				<position>1598</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>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>enable_current_exception</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>diagnostic_information</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>32</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
##(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-19</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
##Headers
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>31</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>FED4CEA991FBBA8DF26B5652CE68C929C38BEE74DFD6C8E89E2A623BF0A61503</strong>
-																			<weak>1244906377</weak>
-																			<size>2548</size>
-																			<position>323</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>6AF18E00A3BB3D35F83A4F81619F7BD079E08E2BF3F4CE6F218045A2DF9701FA</strong>
+																				<weak>348421341</weak>
+																				<size>341</size>
+																				<position>323</position>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>0</empty>
+																			<string>../../../../boost/exception.hpp</string>
+																			<type>0</type>
+																			<base>0</base>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/diagnostic_information.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>boost/exception/diagnostic_information.hpp</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception.hpp</string>
+																</title>
+																<file_name>
+																	<string>exception_hpp</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>33</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>32</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
-																			<weak>2089604779</weak>
-																			<size>11016</size>
-																			<position>532</position>
-																			<strong>F87D7E0321BDDAE23D5A6667CB12116411468AEC54E3B35FB9C8CA94BFECA41E</strong>
-																			<weak>1149388739</weak>
-																			<size>296</size>
-																			<position>10596</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>FED4CEA991FBBA8DF26B5652CE68C929C38BEE74DFD6C8E89E2A623BF0A61503</strong>
+																				<weak>1244906377</weak>
+																				<size>2548</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>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception_ptr.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>copy_exception</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception/diagnostic_information.hpp</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>34</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>33</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-																			<weak>1770110914</weak>
-																			<size>587</size>
-																			<position>1225</position>
-																			<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-																			<weak>3929437933</weak>
-																			<size>361</size>
-																			<position>213</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>2</size>
+																				<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
+																				<weak>1615599655</weak>
+																				<size>68</size>
+																				<position>227</position>
+																				<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
+																				<weak>805836816</weak>
+																				<size>66</size>
+																				<position>1</position>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>0</empty>
+																			<string>../../../../boost/exception/error_info.hpp</string>
+																			<type>0</type>
+																			<base>0</base>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/throw_exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>throw_exception</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception/error_info.hpp</string>
+																</title>
+																<file_name>
+																	<string>exception_error_info_value_hpp</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>35</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>34</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3</strong>
-																			<weak>94503238</weak>
-																			<size>773</size>
-																			<position>374</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																				<weak>605377366</weak>
+																				<size>7735</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../example/info_tuple.cpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>adding grouped data to exceptions</string>
-															</title>
-															<file_name>
-																<string>grouping_data</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>36</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
-																<hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>214D17B425C1C447F952970DA6B1A778AD45CCA513405EB2DA6EBE87285A852A</strong>
-																			<weak>1906283610</weak>
-																			<size>2414</size>
-																			<position>457</position>
-																			<strong>6B355BB18EB534B5221822257C7A7F834692C7256E5D118F5443C7D905731578</strong>
-																			<weak>1509743294</weak>
-																			<size>810</size>
-																			<position>1598</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>
-															</hook>
-															<title>
-																<string>diagnostic_information</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception/exception.hpp</string>
+																</title>
+																<file_name>
+																	<string>exception_exception_hpp</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>37</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>35</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
-																			<strong>B4D37C317A3B45825DDA1A8C8B1CE71CC2E530D15090D05995FCBEC4247F49C4</strong>
-																			<weak>2742768198</weak>
-																			<size>258</size>
-																			<position>5757</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>3FB3FF960AB73CFA030B0B3BF9B9B0E4DF6534F39E22EFCD3FD44C240DC1A650</strong>
+																				<weak>3103461725</weak>
+																				<size>1751</size>
+																				<position>323</position>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>0</empty>
+																			<string>../../../../boost/exception/get_error_info.hpp</string>
+																			<type>0</type>
+																			<base>0</base>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>enable_error_info</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception/get_error_info.hpp</string>
+																</title>
+																<file_name>
+																	<string></string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>38</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>36</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>1B9769136D8D43898453AE9747BDC9FD1833F7D620D9083FB9A38C43804FCF35</strong>
-																			<weak>2690633675</weak>
-																			<size>1570</size>
-																			<position>504</position>
-																			<strong>8E724ECF48FB144FBAC1B7F27AE077812CDA75F1A05A08F951DD7F9D54863425</strong>
-																			<weak>4144026351</weak>
-																			<size>676</size>
-																			<position>888</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>BA1771AE0820845A4FBA4958AD943C4AE6F331ED91EFB29CC74357A9193B79D7</strong>
+																				<weak>1140438873</weak>
+																				<size>4546</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/get_error_info.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>get_error_info</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>boost/exception/info.hpp</string>
+																</title>
+																<file_name>
+																	<string>exception_error_info_hpp</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>39</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-11</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-6</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
###(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>37</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>F7B9CDADF285065E8CB1F11340DFC40B3006D9CE7EE0D5291C08A78548499089</strong>
-																			<weak>3958534298</weak>
-																			<size>4381</size>
-																			<position>775</position>
-																			<strong>CF9032A2CB14D66F0F004C0AFDE2BB94321F405D6D95AC46EC5350AB4843A4F1</strong>
-																			<weak>1073329133</weak>
-																			<size>715</size>
-																			<position>243</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>1</size>
+																				<strong>FC79C34F05028DB122154492FBB2B8F0EB3EFDCAA30A48C30E3A7E7EBD67E672</strong>
+																				<weak>4099021562</weak>
+																				<size>1741</size>
+																				<position>91</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>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/info.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>1</size>
+																<title>
+																	<string>boost/throw_exception.hpp</string>
+																</title>
+																<file_name>
+																	<string>throw_exception_hpp</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>40</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
+													<string>:)
#(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>38</id>
+															<type>
+																<string>reno_context</string>
+															</type>
+															<object>
                                                                                                                                 <hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-																			<weak>1422943545</weak>
-																			<size>7756</size>
-																			<position>323</position>
-																			<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-																			<weak>3552071431</weak>
-																			<size>1239</size>
-																			<position>3128</position>
-																			<strong>9043738F71C025266AC2C0A2BEDC9DA3579175BE5BA672E59D136559D4269190</strong>
-																			<weak>317401972</weak>
-																			<size>164</size>
-																			<position>57</position>
-																		</container>
-																	</stream_hook_path>
+																	<hook>
+																		<stream_hook_path>
+																			<container>
+																				<size>0</size>
+																			</container>
+																		</stream_hook_path>
+																	</hook>
+																	<file>
+																		<path>
+																			<empty>1</empty>
+																		</path>
+																	</file>
                                                                                                                                 </hook>
-																<file>
-																	<path>
-																		<empty>0</empty>
-																		<string>../../../../boost/exception/exception.hpp</string>
-																		<type>0</type>
-																		<base>0</base>
-																	</path>
-																</file>
-															</hook>
-															<title>
-																<string>exception::diagnostic_information</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>1</size>
+																<title>
+																	<string>Index</string>
+																</title>
+																<file_name>
+																	<string>name_idx</string>
+																</file_name>
+															</object>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>41</id>
-														<type>
-															<string>reno_context</string>
-														</type>
-														<object>
-															<hook>
-																<hook>
-																	<stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>78F37A2801CADB066084578244BC93958EAD33507F30C07353EA7D161FFBF973</strong>
-																			<weak>2089604779</weak>
-																			<size>11016</size>
-																			<position>532</position>
-																			<strong>CCBCB5EADA66B82DFC7650F467A0E51CA5B10EFCD3729EDFB038A1C5DCB5722D</strong>
-																			<weak>1007135774</weak>
-																			<size>701</size>
-																			<position>3933</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>unknown_exception</string>
-															</title>
-															<file_name>
-																<string></string>
-															</file_name>
-														</object>
-													</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>42</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>boost exception</string>
-															</title>
-															<file_name>
-																<string>boost-exception</string>
-															</file_name>
-														</object>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>107</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>:)

!!Synopsis

`#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-24</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
+													<string>:)>

[@namespace
boost
    {
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -1803,61 +1625,16 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function.

!!Contents

#Tutorial
##(: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>-15</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-24</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-10</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#Documentation
##Class (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-22</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(:link </string>
+													<string> api pre_indent="4":)

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

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -1866,25 +1643,25 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string> api pre_indent="4":)

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

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

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -1893,34 +1670,25 @@
                                                                                                                 </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 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link </string>
+													<string> api pre_indent="4":)
    }@]

!!Class exception

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

!!Transporting of Arbitrary Data to the Catch Site

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -1929,79 +1697,43 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-14</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
##Headers
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-5</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-25</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
!!Transporting of Exceptions between Threads

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -2010,25 +1742,25 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </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>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-12</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -2037,232 +1769,504 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-8</id>
+															<id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
#(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-20</id>
+															<id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)

!!Synopsis

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

!!Printing Diagnostic Information

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

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

!!Throwing Exceptions

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-16</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> api pre_indent="4":)

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

!!Acknowledgements

Peter Dimov has been continuously influencing the design and evolution of Boost Exception. 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>-18</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string> api pre_indent="4":)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-28</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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> api pre_indent="4":)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-32</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string> api pre_indent="4":)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string> api pre_indent="4":)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-8</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string> api pre_indent="4":)
    }@]

!!Class exception

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

!!Transporting of Arbitrary Data to the Catch Site

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-23</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-38</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-19</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)
!!Transporting of Exceptions between Threads

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-30</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-31</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-32</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-31</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-14</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</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>:)

!!Printing Diagnostic Information

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

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

(:pagelist fmt="index" except_tags="index,noindex" mod="w":)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>39</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3</strong>
+																			<weak>94503238</weak>
+																			<size>773</size>
+																			<position>374</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../example/info_tuple.cpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>adding grouped data to exceptions</string>
+															</title>
+															<file_name>
+																<string>grouping_data</string>
+															</file_name>
+														</object>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>40</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>2</size>
+																			<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																			<weak>605377366</weak>
+																			<size>7735</size>
+																			<position>323</position>
+																			<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+																			<weak>765399792</weak>
+																			<size>77</size>
+																			<position>4348</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>exception::~exception</string>
+															</title>
+															<file_name>
+																<string>exception_destructor</string>
+															</file_name>
+														</object>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)

!!Throwing Exceptions

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>(:include include:)
(:auto also:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>41</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>1</size>
+																			<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+																			<weak>2229778754</weak>
+																			<size>631</size>
+																			<position>319</position>
+																		</container>
+																	</stream_hook_path>
+																</hook>
+																<file>
+																	<path>
+																		<empty>0</empty>
+																		<string>../../example/cloning_2.cpp</string>
+																		<type>0</type>
+																		<base>0</base>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>cloning and re-throwing an exception</string>
+															</title>
+															<file_name>
+																<string>cloning_and_rethrowing</string>
+															</file_name>
+														</object>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>42</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
+																<hook>
+																	<stream_hook_path>
+																		<container>
+																			<size>3</size>
+																			<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+																			<weak>605377366</weak>
+																			<size>7735</size>
+																			<position>323</position>
+																			<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+																			<weak>1783445013</weak>
+																			<size>1182</size>
+																			<position>3164</position>
+																			<strong>B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB</strong>
+																			<weak>269617501</weak>
+																			<size>51</size>
+																			<position>245</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>exception::exception</string>
+															</title>
+															<file_name>
+																<string>exception_constructors</string>
+															</file_name>
+														</object>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)

!!Acknowledgements

Peter Dimov has been continuously influencing the design and evolution of Boost Exception. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.
</string>
+													<string>(:include include:)
(:auto also:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -2287,7 +2291,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@template <class Tag,class T>
class
(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-5</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
    {
    public:

    typedef T value_type;

    error_info( value_type const & );
    };@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -2309,7 +2324,45 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>9</size>
+													<variant>2</variant>
+													<string>[@class
(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)
    {
    public:

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

    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>-40</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl pre_indent="4":)
    };@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -2447,79 +2500,19 @@
                                                                                         <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>9</size>
-													<variant>2</variant>
-													<string>[@class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-22</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    public:

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

    protected:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</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>-7</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
    };@]
</string>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2530,7 +2523,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2541,7 +2534,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2552,7 +2545,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2563,7 +2556,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<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>
@@ -2596,7 +2600,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2607,7 +2611,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2629,6 +2633,17 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
+														<id>-31</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>
@@ -2699,18 +2714,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class Tag,class T>
class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    public:

    typedef T value_type;

    error_info( value_type const & );
    };@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -2768,27 +2772,29 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>17</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-32</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>11</size>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string>[@(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -2797,25 +2803,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-12</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string> decl:)

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -2824,32 +2812,32 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <(:link </string>
+													<string> decl:)

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

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-8</id>
+															<id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>@]
</string>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2860,7 +2848,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2871,7 +2859,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<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>
@@ -2882,7 +2892,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -2893,7 +2903,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2904,7 +2914,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2915,7 +2925,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2926,69 +2936,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</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> def:)

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</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>-13</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-38</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2999,7 +2969,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3010,47 +2980,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</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> def:)

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-31</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>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3061,29 +3002,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-20</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>-39</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>-19</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3094,7 +3024,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3105,7 +3035,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3116,7 +3046,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3127,7 +3057,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3138,7 +3068,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3149,7 +3079,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3160,7 +3090,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3171,7 +3101,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3182,7 +3112,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3193,7 +3123,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-21</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3204,87 +3134,92 @@
                                                                                                 <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>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>11</size>
+													<size>17</size>
                                                                                                         <variant>2</variant>
-													<string>[@(:include </string>
+													<string>[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> decl:)

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

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

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

(:include </string>
+													<string>:)>
#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-14</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>-31</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>:)>
#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-11</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>
#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-6</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>
#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-37</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3295,7 +3230,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-36</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3306,22 +3241,40 @@
                                                                                                 <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>
+													<size>7</size>
+													<variant>2</variant>
+													<string>[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> def:)

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

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-26</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3332,7 +3285,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3343,7 +3307,36 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>7</size>
+													<variant>2</variant>
+													<string>[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-5</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> def:)

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

(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-9</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3354,7 +3347,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@(:include </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-19</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string> decl:)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3434,25 +3438,14 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-6</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@typedef ---unspecified--- (:link </string>
+													<string>[@template <class Tag,class T>
class (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3463,13 +3456,24 @@
                                                                                                 <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>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@(:link </string>
+													<string>[@class </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -3478,7 +3482,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)();@]
</string>
+													<string>;@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3502,25 +3506,25 @@
                                                                                                 <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@(: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>-6</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) (:link </string>
+													<string>|operator<<:)( E const & x, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();@]
</string>
+													<string>:)<Tag,T> const & v );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3542,27 +3546,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@template <class E, class Tag, class T>
E const & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|operator<<:)( E const & x, (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag,T> const & v );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3595,9 +3579,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@void (:link </string>
+													<string>[@virtual char const * (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -3606,16 +3590,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & ep );</string>
+													<string> mod="m":)() const throw();@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3626,7 +3601,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@class
(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-15</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:):
    public std::exception
    public boost::</string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>
    {
    ---unspecified---
    };@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3637,7 +3632,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@typedef ---unspecified--- (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:);@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3670,45 +3676,49 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>9</size>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>[@typedef (:link </string>
+													<string>[@#ifdef BOOST_NO_EXCEPTIONS

void (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_function,char const *> throw_function;
typedef (: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>-39</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_file,char const *> throw_file;
typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:)( E const & e );

#endif@]
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_throw_line,int> throw_line;

#define (:link </string>
+													<string>[@template <class T>
---unspecified--- (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-19</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)\
    ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
    ::boost::throw_file(__FILE__) <<\
    ::boost::throw_line((int)__LINE__)@]
</string>
+													<string>:)( T const & e );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3730,6 +3740,17 @@
                                                                                                         </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>7</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link </string>
@@ -3737,7 +3758,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-21</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3746,7 +3767,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3755,7 +3776,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3766,33 +3787,22 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@class </string>
+													<string>[@template <class ErrorInfo,class E>
(:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>;@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-23</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>:)( E const & x );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3803,7 +3813,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>3</size>
+													<variant>2</variant>
+													<string>[@template <class T>
---unspecified--- (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-24</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)( T const & x );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3814,58 +3835,45 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
+													<size>9</size>
                                                                                                         <variant>2</variant>
-													<string>[@(:link </string>
+													<string>[@typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)();
(:link </string>
+													<string>:)<struct tag_throw_function,char const *> throw_function;
typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)( (:link </string>
+													<string>:)<struct tag_throw_file,char const *> throw_file;
typedef (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) const & x );@]
</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>
+													<string>:)<struct tag_throw_line,int> throw_line;

#define (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-25</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)\
    ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
    ::boost::throw_file(__FILE__) <<\
    ::boost::throw_line((int)__LINE__)@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3876,7 +3884,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@template <class T>
(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-28</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)( T const & e );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3887,40 +3915,80 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@void (: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>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) const & ep );</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>5</size>
+													<variant>2</variant>
+													<string>[@(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-16</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-27</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)();@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
+													<string>[@template <class T>
std::string (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)( T const & e );@]
</string>
+													<string>:)( T const & x );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3938,31 +4006,22 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
+														<id>-31</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>[@template <class T>
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & e );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -3973,27 +4032,7 @@
                                                                                                         </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>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<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>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( E const & e );

#endif@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4015,18 +4054,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class T>
std::string (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & x );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4037,18 +4065,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & x );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4059,18 +4076,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class ErrorInfo,class E>
(:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-38</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( E const & x );@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4081,18 +4087,7 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class Tag,class T>
class (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4105,7 +4100,7 @@
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@virtual char const * (:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -4114,7 +4109,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)() const throw();@]
</string>
+													<string> mod="m":)();@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4125,38 +4120,47 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>0</size>
+												</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>[@class
(:link </string>
+													<string>[@(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:):
    public std::exception
    public boost::</string>
+													<string> mod="m":)();
(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>
    {
    ---unspecified---
    };@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-42</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string> mod="m":)( (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) const & x );@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -4181,133 +4185,90 @@
                                                                                                         </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>-6</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>9</size>
+													<size>25</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

The (:link </string>
+													<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>-6</id>
+															<id>-5</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>:)<Tag,T> can be passed to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)'s operations do not throw.

Two instances of (:link </string>
+													<string>|operator<<:) to be stored in objects of type boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-7</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>:).

!!!!Note:

The header <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-33</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) produces the null value of the type. The null value is equivalent only to itself.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-7</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>:)> provides a declaration of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object.

!!!!Throws:



Nothing.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-8</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>-9</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>29</size>
+													<string>:) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, like this:

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

(:include synopsis:)

!!!!Requirements:

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

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function must not be called outside of a catch block.

!!!!Returns:

* An (:link </string>
+													<string>:)<struct tag_errno,int> errno_info;@]

Of course, to actually add an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-5</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>:) object to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-7</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> mod="p":) using (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -4316,128 +4277,163 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) refer to the same exception object.
* Correct implementation of (:link </string>
+													<string>|operator<<:), or to retrieve it using (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-23</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:), you must first #include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may require compiler support, unless (:link </string>
+													<string>:)>.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</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>-7</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>19</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

Class boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) was used at the time the currently handled exception object was passed to throw. If (: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>-31</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) was not used, and if the compiler does not provide the necessary support, then (:link </string>
+													<string>:) can store data of arbitrary types, using the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may return an (:link </string>
+													<string>:) wrapper and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) that refers to an instance of (:link </string>
+													<string>|operator<<:).

To retrieve data from a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). In this case, if the original exception object derives from boost::(:link </string>
+													<string>:) object, use the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), then the boost::(:link </string>
+													<string>:) function template.

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) sub-object of the (:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-40</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object is initialized by the boost::(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) copy constructor.
</string>
+													<string>:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>21</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

Class boost::(: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. Here is an example:

[@#include <stdio.h>
#include <string>
        
class
file_read_error
    {
    public:

    explicit
    file_read_error( std::string const & fn ):
        fn_(fn)
        {
        };

    std::string const &
    file_name() const
        {
        return fn_;
        }

    private:

    std::string fn_;
    };

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

We have defined an exception class file_read_error which can store a file name, so that when we catch a file_read_error object, we know which file the failure is related to. However, the file_read func
tion does not have the file name at the time of the throw; all it has is a FILE handle.

One possible solution is to not use FILE handles directly. We could have our own class file which stores both a FILE handle and a file name, and pass that to file_read. However, this could be problematic if we communicate with 3rd party code that does not use our class file (probably because they have their own similar class.)

A better solution is to make class file_read_error derive (possibly indirectly) from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) provides a virtual member function (:link </string>
+													<string>:), and 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>-40</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that 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>:)>
#include <stdio.h>
#include <errno.h>

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -4446,77 +4442,77 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <iostream>

void f(); //throws unknown types that derive from boost::(:link </string>
+													<string>:)<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>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

void
g()
    {
    try
        {
        f();
        }
    catch(
    boost::(:link </string>
+													<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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & e )
        {
        std::cerr << e.(:link </string>
+													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":)();
        }
    }@]

The (:link </string>
+													<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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="m":) member function iterates over all data objects stored in the boost::(:link </string>
+													<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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) through (: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>-11</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together.

When the (:link </string>
+													<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''.

As usual, the stored data can be retrieved using (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string.

Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string.

Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error.
</string>
+													<string>:).
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4527,7 +4523,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4536,7 +4532,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4545,7 +4541,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4556,79 +4552,22 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</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>-13</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>-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>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-15</id>
+														<id>-10</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>-22</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) a base type. In this case, the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>17</size>
                                                                                                         <variant>2</variant>
-													<string>:) function template can be used to make exception objects derive from boost::(:link </string>
+													<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>-22</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) anyway. Here is an example:

[@#include <(:link </string>
+													<string>:)>
#include <errno.h>
#include <iostream>

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -4637,95 +4576,68 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <stdexcept>

typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</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>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<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>-39</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>:)<struct tag_errno,int> errno_info; //(1)

class my_error: public boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-37</id>
+															<id>-7</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>
+													<string>:), public std::exception { }; //(2)

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

First, we instantiate the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-37</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
+													<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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and T. This makes it possible to use (:link </string>
+													<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>-11</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) 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>|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( boost::shared_ptr<int const> err=boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) &, so that (:link </string>
+													<string>:)<errno_info>(x) )
            std::cerr << "Error code: " << *err;
        }
    }@]

The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-17</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|more information can be added to the exception at a later time:).
</string>
+													<string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, the returned (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) will point to it; otherwise an empty (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) is returned.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4738,40 +4650,40 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>11</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

All exception types that derive from boost::(: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>-22</id>
+															<id>-36</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. Data can be added to a boost::(:link </string>
+													<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>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) at the time of the throw, or at a later time.

(:include </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>-27</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
+													<string>:)(file_read_error()) <<
            errno_info(errno);
    }@]

Of course, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -4780,500 +4692,518 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </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>-35</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
</string>
-												</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>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

This macro is designed to be used with (:link </string>
+													<string>(:auto !!:)

All exception types that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) when throwing a boost::(:link </string>
+													<string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), to store information about the location of the throw statement. It can be chained with other (:link </string>
+													<string>:) at the time of the throw, or at a later time.

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-10</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="p":) in a single throw expression.
</string>
-												</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>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-8</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), or a type that derives (indirectly) from boost::(:link </string>
+													<string>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-39</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>:)
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>19</size>
+													<size>15</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

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

(:include decl:)

!!!!Returns:

A string representation of all data stored in the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</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>
+													<string>:) object by the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) can store data of arbitrary types, using the (:link </string>
+													<string>|operator<<:) function. See "(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) wrapper and (:link </string>
+													<string> mod="w":)" for details.

!!!!Throws:

Nothing.

!!!!Notes:

*The return value remains valid until the exception object from which it was obtained is destroyed or modified.
*The header (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:).

To retrieve data from a boost::(:link </string>
+													<string>:) provides a namespace-scope function (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object, use the (:link </string>
+													<string>:) which works with any exception. If its argument can be converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function template.

(:include </string>
+													<string>:), the output from (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-25</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
+													<string>:) is combined with other implementation-defined information into a std::string.</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

(:include synopsis:)

This type is used by the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-7</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
+													<string>:) support in Boost Exception. Please see (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
</string>
+													<string>:).
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>37</size>
+													<size>9</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

When you catch an exception, you can call (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

The (: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>:) to get an (:link </string>
+													<string>:) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object:

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

Two instances of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-30</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <boost/thread.hpp>
#include <boost/bind.hpp>

void do_work(); //throws cloning-enabled boost::(: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>-22</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)s

void
worker_thread( boost::(:link </string>
+													<string>:) produces the null value of the type. The null value is equivalent only to itself.
</string>
+												</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>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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(: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>-6</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
+													<string>:) are guaranteed to derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)();
        }
    }@]

In the above example, note that (:link </string>
+													<string>:) and to support cloning.

(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-12</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>:)
(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-14</id>
+															<id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) function:

[@// ...continued

void
work()
    {
    boost::(:link </string>
+													<string>:)
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>13</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>-6</id>
+															<id>-19</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>:)(e) is equivalent to throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-14</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(error);
    }@]

Note that (:link </string>
+													<string>:)(boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-24</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>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) points to an instance of std::bad_alloc, or
* if (:link </string>
+													<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 </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-19</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> are allowed to assume that the function never returns; therefore, if the user-defined </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) points to an instance of (:link </string>
+													<string> returns, the behavior is undefined.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</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.

!!!!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>-16</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>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-26</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)(my_exception());@]

Unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-41</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

Regardless, the use of (: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>-9</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and (:link </string>
+													<string>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-14</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) in the above examples is well-formed.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-24</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

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>:) which refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-15</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>:). See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) are guaranteed to derive from 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>-22</id>
+															<id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and to support cloning.

(:include </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>-29</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)
(:include </string>
+													<string>:) and supports the (: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>:)
</string>
+													<string>:) functionality.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>7</size>
+													<size>27</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
+													<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>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
+													<string>:) a base type. In this case, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object which shares with x all data added through (: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>-11</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:), including data that is added at a future time.

!!!!Throws:

Nothing.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-26</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>21</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. Here is an example:

[@#include <stdio.h>
#include <string>
        
class
file_read_error
    {
    public:

    explicit
    file_read_error( std::string const & fn ):
        fn_(fn)
        {
        };

    std::string const &
    file_name() const
        {
        return fn_;
        }

    private:

    std::string fn_;
    };

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

We have defined an exception class file_read_error which can store a file name, so that when we catch a file_read_error object, we know which file the failure is related to. However, the file_read func
tion does not have the file name at the time of the throw; all it has is a FILE handle.

One possible solution is to not use FILE handles directly. We could have our own class file which stores both a FILE handle and a file name, and pass that to file_read. However, this could be problematic if we communicate with 3rd party code that does not use our class file (probably because they have their own similar class.)

A better solution is to make class file_read_error derive (possibly indirectly) from boost::(:link </string>
+													<string>:) anyway. Here is an example:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), and free the file_read function from the burden of storing the file name in exceptions it throws:

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

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5282,315 +5212,306 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <stdio.h>
#include <errno.h>

typedef boost::(:link </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>-39</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info;

class file_read_error: public boost::(: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>-22</id>
+															<id>-5</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>:)<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>-5</id>
+															<id>-24</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>

typedef boost::(: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>-39</id>
+															<id>-24</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>:)<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>-22</id>
+															<id>-7</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>:) and T. This makes it possible to use (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) 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>|operator<<:) 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>-22</id>
+															<id>-7</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''.

As usual, the stored data can be retrieved using (:link </string>
+													<string>:) &, so that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
+													<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>-27</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>17</size>
+													<size>21</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 !!:)

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

typedef boost::(:link </string>
+													<string>:) provides a virtual member function (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info; //(1)

class my_error: public boost::(:link </string>
+													<string> mod="m":), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that 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>-22</id>
+															<id>-31</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>:)>
#include <iostream>

void f(); //throws unknown types that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-7</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>:).

void
g()
    {
    try
        {
        f();
        }
    catch(
    boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).

Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
+													<string>:) & e )
        {
        std::cerr << e.(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-14</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( boost::shared_ptr<int const> err=boost::(:link </string>
+													<string> mod="m":)();
        }
    }@]

The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<errno_info>(x) )
            std::cerr << "Error code: " << *err;
        }
    }@]

The (:link </string>
+													<string> mod="m":) member function iterates over all data objects stored in the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-7</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, the returned (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) will point to it; otherwise an empty (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:) is returned.
</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>11</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

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

[@#include <(:link </string>
+													<string>:) through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-12</id>
+															<id>-9</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>
+													<string>|operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together.

When the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-5</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>-31</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>:)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string.

Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string.

Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-22</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>5</size>
                                                                                                         <variant>2</variant>
-													<string>:)(file_read_error()) <<
            errno_info(errno);
    }@]

Of course, (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may be used with any exception type; there is no requirement that it should derive from boost::(:link </string>
+													<string>:), or a type that derives (indirectly) from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</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>-30</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>9</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

!!!!Requirements:

T must be a class with an accessible no-throw copy 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>:) template.
* E must be polymorphic.
* The </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-23</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> function must not be called outside of a catch block.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(my_exception());@]

Unless (:link </string>
+													<string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr.
* Otherwise, the returned shared_ptr points to the stored value (use (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-31</id>
+															<id>-9</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>|operator<<:) to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.

!!!!Throws:

Nothing.
</string>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) may return an (: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>-6</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) which refers to an instance of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</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>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<container>
+													<size>7</size>
                                                                                                         <variant>2</variant>
-													<string>:). See (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

This macro is designed to be used with (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5599,210 +5520,206 @@
                                                                                                                 </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>|operator<<:) when throwing a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+													<string>:), to store information about the location of the throw statement. It can be chained with other (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) and supports the (:link </string>
+													<string> mod="p":) in a single throw expression.
</string>
+												</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>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

As if try { throw e; } catch( ... ) { return (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) functionality.
</string>
+													<string>:)(); }
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>1</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
+													<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>-33</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>29</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

As if try { throw e; } catch( ... ) { return (:link </string>
+													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-9</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(); }
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-34</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>13</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>:) function must not be called outside of a catch block.

!!!!Returns:

* An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(e) is equivalent to throw 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>-31</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(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>-37</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case 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>-34</id>
+															<id>-27</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 </string>
+													<string>:) may require compiler support, unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> are allowed to assume that the function never returns; therefore, if the user-defined </string>
+													<string>:) was used at the time the currently handled exception object was passed to throw. If (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-34</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> returns, the behavior is undefined.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-35</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>13</size>
+													<string>:) was not used, and if the compiler does not provide the necessary support, then (:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-27</id>
+														</shared_ptr>
+													</weak_ptr>
                                                                                                         <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>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-28</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>:) that refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_file_name,std::string> file_name_info;
typedef boost::(:link </string>
+													<string>:). In this case, if the original exception object derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_function,char const *> function_info;
typedef boost::(:link </string>
+													<string>:), then the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-7</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>:) sub-object of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-15</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>:) object is initialized by the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
+													<string>:) copy constructor.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -5813,7 +5730,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5822,7 +5739,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5833,299 +5750,397 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-32</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>-31</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>-33</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>-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>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>1</size>
+													<variant>2</variant>
+													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</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>0</size>
+												</container>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>13</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>(: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>-22</id>
+															<id>-11</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>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>

typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-5</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>-38</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

* ErrorInfo must be an instance of the (:link </string>
+													<string>:)<struct tag_file_name,std::string> file_name_info;
typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) template.
* E must be polymorphic.
* The </string>
+													<string>:)<struct tag_function,char const *> function_info;
typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-5</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> function must not be called outside of a catch block.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
+													<string>:)<struct tag_errno,int> errno_info;
typedef boost::tuple<function_info,errno_info> clib_failure;

class file_open_error: public boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-7</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 an empty shared_ptr.
* Otherwise, the returned shared_ptr points to the stored value (use (:link </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() <<
            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>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.

!!!!Throws:

Nothing.
</string>
+													<string>:).
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>25</size>
+													<size>3</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 !!!:)

(:include decl:)

!!!!Effects:



Frees all resources associated with a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<Tag,T> can be passed to (: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>37</size>
+													<variant>2</variant>
+													<string>(:auto !!!:)

When you catch an exception, you can call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-11</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) to be stored in objects of type boost::(:link </string>
+													<string>:) to get an (: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>:).

!!!!Note:

The header <(:link </string>
+													<string>:) object:

[@#include <(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)> provides a declaration of the (: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>-39</id>
+															<id>-7</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, like this:

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

void
worker_thread( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-18</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

typedef boost::(:link </string>
+													<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)<struct tag_errno,int> errno_info;@]

Of course, to actually add an (:link </string>
+													<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-39</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object to (:link </string>
+													<string>:)();
        }
    }@]

In the above example, note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="p":) using (: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>-11</id>
+															<id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:), or to retrieve it using (:link </string>
+													<string>:) function:

[@// ...continued

void
work()
    {
    boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-38</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), you must first #include <(: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>-12</id>
+															<id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>.
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-40</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>15</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Returns:

A string representation of all data stored in the boost::(:link </string>
+													<string>:)(error);
    }@]

Note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) object by 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>-11</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>|operator<<:) function. See "(:link </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>-10</id>
+															<id>-26</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string> mod="w":)" for details.

!!!!Throws:

Nothing.

!!!!Notes:

*The return value remains valid until the exception object from which it was obtained is destroyed or modified.
*The header (:link </string>
+													<string>:) was not used in the throw-expression passed to the original throw statement and the current implementation does not have the necessary compiler-specific support to copy the exception automatically, in which case the returned (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-32</id>
+															<id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) provides a namespace-scope function (:link </string>
+													<string>:) points to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-36</id>
+															<id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) which works with any exception. If its argument can be converted to boost::(:link </string>
+													<string>:).

Regardless, the use of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-22</id>
+															<id>-27</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:), the output from (:link </string>
+													<string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-40</id>
+															<id>-29</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) is combined with other implementation-defined information into a std::string.</string>
+													<string>:) in the above examples is well-formed.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>5</size>
+													<size>7</size>
                                                                                                         <variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is used by the (:link </string>
+													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-6</id>
+															<id>-7</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:) support in Boost Exception. Please see (:link </string>
+													<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-7</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:) object which shares with x all data added through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6134,18 +6149,7 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:).
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-42</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>|operator<<:), including data that is added at a future time.

!!!!Throws:

Nothing.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                 </sorted>
@@ -6214,7 +6218,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6236,9 +6242,7 @@
                                                                                                         </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>
@@ -6333,7 +6337,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6344,20 +6348,18 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-20</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>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6368,18 +6370,20 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6390,7 +6394,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6401,7 +6405,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6412,7 +6416,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6423,7 +6427,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6434,7 +6438,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6456,7 +6460,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6467,7 +6471,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6606,19 +6610,6 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>[@(:include api:)@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-6</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include <(:link </string>
@@ -6626,29 +6617,18 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-30</id>
+															<id>-36</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>
-													<size>0</size>
+													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6659,18 +6639,18 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-16</id>
+															<id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>
#include <exception>

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

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6681,18 +6661,18 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-30</id>
+															<id>-34</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>-10</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6703,7 +6683,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6714,7 +6694,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-12</id>
+															<id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -6725,35 +6705,46 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-10</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>-16</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <boost/current_function.hpp>
#include <boost/shared_ptr.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-11</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>[@#include <boost/tuple/tuple.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</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>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6764,6 +6755,17 @@
                                                                                                         </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>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include <(:link </string>
@@ -6771,7 +6773,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-30</id>
+															<id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -6782,31 +6784,40 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</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>-6</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>-16</id>
+														<id>-17</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>-17</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -6817,35 +6828,44 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
+													<string>`#include <(:link </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>-19</id>
+														<id>-26</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>-12</id>
+															<id>-34</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>
@@ -6867,6 +6887,17 @@
                                                                                                         </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>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include <(:link </string>
@@ -6874,7 +6905,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-28</id>
+															<id>-11</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -6883,7 +6914,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-21</id>
+															<id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -6894,33 +6925,22 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
+													<string>`#include <</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
-															<id>-16</id>
+															<id>-35</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>-23</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
+													<string>>

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

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6942,29 +6973,18 @@
                                                                                                         </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>
+													<size>3</size>
+													<variant>2</variant>
+													<string>`#include <(:link </string>
+													<variant>1</variant>
+													<weak_ptr>
+														<expired>0</expired>
+														<shared_ptr>
+															<id>-36</id>
+														</shared_ptr>
+													</weak_ptr>
+													<variant>2</variant>
+													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6975,9 +6995,18 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>1</size>
+													<size>3</size>
                                                                                                         <variant>2</variant>
-													<string>[@#include <boost/tuple/tuple.hpp>

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

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6988,51 +7017,62 @@
                                                                                                         </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>-6</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>-30</id>
+														<id>-27</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>-16</id>
+															<id>-6</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>-31</id>
+														<id>-30</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>-16</id>
+															<id>-32</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>
@@ -7052,22 +7092,26 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>3</size>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
+													<string>[@(:include api:)@]
</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>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7078,18 +7122,9 @@
                                                                                                         </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>-8</id>
-														</shared_ptr>
-													</weak_ptr>
+													<size>1</size>
                                                                                                         <variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7100,7 +7135,9 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
-													<size>0</size>
+													<size>1</size>
+													<variant>2</variant>
+													<string>[@#include <boost/shared_ptr.hpp>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7113,16 +7150,16 @@
                                                                                                 <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>-32</id>
+															<id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>:)>

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

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7135,16 +7172,16 @@
                                                                                                 <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>-16</id>
+															<id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
-													<string>>

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

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

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7177,18 +7203,7 @@
                                                                                                         </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>-12</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7210,18 +7225,7 @@
                                                                                                         </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>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
+													<size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7299,6 +7303,9 @@
                                                                         <id>-19</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+									<id>-26</id>
+								</shared_ptr>
+								<shared_ptr>
                                                                         <id>-20</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -7317,27 +7324,24 @@
                                                                         <id>-25</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
-									<id>-26</id>
-								</shared_ptr>
-								<shared_ptr>
-									<id>-27</id>
-								</shared_ptr>
-								<shared_ptr>
                                                                         <id>-28</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
                                                                         <id>-29</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
-									<id>-30</id>
+									<id>-27</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
-									<id>-31</id>
+									<id>-30</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
                                                                         <id>-32</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
+									<id>-31</id>
+								</shared_ptr>
+								<shared_ptr>
                                                                         <id>-33</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
@@ -7386,7 +7390,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-42</id>
+										<id>-17</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7403,7 +7407,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-24</id>
+										<id>-18</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7420,7 +7424,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-17</id>
+										<id>-13</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7437,7 +7441,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-20</id>
+										<id>-38</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7485,7 +7489,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-23</id>
+										<id>-41</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7513,7 +7517,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-36</id>
+										<id>-30</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7537,22 +7541,18 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-15</id>
+										<id>-20</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>1B9769136D8D43898453AE9747BDC9FD1833F7D620D9083FB9A38C43804FCF35</strong>
-												<weak>2690633675</weak>
-												<size>1570</size>
-												<position>504</position>
-												<strong>8E724ECF48FB144FBAC1B7F27AE077812CDA75F1A05A08F951DD7F9D54863425</strong>
-												<weak>4144026351</weak>
-												<size>676</size>
-												<position>888</position>
+												<size>1</size>
+												<strong>3FB3FF960AB73CFA030B0B3BF9B9B0E4DF6534F39E22EFCD3FD44C240DC1A650</strong>
+												<weak>3103461725</weak>
+												<size>1751</size>
+												<position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -7565,7 +7565,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-38</id>
+										<id>-35</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7589,7 +7589,63 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-19</id>
+										<id>-25</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>2</size>
+												<strong>5D77D35C34EE3A1CF65AF8A54984D895F7FD5E5F61B51F1C00141EE26184826F</strong>
+												<weak>2896829895</weak>
+												<size>4094</size>
+												<position>775</position>
+												<strong>C8FF4A90C1FD526AC0192DD679640A1EB2CD15D65F18EAB9545BF47C803BB47C</strong>
+												<weak>1251515622</weak>
+												<size>519</size>
+												<position>3569</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>
+									<shared_ptr>
+										<id>-9</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<container>
+												<size>2</size>
+												<strong>5D77D35C34EE3A1CF65AF8A54984D895F7FD5E5F61B51F1C00141EE26184826F</strong>
+												<weak>2896829895</weak>
+												<size>4094</size>
+												<position>775</position>
+												<strong>CF9032A2CB14D66F0F004C0AFDE2BB94321F405D6D95AC46EC5350AB4843A4F1</strong>
+												<weak>1073329133</weak>
+												<size>715</size>
+												<position>243</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>
+									<shared_ptr>
+										<id>-5</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7613,7 +7669,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-8</id>
+										<id>-37</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7641,7 +7697,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-33</id>
+										<id>-28</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7669,7 +7725,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-41</id>
+										<id>-15</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7697,7 +7753,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-9</id>
+										<id>-27</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7725,7 +7781,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-6</id>
+										<id>-16</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7753,35 +7809,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-14</id>
-									</shared_ptr>
-								</pair>
-								<pair>
-									<hook>
-										<stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>F7B9CDADF285065E8CB1F11340DFC40B3006D9CE7EE0D5291C08A78548499089</strong>
-												<weak>3958534298</weak>
-												<size>4381</size>
-												<position>775</position>
-												<strong>C552A651ADC0B9506373CC1A78CB4D7D0342BC99BD24F2F2B8CAD3B555037FE7</strong>
-												<weak>141521629</weak>
-												<size>382</size>
-												<position>3993</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>
-									<shared_ptr>
-										<id>-11</id>
+										<id>-29</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7789,27 +7817,27 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>2</size>
-												<strong>F7B9CDADF285065E8CB1F11340DFC40B3006D9CE7EE0D5291C08A78548499089</strong>
-												<weak>3958534298</weak>
-												<size>4381</size>
-												<position>775</position>
-												<strong>CF9032A2CB14D66F0F004C0AFDE2BB94321F405D6D95AC46EC5350AB4843A4F1</strong>
-												<weak>1073329133</weak>
-												<size>715</size>
-												<position>243</position>
+												<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
+												<weak>1770110914</weak>
+												<size>587</size>
+												<position>1225</position>
+												<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
+												<weak>3929437933</weak>
+												<size>361</size>
+												<position>213</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/info.hpp</string>
+											<string>../../../../boost/throw_exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-39</id>
+										<id>-19</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7817,9 +7845,9 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>3129727981C71FD1C5ED95F4B0A4D4B67DD804FC601C0B5EC13BE01D7CD8BA8A</strong>
-												<weak>2918124076</weak>
-												<size>4833</size>
+												<strong>EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3</strong>
+												<weak>3701809375</weak>
+												<size>11225</size>
                                                                                                 <position>323</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
@@ -7827,13 +7855,13 @@
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/info.hpp</string>
+											<string>../../../../boost/exception_ptr.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-12</id>
+										<id>-6</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7841,27 +7869,27 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>2</size>
-												<strong>612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A</strong>
-												<weak>1770110914</weak>
-												<size>587</size>
-												<position>1225</position>
-												<strong>60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D</strong>
-												<weak>3929437933</weak>
-												<size>361</size>
-												<position>213</position>
+												<strong>316E7826A34AB7412F671B91F1115D9000953DA08C941AF99D28140ECDEEB6A6</strong>
+												<weak>718983169</weak>
+												<size>1570</size>
+												<position>504</position>
+												<strong>FF9587851F54F772BCD4A548BC28D9CEB5FA00C61CBFC064568FD4F1E19AEC33</strong>
+												<weak>535614227</weak>
+												<size>676</size>
+												<position>888</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/throw_exception.hpp</string>
+											<string>../../../../boost/exception/get_error_info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-34</id>
+										<id>-23</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7869,23 +7897,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>CAB4D823BD4720B71E1CA5BE482AC95B42A9E07CD5E08671EA23184635F281A2</strong>
-												<weak>3077708282</weak>
-												<size>89</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/error_info.hpp</string>
+											<string>../../../../boost/exception/info_tuple.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-18</id>
+										<id>-11</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7893,23 +7921,23 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3</strong>
-												<weak>3701809375</weak>
-												<size>11225</size>
-												<position>323</position>
+												<strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
+												<weak>743998427</weak>
+												<size>409</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>-30</id>
+										<id>-12</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -7917,106 +7945,130 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>1</size>
-												<strong>CAD6C404CB725D336A44920D2341ECA131149AB02C368B59028F8147F16737BF</strong>
-												<weak>2258638601</weak>
-												<size>94</size>
-												<position>227</position>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
+												<position>323</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>-28</id>
+										<id>-34</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>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
+												<position>323</position>
+												<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+												<weak>1783445013</weak>
+												<size>1182</size>
+												<position>3164</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>-29</id>
+										<id>-7</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
-												<weak>2263754923</weak>
-												<size>982</size>
-												<position>306</position>
+												<size>3</size>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
+												<position>323</position>
+												<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+												<weak>1783445013</weak>
+												<size>1182</size>
+												<position>3164</position>
+												<strong>9043738F71C025266AC2C0A2BEDC9DA3579175BE5BA672E59D136559D4269190</strong>
+												<weak>317401972</weak>
+												<size>164</size>
+												<position>57</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/error_info_2.cpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-26</id>
+										<id>-14</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
-												<weak>1173443713</weak>
-												<size>308</size>
-												<position>302</position>
+												<size>3</size>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
+												<position>323</position>
+												<strong>C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748</strong>
+												<weak>1783445013</weak>
+												<size>1182</size>
+												<position>3164</position>
+												<strong>B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB</strong>
+												<weak>269617501</weak>
+												<size>51</size>
+												<position>245</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/logging.cpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-10</id>
+										<id>-42</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>1</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
+												<size>2</size>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
                                                                                                 <position>323</position>
+												<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+												<weak>765399792</weak>
+												<size>77</size>
+												<position>4348</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -8029,7 +8081,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-16</id>
+										<id>-40</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8037,14 +8089,14 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>2</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
                                                                                                 <position>323</position>
-												<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-												<weak>3552071431</weak>
-												<size>1239</size>
-												<position>3128</position>
+												<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+												<weak>1137981799</weak>
+												<size>192</size>
+												<position>7455</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -8057,26 +8109,22 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-22</id>
+										<id>-26</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>3</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
+												<size>2</size>
+												<strong>798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0</strong>
+												<weak>605377366</weak>
+												<size>7735</size>
                                                                                                 <position>323</position>
-												<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-												<weak>3552071431</weak>
-												<size>1239</size>
-												<position>3128</position>
-												<strong>9043738F71C025266AC2C0A2BEDC9DA3579175BE5BA672E59D136559D4269190</strong>
-												<weak>317401972</weak>
-												<size>164</size>
-												<position>57</position>
+												<strong>B4D37C317A3B45825DDA1A8C8B1CE71CC2E530D15090D05995FCBEC4247F49C4</strong>
+												<weak>2742768198</weak>
+												<size>258</size>
+												<position>5736</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
@@ -8089,95 +8137,79 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-40</id>
+										<id>-24</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>3</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
-												<position>323</position>
-												<strong>B1D44CB4701E01A9F172883CC04BBD5A0173410AF3C6BEFAF711FD09F918954B</strong>
-												<weak>3552071431</weak>
-												<size>1239</size>
-												<position>3128</position>
-												<strong>B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB</strong>
-												<weak>269617501</weak>
-												<size>51</size>
-												<position>245</position>
+												<size>1</size>
+												<strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
+												<weak>2263754923</weak>
+												<size>982</size>
+												<position>306</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/exception.hpp</string>
+											<string>../../example/error_info_2.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-25</id>
+										<id>-8</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
+												<size>1</size>
+												<strong>BA1771AE0820845A4FBA4958AD943C4AE6F331ED91EFB29CC74357A9193B79D7</strong>
+												<weak>1140438873</weak>
+												<size>4546</size>
                                                                                                 <position>323</position>
-												<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-												<weak>765399792</weak>
-												<size>77</size>
-												<position>4369</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/exception.hpp</string>
+											<string>../../../../boost/exception/info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-7</id>
+										<id>-36</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
                                                                                         <container>
-												<size>2</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
-												<position>323</position>
-												<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-												<weak>1137981799</weak>
-												<size>192</size>
-												<position>7476</position>
+												<size>1</size>
+												<strong>CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB</strong>
+												<weak>1173443713</weak>
+												<size>308</size>
+												<position>302</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/exception.hpp</string>
+											<string>../../example/logging.cpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-31</id>
+										<id>-21</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8185,27 +8217,27 @@
                                                                                 <stream_hook_path>
                                                                                         <container>
                                                                                                 <size>2</size>
-												<strong>985ACA12BA0E9D0359ED1DF17DB5608A27B8FD5B083E40B39D838B75C58B57DD</strong>
-												<weak>1422943545</weak>
-												<size>7756</size>
-												<position>323</position>
-												<strong>B4D37C317A3B45825DDA1A8C8B1CE71CC2E530D15090D05995FCBEC4247F49C4</strong>
-												<weak>2742768198</weak>
-												<size>258</size>
-												<position>5757</position>
+												<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
+												<weak>1615599655</weak>
+												<size>68</size>
+												<position>227</position>
+												<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
+												<weak>805836816</weak>
+												<size>66</size>
+												<position>1</position>
                                                                                         </container>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/exception.hpp</string>
+											<string>../../../../boost/exception/error_info.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-37</id>
+										<id>-33</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8233,7 +8265,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-21</id>
+										<id>-22</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8257,7 +8289,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-27</id>
+										<id>-10</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8281,7 +8313,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-35</id>
+										<id>-39</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -8305,31 +8337,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-5</id>
-									</shared_ptr>
-								</pair>
-								<pair>
-									<hook>
-										<stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>DDE2FCDD8E72B54F251AF3A5386B67741519415D947D3F22ECA0EE51BB70FEFE</strong>
-												<weak>780144935</weak>
-												<size>1751</size>
-												<position>323</position>
-											</container>
-										</stream_hook_path>
-									</hook>
-									<file>
-										<path>
-											<empty>0</empty>
-											<string>../../../../boost/exception/get_error_info.hpp</string>
-											<type>0</type>
-											<base>0</base>
-										</path>
-									</file>
-									<shared_ptr>
-										<id>-13</id>
+										<id>-31</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                         </sorted>
@@ -8346,7 +8354,7 @@
                                         <object>
                                                 <tag_index>
                                                         <sorted>
-								<size>40</size>
+								<size>39</size>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>1</expired>
@@ -8360,7 +8368,7 @@
                                                                                         <id>-5</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8369,7 +8377,7 @@
                                                                                         <id>-6</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8378,7 +8386,7 @@
                                                                                         <id>-7</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8387,7 +8395,7 @@
                                                                                         <id>-8</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8396,7 +8404,7 @@
                                                                                         <id>-9</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8405,7 +8413,7 @@
                                                                                         <id>-10</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>diagnostic_information tutorial</string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8414,7 +8422,7 @@
                                                                                         <id>-11</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8423,7 +8431,7 @@
                                                                                         <id>-12</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8432,7 +8440,7 @@
                                                                                         <id>-13</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info</string>
+									<string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8441,7 +8449,7 @@
                                                                                         <id>-14</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string>function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8450,7 +8458,7 @@
                                                                                         <id>-15</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>tutorial</string>
+									<string>exception_ptr type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8459,7 +8467,7 @@
                                                                                         <id>-16</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8468,7 +8476,7 @@
                                                                                         <id>-17</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>tutorial</string>
+									<string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8477,7 +8485,7 @@
                                                                                         <id>-18</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8486,40 +8494,43 @@
                                                                                         <id>-19</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-20</id>
+											<id>-26</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>index noindex</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-21</id>
+											<id>-20</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-22</id>
+											<id>-21</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string>diagnostic_information tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
-										<expired>1</expired>
+										<expired>0</expired>
+										<shared_ptr>
+											<id>-22</id>
+										</shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8528,7 +8539,7 @@
                                                                                         <id>-23</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8537,7 +8548,7 @@
                                                                                         <id>-24</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>tutorial</string>
+									<string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8546,49 +8557,49 @@
                                                                                         <id>-25</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-26</id>
+											<id>-28</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-27</id>
+											<id>-29</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-28</id>
+											<id>-27</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string></string>
+									<string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-29</id>
+											<id>-30</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>diagnostic_information free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
-											<id>-30</id>
+											<id>-32</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string></string>
@@ -8600,15 +8611,6 @@
                                                                                         <id>-31</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
-								</pair>
-								<pair>
-									<weak_ptr>
-										<expired>0</expired>
-										<shared_ptr>
-											<id>-32</id>
-										</shared_ptr>
-									</weak_ptr>
                                                                         <string></string>
                                                                 </pair>
                                                                 <pair>
@@ -8618,7 +8620,7 @@
                                                                                         <id>-33</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8627,7 +8629,7 @@
                                                                                         <id>-34</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8636,7 +8638,7 @@
                                                                                         <id>-35</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noalso noindex tutorial</string>
+									<string>error_info</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8645,7 +8647,7 @@
                                                                                         <id>-36</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>diagnostic_information free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8654,7 +8656,7 @@
                                                                                         <id>-37</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8663,7 +8665,7 @@
                                                                                         <id>-38</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>error_info free function</string>
+									<string>index noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8672,7 +8674,7 @@
                                                                                         <id>-39</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>type</string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8690,7 +8692,7 @@
                                                                                         <id>-41</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>exception_ptr type</string>
+									<string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -8699,7 +8701,7 @@
                                                                                         <id>-42</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
-									<string>noindex</string>
+									<string>function</string>
                                                                 </pair>
                                                         </sorted>
                                                 </tag_index>
Modified: trunk/libs/exception/test/diagnostic_information_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/diagnostic_information_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/diagnostic_information_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/diagnostic_information.hpp>
+#include <boost/exception/diagnostic_information.hpp>
Modified: trunk/libs/exception/test/error_info_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/error_info_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/error_info_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/error_info.hpp>
+#include <boost/exception/error_info.hpp>
Modified: trunk/libs/exception/test/exception_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/exception_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/exception_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception.hpp>
+#include <boost/exception.hpp>
Modified: trunk/libs/exception/test/exception_ptr_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/exception_ptr_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/exception_ptr_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception_ptr.hpp>
+#include <boost/exception_ptr.hpp>
Modified: trunk/libs/exception/test/get_error_info_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/get_error_info_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/get_error_info_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/get_error_info.hpp>
+#include <boost/exception/get_error_info.hpp>
Modified: trunk/libs/exception/test/info_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/info_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/info_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/info.hpp>
+#include <boost/exception/info.hpp>
Modified: trunk/libs/exception/test/info_tuple_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/info_tuple_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/info_tuple_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/info_tuple.hpp>
+#include <boost/exception/info_tuple.hpp>
Modified: trunk/libs/exception/test/to_string_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/to_string_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/to_string_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/to_string.hpp>
+#include <boost/exception/to_string.hpp>
Modified: trunk/libs/exception/test/to_string_stub_hpp_test.cpp
==============================================================================
--- trunk/libs/exception/test/to_string_stub_hpp_test.cpp	(original)
+++ trunk/libs/exception/test/to_string_stub_hpp_test.cpp	2008-08-31 00:05:19 EDT (Sun, 31 Aug 2008)
@@ -4,3 +4,4 @@
 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/exception/to_string_stub.hpp>
+#include <boost/exception/to_string_stub.hpp>