Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r52278 - in trunk/libs/exception/doc: . source
From: emil_at_[hidden]
Date: 2009-04-09 00:49:20


Author: emildotchevski
Date: 2009-04-09 00:49:19 EDT (Thu, 09 Apr 2009)
New Revision: 52278
URL: http://svn.boost.org/trac/boost/changeset/52278

Log:
documentation update
Text files modified:
   trunk/libs/exception/doc/motivation.html | 4
   trunk/libs/exception/doc/source/boost-exception.reno | 2328 ++++++++++++++++++++--------------------
   2 files changed, 1166 insertions(+), 1166 deletions(-)

Modified: trunk/libs/exception/doc/motivation.html
==============================================================================
--- trunk/libs/exception/doc/motivation.html (original)
+++ trunk/libs/exception/doc/motivation.html 2009-04-09 00:49:19 EDT (Thu, 09 Apr 2009)
@@ -113,10 +113,10 @@
     {
     std::cerr << "I/O Error!\n";
 
- if( shared_ptr&lt;std::string const&gt; fn=<span class="RenoLink">get_error_info</span>&lt;file_name&gt;(e) )
+ if( std::string const * fn=<span class="RenoLink">get_error_info</span>&lt;file_name&gt;(e) )
         std::cerr &lt;&lt; "File name: " &lt;&lt; *fn &lt;&lt; "\n";
 
- if( shared_ptr&lt;int const&gt; c=<span class="RenoLink">get_error_info</span>&lt;errno_code&gt;(e) )
+ if( int const * c=<span class="RenoLink">get_error_info</span>&lt;errno_code&gt;(e) )
         std::cerr &lt;&lt; "OS says: " &lt;&lt; strerror(*c) &lt;&lt; "\n";
     }</pre>
 <p>In addition, boost::<span class="RenoLink">diagnostic_information</span> can be used to compose an automatic (if not user-friendly) message that contains all of the <span class="RenoLink">error_info</span> objects added to a boost::<span class="RenoLink">exception</span>. This is useful for inclusion in logs and other diagnostic objects.</p>

Modified: trunk/libs/exception/doc/source/boost-exception.reno
==============================================================================
--- trunk/libs/exception/doc/source/boost-exception.reno (original)
+++ trunk/libs/exception/doc/source/boost-exception.reno 2009-04-09 00:49:19 EDT (Thu, 09 Apr 2009)
@@ -325,6 +325,128 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>Motivation</string>
+ </title>
+ <file_name>
+ <string>motivation</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also explicit=&quot;</string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>12</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
+ <size>0</size>
+ </container>
+ </stream_hook_path>
+ </hook>
+ <file>
+ <path>
+ <empty>1</empty>
+ </path>
+ </file>
+ </hook>
+ <title>
+ <string>exception types as simple semantic tags</string>
+ </title>
+ <file_name>
+ <string></string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>13</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <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>
+ <title>
+ <string>integrating boost exception in existing exception class hierarchies</string>
+ </title>
+ <file_name>
+ <string>tutorial_enable_error_info</string>
+ </file_name>
+ </object>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string> </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-8</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>14</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
                                                                                                                                                         <size>2</size>
                                                                                                                                                         <strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
                                                                                                                                                         <weak>1282550303</weak>
@@ -365,7 +487,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>12</id>
+ <id>15</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -414,7 +536,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>13</id>
+ <id>16</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -423,21 +545,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <strong>7116AEECEA666794E31DC99390ADEC1BA6AF74B2398067A0739767B4B76FA97A</strong>
+ <weak>4128134227</weak>
+ <size>307</size>
+ <position>302</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../example/logging.cpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>exception types as simple semantic tags</string>
+ <string>diagnostic information</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>tutorial_diagnostic_information</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -452,39 +581,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>14</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <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>
- <title>
- <string>integrating boost exception in existing exception class hierarchies</string>
- </title>
- <file_name>
- <string>tutorial_enable_error_info</string>
- </file_name>
- </object>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -497,7 +594,20 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>15</id>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>17</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -540,7 +650,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>16</id>
+ <id>18</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -549,63 +659,47 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>2</size>
+ <strong>9748FFBBC9F02FEB97E0BA1E6280C51FFF5D7F217F0F12EE8ED29F6BE5CCCE44</strong>
+ <weak>2533933282</weak>
+ <size>8724</size>
+ <position>615</position>
+ <strong>E23085202D084CBB50F289988A6A592F06D923B77D0AB25D7A98A7188DF5BE3B</strong>
+ <weak>1414247481</weak>
+ <size>766</size>
+ <position>7388</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../../../boost/exception_ptr.hpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Motivation</string>
+ <string>current_exception</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>motivation</string>
+ <string></string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>7</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also explicit=&quot;</string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string> </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>&quot;:)&#10;</string>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>17</id>
+ <id>19</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -658,7 +752,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>18</id>
+ <id>20</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -707,7 +801,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>19</id>
+ <id>21</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -752,52 +846,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>20</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>7116AEECEA666794E31DC99390ADEC1BA6AF74B2398067A0739767B4B76FA97A</strong>
- <weak>4128134227</weak>
- <size>307</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>
- <title>
- <string>diagnostic information</string>
- </title>
- <file_name>
- <string>tutorial_diagnostic_information</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>21</id>
+ <id>22</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -846,7 +895,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>22</id>
+ <id>23</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -889,7 +938,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>23</id>
+ <id>24</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -898,32 +947,28 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>2</size>
- <strong>9748FFBBC9F02FEB97E0BA1E6280C51FFF5D7F217F0F12EE8ED29F6BE5CCCE44</strong>
- <weak>2533933282</weak>
- <size>8724</size>
- <position>615</position>
- <strong>E23085202D084CBB50F289988A6A592F06D923B77D0AB25D7A98A7188DF5BE3B</strong>
- <weak>1414247481</weak>
- <size>766</size>
- <position>7388</position>
+ <size>1</size>
+ <strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
+ <weak>1282550303</weak>
+ <size>9192</size>
+ <position>323</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>current_exception</string>
+ <string>boost/exception/exception.hpp</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string></string>
+ <string>exception_exception_hpp</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -938,52 +983,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>24</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF</strong>
- <weak>1282550303</weak>
- <size>9192</size>
- <position>323</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../../../boost/exception/exception.hpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
- </hook>
- <title>
- <string>boost/exception/exception.hpp</string>
- </title>
- <file_name>
- <string>exception_exception_hpp</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>25</id>
+ <id>25</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1222,6 +1222,49 @@
                                                                                                                                 <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>
+ <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>31</id>
+ <type>
+ <string>reno_context</string>
+ </type>
+ <object>
+ <hook>
+ <hook>
+ <stream_hook_path>
+ <container>
                                                                                                                                                         <size>2</size>
                                                                                                                                                         <strong>9748FFBBC9F02FEB97E0BA1E6280C51FFF5D7F217F0F12EE8ED29F6BE5CCCE44</strong>
                                                                                                                                                         <weak>2533933282</weak>
@@ -1262,7 +1305,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>31</id>
+ <id>32</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1311,7 +1354,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>32</id>
+ <id>33</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1349,7 +1392,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>33</id>
+ <id>34</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1387,7 +1430,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>34</id>
+ <id>35</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1436,7 +1479,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>35</id>
+ <id>36</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1485,7 +1528,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>36</id>
+ <id>37</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1523,7 +1566,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>37</id>
+ <id>38</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1572,7 +1615,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>38</id>
+ <id>39</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1621,7 +1664,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>39</id>
+ <id>40</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1630,36 +1673,41 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <strong>D10E536B909EFFF78FB09E6242AEC7C74ACDD75AE7DF32B45870422B752E5D8E</strong>
+ <weak>1903336130</weak>
+ <size>557</size>
+ <position>382</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>1</empty>
+ <empty>0</empty>
+ <string>../../example/error_info_1.cpp</string>
+ <type>0</type>
+ <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>Types</string>
+ <string>adding of arbitrary data at the point of the throw</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>types</string>
+ <string>adding_data_at_throw</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:include include:)&#10;(:auto also:)&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>40</id>
+ <id>41</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1668,41 +1716,36 @@
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
- <size>1</size>
- <strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
- <weak>743998427</weak>
- <size>409</size>
- <position>307</position>
+ <size>0</size>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
- <empty>0</empty>
- <string>../../example/cloning_1.cpp</string>
- <type>0</type>
- <base>0</base>
+ <empty>1</empty>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>using enable_current_exception at the time of the throw</string>
+ <string>Types</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>using_enable_cloning</string>
+ <string>types</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>0</size>
+ <size>1</size>
+ <variant>2</variant>
+ <string>(:include include:)&#10;(:auto also:)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>41</id>
+ <id>42</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1712,27 +1755,27 @@
                                                                                                                                         <stream_hook_path>
                                                                                                                                                 <container>
                                                                                                                                                         <size>1</size>
- <strong>F4C951B28F7DE500973AA3DFAA99F2BADA6EDAFA2B406C30BEF3B7FBE6FD57D7</strong>
- <weak>2263754923</weak>
- <size>982</size>
- <position>306</position>
+ <strong>4ED9709788BBAB4DE7CF336561606B8C0B41F70877A3395F4EE026F4AEB66CC6</strong>
+ <weak>743998427</weak>
+ <size>409</size>
+ <position>307</position>
                                                                                                                                                 </container>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
                                                                                                                                         <path>
                                                                                                                                                 <empty>0</empty>
- <string>../../example/error_info_2.cpp</string>
+ <string>../../example/cloning_1.cpp</string>
                                                                                                                                                 <type>0</type>
                                                                                                                                                 <base>0</base>
                                                                                                                                         </path>
                                                                                                                                 </file>
                                                                                                                         </hook>
                                                                                                                         <title>
- <string>adding of arbitrary data to active exception objects</string>
+ <string>using enable_current_exception at the time of the throw</string>
                                                                                                                         </title>
                                                                                                                         <file_name>
- <string>adding_data_later</string>
+ <string>using_enable_cloning</string>
                                                                                                                         </file_name>
                                                                                                                 </object>
                                                                                                         </shared_ptr>
@@ -1745,7 +1788,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>42</id>
+ <id>43</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1790,7 +1833,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>43</id>
+ <id>44</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
                                                                                                                 </type>
@@ -1833,49 +1876,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>44</id>
- <type>
- <string>reno_context</string>
- </type>
- <object>
- <hook>
- <hook>
- <stream_hook_path>
- <container>
- <size>1</size>
- <strong>D10E536B909EFFF78FB09E6242AEC7C74ACDD75AE7DF32B45870422B752E5D8E</strong>
- <weak>1903336130</weak>
- <size>557</size>
- <position>382</position>
- </container>
- </stream_hook_path>
- </hook>
- <file>
- <path>
- <empty>0</empty>
- <string>../../example/error_info_1.cpp</string>
- <type>0</type>
- <base>0</base>
- </path>
- </file>
- </hook>
- <title>
- <string>adding of arbitrary data at the point of the throw</string>
- </title>
- <file_name>
- <string>adding_data_at_throw</string>
- </file_name>
- </object>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>45</id>
                                                                                                                 <type>
                                                                                                                         <string>reno_context</string>
@@ -2673,7 +2673,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2684,7 +2684,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2695,7 +2695,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2706,7 +2706,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2717,7 +2717,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2952,6 +2952,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>7</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@class&#10;(:link </string>
@@ -2959,7 +2970,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -2988,7 +2999,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -2999,7 +3010,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3037,17 +3048,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -3370,7 +3370,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3381,7 +3381,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3392,7 +3392,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3403,7 +3403,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3414,7 +3414,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -3513,7 +3513,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3522,7 +3522,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3531,7 +3531,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3540,7 +3540,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3549,7 +3549,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3571,7 +3571,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3604,7 +3604,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3773,6 +3773,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-43</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@(:include </string>
@@ -3780,7 +3791,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3800,17 +3811,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -3899,7 +3899,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -3986,7 +3986,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4019,7 +4019,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4052,7 +4052,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4083,7 +4083,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4092,7 +4092,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4110,7 +4110,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4119,7 +4119,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4141,7 +4141,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4150,7 +4150,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4219,7 +4219,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4312,7 +4312,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4343,7 +4343,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4352,7 +4352,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4367,6 +4367,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@template &lt;class T&gt;&#10;---unspecified--- (:link </string>
@@ -4374,7 +4385,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4385,7 +4396,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4396,7 +4407,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4407,7 +4418,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4418,7 +4429,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4429,7 +4440,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4440,7 +4451,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4451,7 +4462,38 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-17</id>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>[@(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) (:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)();@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4462,7 +4504,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4473,7 +4515,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4484,7 +4526,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4504,7 +4546,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4513,7 +4555,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4522,7 +4564,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4558,7 +4600,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4567,7 +4609,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4578,18 +4620,7 @@
                                                                                                 <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>
+ <id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4600,7 +4631,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4611,42 +4642,11 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
- <variant>2</variant>
- <string>[@(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)();@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -4756,6 +4756,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>[@class&#10;(:link </string>
@@ -4763,7 +4774,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4772,7 +4783,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4783,7 +4794,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4803,7 +4814,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4814,7 +4825,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-32</id>
+ <id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4825,7 +4836,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4836,7 +4847,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4847,7 +4858,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4856,7 +4867,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4867,7 +4878,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4878,7 +4889,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4887,7 +4898,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4898,7 +4909,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4909,7 +4920,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4920,7 +4931,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4931,7 +4942,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -4942,7 +4953,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -4953,17 +4964,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -5048,7 +5048,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5280,7 +5280,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5289,7 +5289,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5311,7 +5311,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5320,7 +5320,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5329,7 +5329,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-44</id>
+ <id>-40</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5338,7 +5338,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-41</id>
+ <id>-30</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5347,7 +5347,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-22</id>
+ <id>-23</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5369,7 +5369,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5391,7 +5391,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5400,7 +5400,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5436,7 +5436,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5445,7 +5445,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5463,7 +5463,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5472,7 +5472,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5490,7 +5490,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5499,7 +5499,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5508,7 +5508,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5517,7 +5517,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5526,7 +5526,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5535,7 +5535,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5544,7 +5544,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5553,7 +5553,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5562,7 +5562,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5571,7 +5571,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5580,7 +5580,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5589,7 +5589,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5598,7 +5598,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5607,7 +5607,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5616,7 +5616,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5625,7 +5625,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5634,7 +5634,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5656,7 +5656,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5665,7 +5665,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5674,7 +5674,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5696,7 +5696,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5705,7 +5705,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -5720,201 +5720,175 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>5</size>
+ <size>33</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor as per (15.5.1).&#10;&#10;!!!!Returns:&#10;&#10;* If T derives from boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;Traditionally, when using exceptions to report failures, the throw site:&#10;&#10;*creates an exception object of the appropriate type, and&#10;*stuffs it with data relevant to the detected error.&#10;&#10;A higher context in the program contains a catch statement which:&#10;&#10;*selects failures based on exception types, and&#10;*inspects exception objects for data required to deal with the problem.&#10;&#10;The main issue with this &quot;traditional&quot; approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.&#10;&#10;Here is an example of a catch statement:&#10;&#10;[@catch( file_read_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; e.file_name();&#10; }@]&#10;&#10;And here is a possible matching throw:&#10;&#10;[@void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(???);&#10; ....&#
10; }@]&#10;&#10;Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!&#10;&#10;In an attempt to deal with this problem, we could modify read_file to accept a file name:&#10;&#10;[@void&#10;read_file( FILE * f, char const * name )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(name);&#10; ....&#10; }@]&#10;&#10;This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.&#10;&#10;-&gt;&apos;&apos;In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.&apos;&apos;&#10;&#10;!!!Exception wrapping&#10;&#10;The idea of exception wrapping is to catch an exce
ption from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.&#10;&#10;Exception wrapping leads to the following problems:&#10;&#10;*To wrap an exception object it must be copied, which may result in slicing.&#10;*Wrapping is practically impossible to use in generic contexts.&#10;&#10;The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.&#10;&#10;!!!The boost::exception solution&#10;&#10;*Simply derive your exception types from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), the returned object is of type T and is a copy of x.&#10;* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
+ <string>:).&#10;*Confidently limit the throw site to provide only data that is available naturally.&#10;*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.&#10;&#10;For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). The T sub-object is initialized from x by the T copy constructor.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-12</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>17</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;The (:link </string>
+ <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_read_error: virtual io_error { };&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-39</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>:)&lt;struct tag_errno_code,int&gt; errno_code;&#10;&#10;void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&apos;s operations do not throw.&#10;&#10;Two instances of (:link </string>
+ <string>|&lt;&lt;:) errno_code(errno);&#10; ....&#10; }@]&#10;&#10;In a higher exception-neutral context, we add the file name to &apos;&apos;any&apos;&apos; exception that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are equivalent and compare equal if and only if they refer to the same exception.&#10;&#10;The default constructor of (:link </string>
+ <string>:):&#10;&#10;[@typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) produces the null value of the type. The null value is equivalent only to itself.&#10;&#10;!!!!Thread safety&#10;&#10;* It is legal for multiple threads to hold (:link </string>
+ <string>:)&lt;struct tag_file_name,std::string&gt; file_name;&#10;&#10;....&#10;try&#10; {&#10; if( FILE * fp=fopen(&quot;foo.txt&quot;,&quot;rt&quot;) )&#10; {&#10; shared_ptr&lt;FILE&gt; f(fp,fclose);&#10; ....&#10; read_file(fp); //throws types deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) references to the same exception object.&#10;* It is illegal for multiple threads to modify the same (:link </string>
+ <string>:)&#10; do_something();&#10; ....&#10; }&#10; else&#10; throw file_open_error() (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object concurrently.&#10;* While calling (:link </string>
+ <string>|&lt;&lt;:) errno_code(errno);&#10; }&#10;catch( boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call (:link </string>
+ <string>:) &amp; e )&#10; {&#10; e (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) concurrently to throw the same exception object into multiple threads.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-13</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Deriving from boost::(:link </string>
+ <string>|&lt;&lt;:) file_name(&quot;foo.txt&quot;);&#10; throw;&#10; }@]&#10;&#10;Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.&#10;&#10;In other words: with boost::(:link </string>
+ <string>:):&#10;&#10;[@catch( io_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;I/O Error!\n&quot;;&#10;&#10; if( std::string const * fn=(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+ <string>:)&lt;file_name&gt;(e) )&#10; std::cerr &lt;&lt; &quot;File name: &quot; &lt;&lt; *fn &lt;&lt; &quot;\n&quot;;&#10;&#10; if( int const * c=(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_error: virtual io_error { };&#10;struct read_error: virtual io_error { };&#10;struct file_read_error: virtual file_error, virtual read_error { };@]&#10;&#10;Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-14</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>27</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Some exception hierarchies can not be modified to make boost::(:link </string>
+ <string>:)&lt;errno_code&gt;(e) )&#10; std::cerr &lt;&lt; &quot;OS says: &quot; &lt;&lt; strerror(*c) &lt;&lt; &quot;\n&quot;;&#10; }@]&#10;&#10;In addition, boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) a base type. In this case, the (:link </string>
+ <string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template can be used to make exception objects derive from boost::(:link </string>
+ <string>:) objects added to a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) anyway. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:). This is useful for inclusion in logs and other diagnostic objects.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>5</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor as per (15.5.1).&#10;&#10;!!!!Returns:&#10;&#10;* If T derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;stdexcept&gt;&#10;&#10;typedef boost::(:link </string>
+ <string>:), the returned object is of type T and is a copy of x.&#10;* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -5923,312 +5897,338 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_min,size_t&gt; std_range_min;&#10;typedef boost::(:link </string>
+ <string>:). The T sub-object is initialized from x by the T copy constructor.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-15</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>17</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_max,size_t&gt; std_range_max;&#10;typedef boost::(:link </string>
+ <string>:) 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>-38</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_std_range_index,size_t&gt; std_range_index;&#10;&#10;template &lt;class T&gt;&#10;class&#10;my_container&#10; {&#10; public:&#10;&#10; size_t size() const;&#10;&#10; T const &amp;&#10; operator[]( size_t i ) const&#10; {&#10; if( i &gt; size() )&#10; throw boost::(:link </string>
+ <string>:)&apos;s operations do not throw.&#10;&#10;Two instances of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(std::range_error(&quot;Index out of range&quot;)) &lt;&lt;&#10; std_range_min(0) &lt;&lt;&#10; std_range_max(size()) &lt;&lt;&#10; std_range_index(i);&#10; //....&#10; }&#10; };&#10;@]&#10;&#10;The call to (:link </string>
+ <string>:) are equivalent and compare equal if and only if they refer to the same exception.&#10;&#10;The default constructor of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;T&gt; gets us an object of &apos;&apos;unspecified type&apos;&apos; which is guaranteed to derive from both boost::(:link </string>
+ <string>:) produces the null value of the type. The null value is equivalent only to itself.&#10;&#10;!!!!Thread safety&#10;&#10;* It is legal for multiple threads to hold (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and T. This makes it possible to use (:link </string>
+ <string>:) references to the same exception object.&#10;* It is illegal for multiple threads to modify the same (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:) to store additional information in the exception object. The exception can be intercepted as T &amp;, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
+ <string>:) object concurrently.&#10;* While calling (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp;, so that (:link </string>
+ <string>:) makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-6</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|more information can be added to the exception at a later time:).&#10;</string>
+ <string>:) concurrently to throw the same exception object into multiple threads.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>37</size>
+ <size>19</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;When you catch an exception, you can call (:link </string>
+ <string>(:auto !!:)&#10;&#10;Boost Exception provides a namespace-scope function (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) to get an (:link </string>
+ <string>:) which takes a boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:). The returned string contains:&#10;&#10;*the string representation of all data objects added to the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-57</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/thread.hpp&gt;&#10;#include &lt;boost/bind.hpp&gt;&#10;&#10;void do_work(); //throws cloning-enabled boost::(:link </string>
+ <string>:) through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)s&#10;&#10;void&#10;worker_thread( boost::(:link </string>
+ <string> mod=&quot;/&quot;:);&#10;*the output from std::exception::what;&#10;*additional platform-specific diagnostic information.&#10;&#10;The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; error )&#10; {&#10; try&#10; {&#10; do_work();&#10; error = boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;void f(); //throws unknown types that derive from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();&#10; }&#10; catch(&#10; ... )&#10; {&#10; error = boost::(:link </string>
+ <string>:).&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)();&#10; }&#10; }@]&#10;&#10;In the above example, note that (:link </string>
+ <string>:) &amp; e )&#10; {&#10; std::cerr &lt;&lt; (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) captures the original type of the exception object. The exception can be thrown again using the (:link </string>
+ <string>:)(e);&#10; }&#10; }@]&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-44</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function:&#10;&#10;[@// ...continued&#10;&#10;void&#10;work()&#10; {&#10; boost::(:link </string>
+ <string>:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-12</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Deriving from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) error;&#10; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );&#10; t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();&#10; if( error )&#10; boost::(:link </string>
+ <string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.&#10;&#10;In other words: with boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(error);&#10; }@]&#10;&#10;Note that (:link </string>
+ <string>:), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) could fail to copy the original exception object in the following cases:&#10;&#10;* if there is not enough memory, in which case the returned (:link </string>
+ <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_error: virtual io_error { };&#10;struct read_error: virtual io_error { };&#10;struct file_read_error: virtual file_error, virtual read_error { };@]&#10;&#10;Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-13</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>27</size>
+ <variant>2</variant>
+ <string>(:auto !!:)&#10;&#10;Some exception hierarchies can not be modified to make boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) points to an instance of std::bad_alloc, or&#10;* if (:link </string>
+ <string>:) a base type. In this case, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-14</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>:) 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>-12</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) points to an instance of (:link </string>
+ <string>:) anyway. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;Regardless, the use of (:link </string>
+ <string>:)&gt;&#10;#include &lt;stdexcept&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and (:link </string>
+ <string>:)&lt;struct tag_std_range_min,size_t&gt; std_range_min;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) in the above examples is well-formed.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-16</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>33</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Traditionally, when using exceptions to report failures, the throw site:&#10;&#10;*creates an exception object of the appropriate type, and&#10;*stuffs it with data relevant to the detected error.&#10;&#10;A higher context in the program contains a catch statement which:&#10;&#10;*selects failures based on exception types, and&#10;*inspects exception objects for data required to deal with the problem.&#10;&#10;The main issue with this &quot;traditional&quot; approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.&#10;&#10;Here is an example of a catch statement:&#10;&#10;[@catch( file_read_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; e.file_name();&#10; }@]&#10;&#10;And here is a possible matching throw:&#10;&#10;[@void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(???);&#10; ....&#
10; }@]&#10;&#10;Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!&#10;&#10;In an attempt to deal with this problem, we could modify read_file to accept a file name:&#10;&#10;[@void&#10;read_file( FILE * f, char const * name )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error(name);&#10; ....&#10; }@]&#10;&#10;This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.&#10;&#10;-&gt;&apos;&apos;In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.&apos;&apos;&#10;&#10;!!!Exception wrapping&#10;&#10;The idea of exception wrapping is to catch an exce
ption from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.&#10;&#10;Exception wrapping leads to the following problems:&#10;&#10;*To wrap an exception object it must be copied, which may result in slicing.&#10;*Wrapping is practically impossible to use in generic contexts.&#10;&#10;The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.&#10;&#10;!!!The boost::exception solution&#10;&#10;*Simply derive your exception types from boost::(:link </string>
+ <string>:)&lt;struct tag_std_range_max,size_t&gt; std_range_max;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;*Confidently limit the throw site to provide only data that is available naturally.&#10;*Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.&#10;&#10;For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:&#10;&#10;[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+ <string>:)&lt;struct tag_std_range_index,size_t&gt; std_range_index;&#10;&#10;template &lt;class T&gt;&#10;class&#10;my_container&#10; {&#10; public:&#10;&#10; size_t size() const;&#10;&#10; T const &amp;&#10; operator[]( size_t i ) const&#10; {&#10; if( i &gt; size() )&#10; throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;struct io_error: virtual exception_base { };&#10;struct file_read_error: virtual io_error { };&#10;&#10;typedef boost::(:link </string>
+ <string>:)(std::range_error(&quot;Index out of range&quot;)) &lt;&lt;&#10; std_range_min(0) &lt;&lt;&#10; std_range_max(size()) &lt;&lt;&#10; std_range_index(i);&#10; //....&#10; }&#10; };&#10;@]&#10;&#10;The call to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_errno_code,int&gt; errno_code;&#10;&#10;void&#10;read_file( FILE * f )&#10; {&#10; ....&#10; size_t nr=fread(buf,1,count,f);&#10; if( ferror(f) )&#10; throw file_read_error() (:link </string>
+ <string>:)&lt;T&gt; gets us an object of &apos;&apos;unspecified type&apos;&apos; which is guaranteed to derive from both boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) errno_code(errno);&#10; ....&#10; }@]&#10;&#10;In a higher exception-neutral context, we add the file name to &apos;&apos;any&apos;&apos; exception that derives from boost::(:link </string>
+ <string>:) and T. This makes it possible to use (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@typedef boost::(:link </string>
+ <string> mod=&quot;/&quot;:) to store additional information in the exception object. The exception can be intercepted as T &amp;, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6237,191 +6237,191 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_file_name,std::string&gt; file_name;&#10;&#10;....&#10;try&#10; {&#10; if( FILE * fp=fopen(&quot;foo.txt&quot;,&quot;rt&quot;) )&#10; {&#10; shared_ptr&lt;FILE&gt; f(fp,fclose);&#10; ....&#10; read_file(fp); //throws types deriving from boost::(:link </string>
+ <string>:) &amp;, so that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-6</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10; do_something();&#10; ....&#10; }&#10; else&#10; throw file_open_error() (:link </string>
+ <string>|more information can be added to the exception at a later time:).&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-17</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>37</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;When you catch an exception, you can call (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) errno_code(errno);&#10; }&#10;catch( boost::(:link </string>
+ <string>:) to get an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e (:link </string>
+ <string>:) object:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-57</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>|&lt;&lt;:) file_name(&quot;foo.txt&quot;);&#10; throw;&#10; }@]&#10;&#10;Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;boost/thread.hpp&gt;&#10;#include &lt;boost/bind.hpp&gt;&#10;&#10;void do_work(); //throws cloning-enabled boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:):&#10;&#10;[@catch( io_error &amp; e )&#10; {&#10; std::cerr &lt;&lt; &quot;I/O Error!\n&quot;;&#10;&#10; if( shared_ptr&lt;std::string const&gt; fn=(:link </string>
+ <string>:)s&#10;&#10;void&#10;worker_thread( boost::(: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>:)&lt;file_name&gt;(e) )&#10; std::cerr &lt;&lt; &quot;File name: &quot; &lt;&lt; *fn &lt;&lt; &quot;\n&quot;;&#10;&#10; if( shared_ptr&lt;int const&gt; c=(:link </string>
+ <string>:) &amp; error )&#10; {&#10; try&#10; {&#10; do_work();&#10; error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;errno_code&gt;(e) )&#10; std::cerr &lt;&lt; &quot;OS says: &quot; &lt;&lt; strerror(*c) &lt;&lt; &quot;\n&quot;;&#10; }@]&#10;&#10;In addition, boost::(:link </string>
+ <string>:)();&#10; }&#10; catch(&#10; ... )&#10; {&#10; error = boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
+ <string>:)();&#10; }&#10; }@]&#10;&#10;In the above example, note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) objects added to a boost::(: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>-37</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). This is useful for inclusion in logs and other diagnostic objects.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-17</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>19</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Boost Exception responds to the following configuration macros:&#10;&#10;&apos;&apos;&apos;BOOST_NO_RTTI&apos;&apos;&apos;\\&#10;&apos;&apos;&apos;BOOST_NO_TYPEID&apos;&apos;&apos;&#10;&#10;The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:&#10;&#10;-&gt;By default, the (:link </string>
+ <string>:) function:&#10;&#10;[@// ...continued&#10;&#10;void&#10;work()&#10; {&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
+ <string>:) error;&#10; boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );&#10; t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();&#10; if( error )&#10; boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) can be used only with objects of type boost::(:link </string>
+ <string>:)(error);&#10; }@]&#10;&#10;Note that (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;!!!!Note:&#10;&#10;The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.&#10;&#10;&apos;&apos;&apos;BOOST_EXCEPTION_DISABLE&apos;&apos;&apos;&#10;&#10;By default, (:link </string>
+ <string>:) could fail to copy the original exception object in the following cases:&#10;&#10;* if there is not enough memory, in which case the returned (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and (:link </string>
+ <string>:) points to an instance of std::bad_alloc, or&#10;* if (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) are integrated directly in the (: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>-34</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.&#10;&#10;Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
+ <string>:) points to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-58</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;&apos;&apos;&apos;BOOST_NO_EXCEPTIONS&apos;&apos;&apos;&#10;&#10;This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
+ <string>:).&#10;&#10;Regardless, the use of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
+ <string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)&#10;</string>
+ <string>:) in the above examples is well-formed.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6432,121 +6432,117 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>21</size>
+ <size>29</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor.&#10;&#10;!!!!Returns:&#10;&#10;An object of &apos;&apos;unspecified&apos;&apos; type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &amp;).&#10;&#10;!!!!Description:&#10;&#10;&#10;&#10;This function is designed to be used directly in a throw-expression to enable the (:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) support in Boost Exception. For example:&#10;&#10;[@class&#10;my_exception:&#10; public std::exception&#10; {&#10; };&#10;&#10;....&#10;throw boost::(:link </string>
+ <string>:) function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;* An (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(my_exception());@]&#10;&#10;Unless (:link </string>
+ <string>:) that refers to the currently handled exception or a copy of the currently handled exception.&#10;* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-15</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>:) that refers to an instance of std::bad_alloc.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Notes:&#10;&#10;* It is unspecified whether the return values of two successive calls to (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may return an (:link </string>
+ <string>:) refer to the same exception object.&#10;* Correct implementation of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) which refers to an instance of (:link </string>
+ <string>:) may require compiler support, unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). See (:link </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>-23</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) for details.&#10;&#10;!!!!Note:&#10;&#10;Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+ <string>:) 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>-34</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+ <string>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) and supports the (:link </string>
+ <string>:) that refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) functionality.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-19</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>7</size>
+ <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>-38</id>
+ </shared_ptr>
+ </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
+ <string>:), then the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>. To recover this information at the catch site, use </string>
+ <string>:) sub-object of the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6555,195 +6551,195 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>; the information is also included in the message returned by </string>
+ <string>:) object is initialized by the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>.&#10;</string>
+ <string>:) copy constructor.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-20</id>
+ <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
                                                                                                         <size>19</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;Boost Exception provides a namespace-scope function (:link </string>
+ <string>(:auto !!:)&#10;&#10;Boost Exception responds to the following configuration macros:&#10;&#10;&apos;&apos;&apos;BOOST_NO_RTTI&apos;&apos;&apos;\\&#10;&apos;&apos;&apos;BOOST_NO_TYPEID&apos;&apos;&apos;&#10;&#10;The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:&#10;&#10;-&gt;By default, the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) which takes a boost::(:link </string>
+ <string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). The returned string contains:&#10;&#10;*the string representation of all data objects added to the boost::(:link </string>
+ <string>:) can be used only with objects of type boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) through (:link </string>
+ <string>:).&#10;&#10;!!!!Note:&#10;&#10;The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.&#10;&#10;&apos;&apos;&apos;BOOST_EXCEPTION_DISABLE&apos;&apos;&apos;&#10;&#10;By default, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-9</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:);&#10;*the output from std::exception::what;&#10;*additional platform-specific diagnostic information.&#10;&#10;The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:&#10;&#10;[@#include &lt;(:link </string>
+ <string>:) and (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;iostream&gt;&#10;&#10;void f(); //throws unknown types that derive from boost::(:link </string>
+ <string>:) are integrated directly in the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; boost::(:link </string>
+ <string>:) function. Defining BOOST_EXCEPTION_DISABLE disables this integration.&#10;&#10;Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-58</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; std::cerr &lt;&lt; (:link </string>
+ <string>:).&#10;&#10;&apos;&apos;&apos;BOOST_NO_EXCEPTIONS&apos;&apos;&apos;&#10;&#10;This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(e);&#10; }&#10; }@]&#10;&#10;(:include </string>
+ <string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-43</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&#10;</string>
+ <string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-21</id>
+ <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>29</size>
+ <size>21</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Returns:&#10;&#10;A string value that contains varying amount of implementation-specific diagnostic information about the passed exception object:&#10;&#10;*If E can be statically converted to boost::(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;T must be a class with an accessible no-throw copy constructor.&#10;&#10;!!!!Returns:&#10;&#10;An object of &apos;&apos;unspecified&apos;&apos; type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &amp;).&#10;&#10;!!!!Description:&#10;&#10;&#10;&#10;This function is designed to be used directly in a throw-expression to enable the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), the returned value contains the string representations of all (:link </string>
+ <string>:) support in Boost Exception. For example:&#10;&#10;[@class&#10;my_exception:&#10; public std::exception&#10; {&#10; };&#10;&#10;....&#10;throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) objects stored in the boost::(:link </string>
+ <string>:)(my_exception());@]&#10;&#10;Unless (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) through (: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>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;/&quot;:), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.&#10;*Otherwise, if E can be statically converted std::exception:&#10;**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
+ <string>:) may return an (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:);&#10;**otherwise the returned value contains the what() string.&#10;*Otherwise, the boost::</string>
+ <string>:) which refers to an instance of (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> template is not available.&#10;&#10;The string representation of each (:link </string>
+ <string>:). See (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object is deduced by a function call that is bound at the time the (:link </string>
+ <string>:) for details.&#10;&#10;!!!!Note:&#10;&#10;Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt; template is instantiated. The following overload resolutions are attempted in order:&#10;&#10;#Unqualified call to to_string(x), where x is of type (:link </string>
+ <string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6752,52 +6748,56 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;Tag,T&gt; (the return value is expected to be of type std::string.)&#10;#Unqualified call to to_string(x.(:link </string>
+ <string>:) and supports the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-46</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)()) (the return value is expected to be of type std::string.)&#10;#Unqualified call to s &lt;&lt; x.(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-46</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:) functionality.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-21</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>7</size>
                                                                                                         <variant>2</variant>
- <string> mod=&quot;m&quot;:)(), where s is a std::ostringstream.&#10;&#10;The first successfully bound function is used at the time (:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
+ <string>. To recover this information at the catch site, use </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object to string, and &apos;&apos;an unspecified stub string value is used without issuing a compile error.&apos;&apos;&#10;&#10;!!!!Notes:&#10;&#10;*The format of the returned string is unspecified.&#10;*The returned string is &apos;&apos;not&apos;&apos; user-friendly.&#10;*The returned string may include additional platform-specific diagnostic information.&#10;&#10;(:include </string>
+ <string>; the information is also included in the message returned by </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-43</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)</string>
+ <string>.&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -6808,27 +6808,27 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>13</size>
+ <size>29</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:&#10;&#10;[@#include &lt;(:link </string>
+ <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Returns:&#10;&#10;A string value that contains varying amount of implementation-specific diagnostic information about the passed exception object:&#10;&#10;*If E can be statically converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-49</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::(:link </string>
+ <string>:), the returned value contains the string representations of all (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_file_name,std::string&gt; file_name_info;&#10;typedef boost::(:link </string>
+ <string>:) objects stored in the boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -6837,173 +6837,173 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_function,char const *&gt; function_info;&#10;typedef boost::(:link </string>
+ <string>:) through (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_errno,int&gt; errno_info;&#10;typedef boost::tuple&lt;function_info,errno_info&gt; clib_failure;&#10;&#10;class file_open_error: public boost::(:link </string>
+ <string> mod=&quot;/&quot;:), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.&#10;*Otherwise, if E can be statically converted std::exception:&#10;**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;boost::shared_ptr&lt;FILE&gt;&#10;file_open( char const * name, char const * mode )&#10; {&#10; if( FILE * f=fopen(name,mode) )&#10; return boost::shared_ptr&lt;FILE&gt;(f,fclose);&#10; else&#10; throw file_open_error() &lt;&lt;&#10; file_name_info(name) &lt;&lt;&#10; clib_failure(&quot;fopen&quot;,errno);&#10; }@]&#10;&#10;Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
+ <string>:);&#10;**otherwise the returned value contains the what() string.&#10;*Otherwise, the boost::</string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-23</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>29</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;!!!!Requirements:&#10;&#10;The (:link </string>
+ <string> template is not available.&#10;&#10;The string representation of each (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) function must not be called outside of a catch block.&#10;&#10;!!!!Returns:&#10;&#10;* An (:link </string>
+ <string>:) object is deduced by a function call that is bound at the time the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) that refers to the currently handled exception or a copy of the currently handled exception.&#10;* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+ <string>:)&lt;Tag,T&gt; template is instantiated. The following overload resolutions are attempted in order:&#10;&#10;#Unqualified call to to_string(x), where x is of type (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) that refers to an instance of std::bad_alloc.&#10;&#10;!!!!Throws:&#10;&#10;Nothing.&#10;&#10;!!!!Notes:&#10;&#10;* It is unspecified whether the return values of two successive calls to (:link </string>
+ <string>:)&lt;Tag,T&gt; (the return value is expected to be of type std::string.)&#10;#Unqualified call to to_string(x.(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) refer to the same exception object.&#10;* Correct implementation of (:link </string>
+ <string> mod=&quot;m&quot;:)()) (the return value is expected to be of type std::string.)&#10;#Unqualified call to s &lt;&lt; x.(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-46</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may require compiler support, unless (:link </string>
+ <string> mod=&quot;m&quot;:)(), where s is a std::ostringstream.&#10;&#10;The first successfully bound function is used at the time (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-22</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 called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-39</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>:) object to string, and &apos;&apos;an unspecified stub string value is used without issuing a compile error.&apos;&apos;&#10;&#10;!!!!Notes:&#10;&#10;*The format of the returned string is unspecified.&#10;*The returned string is &apos;&apos;not&apos;&apos; user-friendly.&#10;*The returned string may include additional platform-specific diagnostic information.&#10;&#10;(:include </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-44</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) may return an (:link </string>
+ <string>:)</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-23</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>13</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-49</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) that refers to an instance of (:link </string>
+ <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:). In this case, if the original exception object derives from boost::(:link </string>
+ <string>:)&lt;struct tag_file_name,std::string&gt; file_name_info;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:), then the boost::(:link </string>
+ <string>:)&lt;struct tag_function,char const *&gt; function_info;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) sub-object of the (:link </string>
+ <string>:)&lt;struct tag_errno,int&gt; errno_info;&#10;typedef boost::tuple&lt;function_info,errno_info&gt; clib_failure;&#10;&#10;class file_open_error: public boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object is initialized by the boost::(:link </string>
+ <string>:) { };&#10;&#10;boost::shared_ptr&lt;FILE&gt;&#10;file_open( char const * name, char const * mode )&#10; {&#10; if( FILE * f=fopen(name,mode) )&#10; return boost::shared_ptr&lt;FILE&gt;(f,fclose);&#10; else&#10; throw file_open_error() &lt;&lt;&#10; file_name_info(name) &lt;&lt;&#10; clib_failure(&quot;fopen&quot;,errno);&#10; }@]&#10;&#10;Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) copy constructor.&#10;</string>
+ <string>:).&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -7047,7 +7047,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7082,7 +7082,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7091,7 +7091,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7137,6 +7137,100 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>19</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let&apos;s say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:&#10;&#10;[@void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error(????);&#10; }@]&#10;&#10;How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.&#10;&#10;Using boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:&#10;&#10;[@#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;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>:)&lt;struct tag_errno,int&gt; errno_info;&#10;&#10;class file_read_error: public boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error() &lt;&lt; errno_info(errno);&#10; }@]&#10;&#10;If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:&#10;&#10;[@#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-50</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;&#10;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>:)&lt;struct tag_file_name,std::string&gt; file_name_info;&#10;&#10;boost::shared_ptr&lt;FILE&gt; file_open( char const * file_name, char const * mode );&#10;void file_read( FILE * f, void * buffer, size_t size );&#10;&#10;void&#10;parse_file( char const * file_name )&#10; {&#10; boost::shared_ptr&lt;FILE&gt; f = file_open(file_name,&quot;rb&quot;);&#10; assert(f);&#10; try&#10; {&#10; char buf[1024];&#10; file_read( f.get(), buf, sizeof(buf) );&#10; }&#10; catch(&#10; boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) &amp; e )&#10; {&#10; e &lt;&lt; file_name_info(file_name);&#10; throw;&#10; }&#10; }@]&#10;&#10;The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</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>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-38</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:) object is that the file name is relevant to any failure that occurs in parse_file, &apos;&apos;even if the failure is unrelated to file I/O&apos;&apos;.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>5</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>(:auto !!!:)&#10;&#10;(:include synopsis:)&#10;&#10;This type is used by the (:link </string>
@@ -7144,7 +7238,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7153,7 +7247,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7164,7 +7258,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7175,7 +7269,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7184,7 +7278,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7202,7 +7296,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7211,7 +7305,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7220,7 +7314,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7231,7 +7325,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-32</id>
+ <id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7242,7 +7336,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7251,7 +7345,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7260,7 +7354,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-16</id>
+ <id>-11</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7278,7 +7372,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-13</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7287,7 +7381,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7296,7 +7390,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-13</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7305,7 +7399,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7314,7 +7408,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-20</id>
+ <id>-16</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7323,7 +7417,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7332,7 +7426,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7341,7 +7435,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7350,7 +7444,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7377,7 +7471,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7386,7 +7480,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7395,7 +7489,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7404,7 +7498,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7413,7 +7507,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7431,7 +7525,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7440,7 +7534,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-30</id>
+ <id>-31</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7449,7 +7543,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7494,7 +7588,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-39</id>
+ <id>-41</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7521,7 +7615,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-17</id>
+ <id>-19</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7550,7 +7644,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7561,7 +7655,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7570,7 +7664,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7579,7 +7673,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7588,7 +7682,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-42</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7597,7 +7691,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-15</id>
+ <id>-17</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7608,7 +7702,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7619,7 +7713,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7628,7 +7722,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7637,7 +7731,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7646,7 +7740,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7655,7 +7749,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7664,7 +7758,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7673,7 +7767,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7682,7 +7776,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7693,7 +7787,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7706,7 +7800,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7717,7 +7811,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7726,7 +7820,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-13</id>
+ <id>-12</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7737,7 +7831,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7748,7 +7842,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7757,7 +7851,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7766,7 +7860,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7784,7 +7878,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7793,7 +7887,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7804,7 +7898,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -7815,7 +7909,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7833,7 +7927,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7851,7 +7945,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7869,7 +7963,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7887,7 +7981,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7914,7 +8008,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7932,7 +8026,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7950,7 +8044,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7959,7 +8053,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7968,7 +8062,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -7979,129 +8073,120 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-39</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>1</size>
- <variant>2</variant>
- <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;type&quot;:)&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>11</size>
+ <size>17</size>
                                                                                                         <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Here is how cloning can be enabled in a throw-expression (15.1):&#10;&#10;[@#include &lt;(:link </string>
+ <string>(:auto !!!:)&#10;&#10;The following example demonstrates how errno can be stored in exception objects using Boost Exception:&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-56</id>
+ <id>-50</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::error_info&lt;struct tag_errno,int&gt; errno_info;&#10;&#10;class file_read_error: public boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;errno.h&gt;&#10;#include &lt;iostream&gt;&#10;&#10;typedef boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw boost::(:link </string>
+ <string>:)&lt;struct tag_errno,int&gt; errno_info; //(1)&#10;&#10;class my_error: public boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)(file_read_error()) &lt;&lt;&#10; errno_info(errno);&#10; }@]&#10;&#10;Of course, (:link </string>
+ <string>:), public std::exception { }; //(2)&#10;&#10;void&#10;f()&#10; {&#10; throw my_error() &lt;&lt; errno_info(errno); //(3)&#10; }&#10;@]&#10;&#10;First, we instantiate the (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-39</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>:) 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.&#10;&#10;Second, we define class my_error, which derives from boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:).&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-41</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>19</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let&apos;s say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:&#10;&#10;[@void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error(????);&#10; }@]&#10;&#10;How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.&#10;&#10;Using boost::(:link </string>
+ <string>:).&#10;&#10;Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-9</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) allows us to free the file_read function from the burden of storing the file name in exceptions it throws:&#10;&#10;[@#include &lt;(:link </string>
+ <string>|operator&lt;&lt;:) to store values in exception objects at the point of the throw.&#10;&#10;The stored errno value can be recovered at a later time like this:&#10;&#10;[@// ...continued&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; my_error &amp; x )&#10; {&#10; if( int const * err=boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::(:link </string>
+ <string>:)&lt;errno_info&gt;(x) )&#10; std::cerr &lt;&lt; &quot;Error code: &quot; &lt;&lt; *err;&#10; }&#10; }@]&#10;&#10;The (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-32</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_errno,int&gt; errno_info;&#10;&#10;class file_read_error: public boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
+ <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-41</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>1</size>
                                                                                                         <variant>2</variant>
- <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw file_read_error() &lt;&lt; errno_info(errno);&#10; }@]&#10;&#10;If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:&#10;&#10;[@#include &lt;(:link </string>
+ <string>(:auto !!:)&#10;&#10;(:pagelist fmt=&quot;index&quot; tags=&quot;type&quot;:)&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-42</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>11</size>
+ <variant>2</variant>
+ <string>(:auto !!!:)&#10;&#10;Here is how cloning can be enabled in a throw-expression (15.1):&#10;&#10;[@#include &lt;(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-50</id>
+ <id>-56</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;boost/shared_ptr.hpp&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;string&gt;&#10;&#10;typedef boost::(:link </string>
+ <string>:)&gt;&#10;#include &lt;stdio.h&gt;&#10;#include &lt;errno.h&gt;&#10;&#10;typedef boost::error_info&lt;struct tag_errno,int&gt; errno_info;&#10;&#10;class file_read_error: public boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
@@ -8110,41 +8195,41 @@
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:)&lt;struct tag_file_name,std::string&gt; file_name_info;&#10;&#10;boost::shared_ptr&lt;FILE&gt; file_open( char const * file_name, char const * mode );&#10;void file_read( FILE * f, void * buffer, size_t size );&#10;&#10;void&#10;parse_file( char const * file_name )&#10; {&#10; boost::shared_ptr&lt;FILE&gt; f = file_open(file_name,&quot;rb&quot;);&#10; assert(f);&#10; try&#10; {&#10; char buf[1024];&#10; file_read( f.get(), buf, sizeof(buf) );&#10; }&#10; catch(&#10; boost::(:link </string>
+ <string>:) { };&#10;&#10;void&#10;file_read( FILE * f, void * buffer, size_t size )&#10; {&#10; if( size!=fread(buffer,1,size,f) )&#10; throw boost::(:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-20</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) &amp; e )&#10; {&#10; e &lt;&lt; file_name_info(file_name);&#10; throw;&#10; }&#10; }@]&#10;&#10;The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
+ <string>:)(file_read_error()) &lt;&lt;&#10; errno_info(errno);&#10; }@]&#10;&#10;Of course, (:link </string>
                                                                                                         <variant>1</variant>
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-20</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>:) 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>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
- <string>:) object is that the file name is relevant to any failure that occurs in parse_file, &apos;&apos;even if the failure is unrelated to file I/O&apos;&apos;.&#10;</string>
+ <string>:).&#10;</string>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8157,7 +8242,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8168,7 +8253,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8179,91 +8264,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-44</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>17</size>
- <variant>2</variant>
- <string>(:auto !!!:)&#10;&#10;The following example demonstrates how errno can be stored in exception objects using Boost Exception:&#10;&#10;[@#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-50</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&gt;&#10;#include &lt;errno.h&gt;&#10;#include &lt;iostream&gt;&#10;&#10;typedef boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&lt;struct tag_errno,int&gt; errno_info; //(1)&#10;&#10;class my_error: public boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:), public std::exception { }; //(2)&#10;&#10;void&#10;f()&#10; {&#10; throw my_error() &lt;&lt; errno_info(errno); //(3)&#10; }&#10;@]&#10;&#10;First, we instantiate the (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-38</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.&#10;&#10;Second, we define class my_error, which derives from boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-37</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:).&#10;&#10;Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-9</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>|operator&lt;&lt;:) to store values in exception objects at the point of the throw.&#10;&#10;The stored errno value can be recovered at a later time like this:&#10;&#10;[@// ...continued&#10;&#10;void&#10;g()&#10; {&#10; try&#10; {&#10; f();&#10; }&#10; catch(&#10; my_error &amp; x )&#10; {&#10; if( int const * err=boost::(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&lt;errno_info&gt;(x) )&#10; std::cerr &lt;&lt; &quot;Error code: &quot; &lt;&lt; *err;&#10; }&#10; }@]&#10;&#10;The (:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-31</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.&#10;</string>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -8275,7 +8275,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8284,7 +8284,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8315,7 +8315,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8324,7 +8324,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8436,7 +8436,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8445,7 +8445,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8596,7 +8596,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -8830,7 +8830,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8841,7 +8841,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8852,7 +8852,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8863,7 +8863,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -8874,7 +8874,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9506,6 +9506,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-14</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include &lt;</string>
@@ -9524,7 +9535,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9546,7 +9557,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9557,7 +9568,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9568,7 +9579,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9579,7 +9590,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9590,7 +9601,29 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-17</id>
+ <id>-18</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
+ <size>3</size>
+ <variant>2</variant>
+ <string>`#include &lt;(:link </string>
+ <variant>1</variant>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-57</id>
+ </shared_ptr>
+ </weak_ptr>
+ <variant>2</variant>
+ <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9601,7 +9634,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9623,7 +9656,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9645,18 +9678,7 @@
                                                                                                 <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>
+ <id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9667,7 +9689,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -9678,33 +9700,11 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-22</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
- <size>3</size>
- <variant>2</variant>
- <string>`#include &lt;(:link </string>
- <variant>1</variant>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
- <id>-57</id>
- </shared_ptr>
- </weak_ptr>
- <variant>2</variant>
- <string>:)&gt;&#10;&#10;[@namespace&#10;boost&#10; {&#10;(:include decl pre_indent=&quot;4&quot;:)&#10; }@]&#10;</string>
+ <size>0</size>
                                                                                                 </container>
                                                                                         </pair>
                                                                                         <pair>
@@ -9781,7 +9781,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -9809,6 +9809,17 @@
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
+ <size>0</size>
+ </container>
+ </pair>
+ <pair>
+ <weak_ptr>
+ <expired>0</expired>
+ <shared_ptr>
+ <id>-31</id>
+ </shared_ptr>
+ </weak_ptr>
+ <container>
                                                                                                         <size>3</size>
                                                                                                         <variant>2</variant>
                                                                                                         <string>`#include &lt;(:link </string>
@@ -9827,7 +9838,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9840,7 +9851,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-32</id>
+ <id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9851,7 +9862,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9862,7 +9873,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9884,7 +9895,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9906,7 +9917,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9917,7 +9928,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9939,7 +9950,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9961,7 +9972,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-39</id>
+ <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9972,7 +9983,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-40</id>
+ <id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9983,7 +9994,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-41</id>
+ <id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -9994,7 +10005,7 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
                                                                                                 <container>
@@ -10005,7 +10016,7 @@
                                                                                                         <weak_ptr>
                                                                                                                 <expired>0</expired>
                                                                                                                 <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                                                                 </shared_ptr>
                                                                                                         </weak_ptr>
                                                                                                         <variant>2</variant>
@@ -10016,17 +10027,6 @@
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
- <id>-43</id>
- </shared_ptr>
- </weak_ptr>
- <container>
- <size>0</size>
- </container>
- </pair>
- <pair>
- <weak_ptr>
- <expired>0</expired>
- <shared_ptr>
                                                                                                                 <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
@@ -10324,19 +10324,19 @@
                                                                         <id>-11</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-14</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-13</id>
+ <id>-15</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-15</id>
+ <id>-12</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
- <id>-16</id>
+ <id>-13</id>
                                                                 </shared_ptr>
                                                                 <shared_ptr>
                                                                         <id>-17</id>
@@ -10489,7 +10489,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-32</id>
+ <id>-33</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10506,7 +10506,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-33</id>
+ <id>-34</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10591,7 +10591,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-16</id>
+ <id>-11</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10608,7 +10608,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-36</id>
+ <id>-37</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10625,7 +10625,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-13</id>
+ <id>-12</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10693,7 +10693,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-39</id>
+ <id>-41</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10751,7 +10751,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-15</id>
+ <id>-17</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10775,7 +10775,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-43</id>
+ <id>-44</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10799,7 +10799,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-14</id>
+ <id>-13</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10855,7 +10855,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-30</id>
+ <id>-31</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10883,7 +10883,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-23</id>
+ <id>-18</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10911,7 +10911,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10939,7 +10939,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-35</id>
+ <id>-36</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -10995,7 +10995,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-31</id>
+ <id>-32</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11019,7 +11019,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-20</id>
+ <id>-16</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11123,7 +11123,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-44</id>
+ <id>-40</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11199,7 +11199,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-34</id>
+ <id>-35</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11231,7 +11231,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-17</id>
+ <id>-19</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11283,7 +11283,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-38</id>
+ <id>-39</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11399,7 +11399,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-21</id>
+ <id>-22</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11531,7 +11531,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-18</id>
+ <id>-20</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11559,7 +11559,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11587,7 +11587,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-37</id>
+ <id>-38</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11667,7 +11667,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-40</id>
+ <id>-42</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11691,7 +11691,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-19</id>
+ <id>-21</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11715,7 +11715,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-41</id>
+ <id>-30</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11739,7 +11739,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-42</id>
+ <id>-43</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
@@ -11819,7 +11819,7 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
- <id>-22</id>
+ <id>-23</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                         </sorted>
@@ -11892,7 +11892,7 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-11</id>
+ <id>-14</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>error_info free function</string>
@@ -11901,7 +11901,7 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-12</id>
+ <id>-15</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>type</string>
@@ -11910,37 +11910,37 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-14</id>
+ <id>-16</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>diagnostic_information tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-15</id>
+ <id>-13</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex tutorial</string>
+ <string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-18</id>
+ <id>-17</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-19</id>
+ <id>-18</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>macro</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -11949,7 +11949,7 @@
                                                                                         <id>-20</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>diagnostic_information tutorial</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -11958,7 +11958,7 @@
                                                                                         <id>-21</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>diagnostic_information free function</string>
+ <string>macro</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -11967,7 +11967,7 @@
                                                                                         <id>-22</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noalso noindex tutorial</string>
+ <string>diagnostic_information free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -11976,7 +11976,7 @@
                                                                                         <id>-23</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12039,7 +12039,7 @@
                                                                                         <id>-30</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr type</string>
+ <string>noalso noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12048,7 +12048,7 @@
                                                                                         <id>-31</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>error_info free function</string>
+ <string>exception_ptr type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12057,7 +12057,7 @@
                                                                                         <id>-32</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex</string>
+ <string>error_info free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12066,7 +12066,7 @@
                                                                                         <id>-33</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>noindex</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12075,7 +12075,7 @@
                                                                                         <id>-34</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>free function</string>
+ <string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12084,7 +12084,7 @@
                                                                                         <id>-35</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>exception_ptr free function</string>
+ <string>free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12093,7 +12093,7 @@
                                                                                         <id>-36</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>tutorial</string>
+ <string>exception_ptr free function</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12102,7 +12102,7 @@
                                                                                         <id>-37</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>type</string>
+ <string>tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
@@ -12117,16 +12117,16 @@
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-40</id>
+ <id>-39</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noindex tutorial</string>
+ <string>type</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-41</id>
+ <id>-40</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
                                                                         <string>noalso noindex tutorial</string>
@@ -12138,16 +12138,16 @@
                                                                                         <id>-42</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string></string>
+ <string>noindex tutorial</string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>
                                                                                 <expired>0</expired>
                                                                                 <shared_ptr>
- <id>-44</id>
+ <id>-43</id>
                                                                                 </shared_ptr>
                                                                         </weak_ptr>
- <string>noalso noindex tutorial</string>
+ <string></string>
                                                                 </pair>
                                                                 <pair>
                                                                         <weak_ptr>


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