$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r70975 - trunk/libs/exception/doc/source
From: emil_at_[hidden]
Date: 2011-04-04 17:55:55
Author: emildotchevski
Date: 2011-04-04 17:55:53 EDT (Mon, 04 Apr 2011)
New Revision: 70975
URL: http://svn.boost.org/trac/boost/changeset/70975
Log:
doc update
Text files modified: 
   trunk/libs/exception/doc/source/boost-exception.reno | 17302 ++++++++++++++++++--------------------- 
   1 files changed, 7967 insertions(+), 9335 deletions(-)
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	2011-04-04 17:55:53 EDT (Mon, 04 Apr 2011)
@@ -52,9 +52,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -72,11 +70,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -90,17 +86,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
-																			<weak>267438927</weak>
-																			<size>3837</size>
-																			<position>1521</position>
-																			<strong>8E8FA9BB811CA481DB2331BF872C556D9035CFCE70CE34300D01DFF51DBE31D4</strong>
-																			<weak>985350173</weak>
-																			<size>3313</size>
-																			<position>26</position>
-																		</container>
+																		<size>2</size>
+																		<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
+																		<weak>267438927</weak>
+																		<size>3837</size>
+																		<position>1521</position>
+																		<strong>8E8FA9BB811CA481DB2331BF872C556D9035CFCE70CE34300D01DFF51DBE31D4</strong>
+																		<weak>985350173</weak>
+																		<size>3313</size>
+																		<position>26</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -121,11 +115,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -139,9 +131,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -159,11 +149,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -177,13 +165,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392</strong>
-																			<weak>4193409281</weak>
-																			<size>322</size>
-																			<position>766</position>
-																		</container>
+																		<size>1</size>
+																		<strong>8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392</strong>
+																		<weak>4193409281</weak>
+																		<size>322</size>
+																		<position>766</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -204,11 +190,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -222,17 +206,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>B18DC30A3F0D524B480C222B3DEC12348928A393A0174D21F22351A2EBEF6E2A</strong>
-																			<weak>242230974</weak>
-																			<size>148</size>
-																			<position>13063</position>
-																		</container>
+																		<size>2</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>B18DC30A3F0D524B480C222B3DEC12348928A393A0174D21F22351A2EBEF6E2A</strong>
+																		<weak>242230974</weak>
+																		<size>148</size>
+																		<position>13063</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -253,11 +235,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -271,9 +251,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -291,11 +269,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -309,13 +285,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>C6548B951122E7A24EF1CD607D535FDE0DA3704EED7A98496B8B66FF41E61330</strong>
-																			<weak>1888446168</weak>
-																			<size>5137</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>C6548B951122E7A24EF1CD607D535FDE0DA3704EED7A98496B8B66FF41E61330</strong>
+																		<weak>1888446168</weak>
+																		<size>5137</size>
+																		<position>321</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -336,11 +310,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -354,13 +326,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>27ED18F9B6131B084FEF0C9F932B7027AF449E378B5FD7973CD6642263FCAF27</strong>
-																			<weak>2867102400</weak>
-																			<size>404</size>
-																			<position>307</position>
-																		</container>
+																		<size>1</size>
+																		<strong>27ED18F9B6131B084FEF0C9F932B7027AF449E378B5FD7973CD6642263FCAF27</strong>
+																		<weak>2867102400</weak>
+																		<size>404</size>
+																		<position>307</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -381,9 +351,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -397,13 +365,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
-																			<weak>561674611</weak>
-																			<size>417</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
+																		<weak>561674611</weak>
+																		<size>417</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -424,11 +390,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -442,17 +406,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
-																			<weak>1668435395</weak>
-																			<size>1332</size>
-																			<position>600</position>
-																			<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
-																			<weak>3879093659</weak>
-																			<size>1300</size>
-																			<position>26</position>
-																		</container>
+																		<size>2</size>
+																		<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+																		<weak>1668435395</weak>
+																		<size>1332</size>
+																		<position>600</position>
+																		<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+																		<weak>3879093659</weak>
+																		<size>1300</size>
+																		<position>26</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -473,11 +435,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -491,13 +451,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2</strong>
-																			<weak>1769665510</weak>
-																			<size>1558</size>
-																			<position>352</position>
-																		</container>
+																		<size>1</size>
+																		<strong>91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2</strong>
+																		<weak>1769665510</weak>
+																		<size>1558</size>
+																		<position>352</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -518,9 +476,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -534,9 +490,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -554,11 +508,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -572,17 +524,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
-																			<weak>267438927</weak>
-																			<size>3837</size>
-																			<position>1521</position>
-																			<strong>7323F04AB357FDFB0B4EFE22B1EEED0E3DBD5E3DC8461887C90FFF0C4A5E4C5D</strong>
-																			<weak>3700130823</weak>
-																			<size>497</size>
-																			<position>3341</position>
-																		</container>
+																		<size>2</size>
+																		<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
+																		<weak>267438927</weak>
+																		<size>3837</size>
+																		<position>1521</position>
+																		<strong>7323F04AB357FDFB0B4EFE22B1EEED0E3DBD5E3DC8461887C90FFF0C4A5E4C5D</strong>
+																		<weak>3700130823</weak>
+																		<size>497</size>
+																		<position>3341</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -603,11 +553,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -621,17 +569,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
-																			<weak>1376868984</weak>
-																			<size>262</size>
-																			<position>323</position>
-																			<strong>83E18B98A15DEF9418E38218D221D10DC093B915D630B51974CCD23A6E1EDC44</strong>
-																			<weak>849683856</weak>
-																			<size>98</size>
-																			<position>158</position>
-																		</container>
+																		<size>2</size>
+																		<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
+																		<weak>1376868984</weak>
+																		<size>262</size>
+																		<position>323</position>
+																		<strong>83E18B98A15DEF9418E38218D221D10DC093B915D630B51974CCD23A6E1EDC44</strong>
+																		<weak>849683856</weak>
+																		<size>98</size>
+																		<position>158</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -652,11 +598,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -670,13 +614,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
-																			<weak>2587249979</weak>
-																			<size>233</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+																		<weak>2587249979</weak>
+																		<size>233</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -697,11 +639,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -715,17 +655,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
-																			<weak>1232553666</weak>
-																			<size>214</size>
-																			<position>345</position>
-																			<strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
-																			<weak>3676119191</weak>
-																			<size>90</size>
-																			<position>118</position>
-																		</container>
+																		<size>2</size>
+																		<strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
+																		<weak>1232553666</weak>
+																		<size>214</size>
+																		<position>345</position>
+																		<strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
+																		<weak>3676119191</weak>
+																		<size>90</size>
+																		<position>118</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -746,11 +684,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -764,13 +700,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>AA363B3E599C558409A17235E029C4F635E4FDE629F763F661BDA7FA5B2D99C2</strong>
-																			<weak>1494903480</weak>
-																			<size>325</size>
-																			<position>1090</position>
-																		</container>
+																		<size>1</size>
+																		<strong>AA363B3E599C558409A17235E029C4F635E4FDE629F763F661BDA7FA5B2D99C2</strong>
+																		<weak>1494903480</weak>
+																		<size>325</size>
+																		<position>1090</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -791,11 +725,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -809,17 +741,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-																			<weak>3780717552</weak>
-																			<size>10894</size>
-																			<position>527</position>
-																			<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-																			<weak>765399792</weak>
-																			<size>77</size>
-																			<position>6601</position>
-																		</container>
+																		<size>2</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
+																		<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+																		<weak>765399792</weak>
+																		<size>77</size>
+																		<position>6601</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -840,11 +770,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -858,9 +786,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -878,11 +804,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -896,9 +820,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -916,11 +838,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -934,17 +854,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340</strong>
-																			<weak>1830643656</weak>
-																			<size>1244</size>
-																			<position>1417</position>
-																			<strong>BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D</strong>
-																			<weak>3168166030</weak>
-																			<size>1222</size>
-																			<position>21</position>
-																		</container>
+																		<size>2</size>
+																		<strong>FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340</strong>
+																		<weak>1830643656</weak>
+																		<size>1244</size>
+																		<position>1417</position>
+																		<strong>BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D</strong>
+																		<weak>3168166030</weak>
+																		<size>1222</size>
+																		<position>21</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -965,11 +883,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -983,17 +899,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2</strong>
-																			<weak>3653363251</weak>
-																			<size>731</size>
-																			<position>780</position>
-																			<strong>36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4</strong>
-																			<weak>2314308857</weak>
-																			<size>446</size>
-																			<position>279</position>
-																		</container>
+																		<size>2</size>
+																		<strong>964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2</strong>
+																		<weak>3653363251</weak>
+																		<size>731</size>
+																		<position>780</position>
+																		<strong>36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4</strong>
+																		<weak>2314308857</weak>
+																		<size>446</size>
+																		<position>279</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1014,11 +928,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1032,17 +944,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
-																			<weak>3948311309</weak>
-																			<size>396</size>
-																			<position>344</position>
-																			<strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
-																			<weak>3880328768</weak>
-																			<size>82</size>
-																			<position>308</position>
-																		</container>
+																		<size>2</size>
+																		<strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
+																		<weak>3948311309</weak>
+																		<size>396</size>
+																		<position>344</position>
+																		<strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
+																		<weak>3880328768</weak>
+																		<size>82</size>
+																		<position>308</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1063,11 +973,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1081,9 +989,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1101,11 +1007,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1119,13 +1023,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-																			<weak>2928183256</weak>
-																			<size>11200</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1146,11 +1048,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1164,21 +1064,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-																			<weak>2051148095</weak>
-																			<size>1039</size>
-																			<position>548</position>
-																			<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-																			<weak>2825495330</weak>
-																			<size>622</size>
-																			<position>411</position>
-																			<strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
-																			<weak>2218658069</weak>
-																			<size>31</size>
-																			<position>143</position>
-																		</container>
+																		<size>3</size>
+																		<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+																		<weak>2051148095</weak>
+																		<size>1039</size>
+																		<position>548</position>
+																		<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+																		<weak>2825495330</weak>
+																		<size>622</size>
+																		<position>411</position>
+																		<strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
+																		<weak>2218658069</weak>
+																		<size>31</size>
+																		<position>143</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1199,11 +1097,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1217,9 +1113,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1237,11 +1131,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1255,13 +1147,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835</strong>
-																			<weak>422843600</weak>
-																			<size>756</size>
-																			<position>527</position>
-																		</container>
+																		<size>1</size>
+																		<strong>BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835</strong>
+																		<weak>422843600</weak>
+																		<size>756</size>
+																		<position>527</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1282,11 +1172,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1300,17 +1188,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
-																			<weak>2078296250</weak>
-																			<size>305</size>
-																			<position>1066</position>
-																		</container>
+																		<size>2</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
+																		<weak>2078296250</weak>
+																		<size>305</size>
+																		<position>1066</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1331,11 +1217,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1349,13 +1233,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C</strong>
-																			<weak>3733653590</weak>
-																			<size>923</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C</strong>
+																		<weak>3733653590</weak>
+																		<size>923</size>
+																		<position>321</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1376,11 +1258,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1394,13 +1274,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>756A81C65A938BEEAD9B576707145748A3DB3BF767CC77ADD5AACD549373856A</strong>
-																			<weak>904132245</weak>
-																			<size>744</size>
-																			<position>363</position>
-																		</container>
+																		<size>1</size>
+																		<strong>756A81C65A938BEEAD9B576707145748A3DB3BF767CC77ADD5AACD549373856A</strong>
+																		<weak>904132245</weak>
+																		<size>744</size>
+																		<position>363</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1421,9 +1299,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1437,17 +1313,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
-																			<weak>1615599655</weak>
-																			<size>68</size>
-																			<position>227</position>
-																			<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
-																			<weak>805836816</weak>
-																			<size>66</size>
-																			<position>1</position>
-																		</container>
+																		<size>2</size>
+																		<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
+																		<weak>1615599655</weak>
+																		<size>68</size>
+																		<position>227</position>
+																		<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
+																		<weak>805836816</weak>
+																		<size>66</size>
+																		<position>1</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1468,11 +1342,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1486,21 +1358,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
-																			<weak>3915725772</weak>
-																			<size>5126</size>
-																			<position>751</position>
-																			<strong>C10F1E8E6D5006CC606914ADF3B32784415142ACF9ABF441AEEFF22FEDFD7E5B</strong>
-																			<weak>3971804488</weak>
-																			<size>3963</size>
-																			<position>884</position>
-																			<strong>38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610</strong>
-																			<weak>542483318</weak>
-																			<size>573</size>
-																			<position>3175</position>
-																		</container>
+																		<size>3</size>
+																		<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
+																		<weak>3915725772</weak>
+																		<size>5126</size>
+																		<position>751</position>
+																		<strong>C10F1E8E6D5006CC606914ADF3B32784415142ACF9ABF441AEEFF22FEDFD7E5B</strong>
+																		<weak>3971804488</weak>
+																		<size>3963</size>
+																		<position>884</position>
+																		<strong>38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610</strong>
+																		<weak>542483318</weak>
+																		<size>573</size>
+																		<position>3175</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1521,11 +1391,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1539,17 +1407,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
-																			<weak>2587249979</weak>
-																			<size>233</size>
-																			<position>323</position>
-																			<strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
-																			<weak>2372475309</weak>
-																			<size>70</size>
-																			<position>157</position>
-																		</container>
+																		<size>2</size>
+																		<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+																		<weak>2587249979</weak>
+																		<size>233</size>
+																		<position>323</position>
+																		<strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
+																		<weak>2372475309</weak>
+																		<size>70</size>
+																		<position>157</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1570,11 +1436,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1588,17 +1452,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D</strong>
-																			<weak>2209414553</weak>
-																			<size>2926</size>
-																			<position>708</position>
-																			<strong>49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA</strong>
-																			<weak>638776689</weak>
-																			<size>2894</size>
-																			<position>26</position>
-																		</container>
+																		<size>2</size>
+																		<strong>D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D</strong>
+																		<weak>2209414553</weak>
+																		<size>2926</size>
+																		<position>708</position>
+																		<strong>49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA</strong>
+																		<weak>638776689</weak>
+																		<size>2894</size>
+																		<position>26</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1619,11 +1481,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1637,17 +1497,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3</strong>
-																			<weak>2841506107</weak>
-																			<size>891</size>
-																			<position>173</position>
-																		</container>
+																		<size>2</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3</strong>
+																		<weak>2841506107</weak>
+																		<size>891</size>
+																		<position>173</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1668,11 +1526,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1686,17 +1542,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
-																			<weak>2728032055</weak>
-																			<size>406</size>
-																			<position>344</position>
-																			<strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
-																			<weak>1009590890</weak>
-																			<size>92</size>
-																			<position>308</position>
-																		</container>
+																		<size>2</size>
+																		<strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
+																		<weak>2728032055</weak>
+																		<size>406</size>
+																		<position>344</position>
+																		<strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
+																		<weak>1009590890</weak>
+																		<size>92</size>
+																		<position>308</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1717,11 +1571,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1735,13 +1587,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>D32E0E4334CE0236B6EDB0EAC484B2DD595860E9FD53701EB5646D62C6A45D4E</strong>
-																			<weak>1054670543</weak>
-																			<size>866</size>
-																			<position>306</position>
-																		</container>
+																		<size>1</size>
+																		<strong>D32E0E4334CE0236B6EDB0EAC484B2DD595860E9FD53701EB5646D62C6A45D4E</strong>
+																		<weak>1054670543</weak>
+																		<size>866</size>
+																		<position>306</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1762,9 +1612,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1778,21 +1626,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-																			<weak>2051148095</weak>
-																			<size>1039</size>
-																			<position>548</position>
-																			<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-																			<weak>2825495330</weak>
-																			<size>622</size>
-																			<position>411</position>
-																			<strong>98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5</strong>
-																			<weak>1584672077</weak>
-																			<size>208</size>
-																			<position>259</position>
-																		</container>
+																		<size>3</size>
+																		<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+																		<weak>2051148095</weak>
+																		<size>1039</size>
+																		<position>548</position>
+																		<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+																		<weak>2825495330</weak>
+																		<size>622</size>
+																		<position>411</position>
+																		<strong>98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5</strong>
+																		<weak>1584672077</weak>
+																		<size>208</size>
+																		<position>259</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1813,11 +1659,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1831,13 +1675,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>20224D8BEA908D6735D8E30354AA084B40FB24FD8B73B8735F9A3FE047455F8C</strong>
-																			<weak>610532800</weak>
-																			<size>14855</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>20224D8BEA908D6735D8E30354AA084B40FB24FD8B73B8735F9A3FE047455F8C</strong>
+																		<weak>610532800</weak>
+																		<size>14855</size>
+																		<position>321</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1858,11 +1700,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1876,17 +1716,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
-																			<weak>3624753243</weak>
-																			<size>279</size>
-																			<position>1373</position>
-																		</container>
+																		<size>2</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
+																		<weak>3624753243</weak>
+																		<size>279</size>
+																		<position>1373</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1907,11 +1745,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1925,9 +1761,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1945,11 +1779,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -1963,13 +1795,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
-																			<weak>2229778754</weak>
-																			<size>631</size>
-																			<position>319</position>
-																		</container>
+																		<size>1</size>
+																		<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+																		<weak>2229778754</weak>
+																		<size>631</size>
+																		<position>319</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -1990,9 +1820,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2006,13 +1834,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
-																			<weak>414875037</weak>
-																			<size>427</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
+																		<weak>414875037</weak>
+																		<size>427</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2033,11 +1859,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2051,17 +1875,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A</strong>
-																			<weak>702729709</weak>
-																			<size>815</size>
-																			<position>3118</position>
-																		</container>
+																		<size>2</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A</strong>
+																		<weak>702729709</weak>
+																		<size>815</size>
+																		<position>3118</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2082,11 +1904,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2100,9 +1920,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2120,11 +1938,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2138,13 +1954,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
-																			<weak>2576704708</weak>
-																			<size>337</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
+																		<weak>2576704708</weak>
+																		<size>337</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2165,11 +1979,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2183,13 +1995,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
-																			<weak>1917376632</weak>
-																			<size>706</size>
-																			<position>408</position>
-																		</container>
+																		<size>1</size>
+																		<strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
+																		<weak>1917376632</weak>
+																		<size>706</size>
+																		<position>408</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2210,11 +2020,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2228,9 +2036,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2248,88 +2054,82 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also explicit="</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>54</id>
-															<type>
-																<string>reno_context</string>
-															</type>
-															<object>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also explicit="</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>54</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
                                                                                                                                 <hook>
-																	<hook>
-																		<stream_hook_path>
-																			<container>
-																				<size>0</size>
-																			</container>
-																		</stream_hook_path>
-																	</hook>
-																	<file>
-																		<path>
-																			<empty>1</empty>
-																		</path>
-																	</file>
+																	<stream_hook_path>
+																		<size>0</size>
+																	</stream_hook_path>
                                                                                                                                 </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>-52</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>55</id>
-															<type>
-																<string>reno_context</string>
-															</type>
-															<object>
+																<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>-52</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>55</id>
+														<type>
+															<string>reno_context</string>
+														</type>
+														<object>
+															<hook>
                                                                                                                                 <hook>
-																	<hook>
-																		<stream_hook_path>
-																			<container>
-																				<size>0</size>
-																			</container>
-																		</stream_hook_path>
-																	</hook>
-																	<file>
-																		<path>
-																			<empty>1</empty>
-																		</path>
-																	</file>
+																	<stream_hook_path>
+																		<size>0</size>
+																	</stream_hook_path>
                                                                                                                                 </hook>
-																<title>
-																	<string>frequently asked questions</string>
-																</title>
-																<file_name>
-																	<string></string>
-																</file_name>
-															</object>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>":)
</string>
-												</container>
+																<file>
+																	<path>
+																		<empty>1</empty>
+																	</path>
+																</file>
+															</hook>
+															<title>
+																<string>frequently asked questions</string>
+															</title>
+															<file_name>
+																<string></string>
+															</file_name>
+														</object>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>":)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2338,11 +2138,9 @@
                                                                                                                 <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2351,11 +2149,9 @@
                                                                                                                 <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2369,17 +2165,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
-																			<weak>1090406464</weak>
-																			<size>362</size>
-																			<position>527</position>
-																			<strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
-																			<weak>3172941848</weak>
-																			<size>330</size>
-																			<position>26</position>
-																		</container>
+																		<size>2</size>
+																		<strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
+																		<weak>1090406464</weak>
+																		<size>362</size>
+																		<position>527</position>
+																		<strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
+																		<weak>3172941848</weak>
+																		<size>330</size>
+																		<position>26</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2400,11 +2194,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2418,13 +2210,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
-																			<weak>1376868984</weak>
-																			<size>262</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
+																		<weak>1376868984</weak>
+																		<size>262</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2445,11 +2235,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2463,17 +2251,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
-																			<weak>3915725772</weak>
-																			<size>5126</size>
-																			<position>751</position>
-																			<strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
-																			<weak>1097215175</weak>
-																			<size>161</size>
-																			<position>240</position>
-																		</container>
+																		<size>2</size>
+																		<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
+																		<weak>3915725772</weak>
+																		<size>5126</size>
+																		<position>751</position>
+																		<strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
+																		<weak>1097215175</weak>
+																		<size>161</size>
+																		<position>240</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2494,11 +2280,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2512,21 +2296,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-																			<weak>3780717552</weak>
-																			<size>10894</size>
-																			<position>527</position>
-																			<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
-																			<weak>4056200131</weak>
-																			<size>2307</size>
-																			<position>4159</position>
-																			<strong>A94129EFD6ABBDDCD4CFDB671821F7DA103B2EA4455CF39E783D333C236D1C41</strong>
-																			<weak>1035445969</weak>
-																			<size>595</size>
-																			<position>204</position>
-																		</container>
+																		<size>3</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
+																		<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
+																		<weak>4056200131</weak>
+																		<size>2307</size>
+																		<position>4159</position>
+																		<strong>A94129EFD6ABBDDCD4CFDB671821F7DA103B2EA4455CF39E783D333C236D1C41</strong>
+																		<weak>1035445969</weak>
+																		<size>595</size>
+																		<position>204</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2547,11 +2329,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2565,21 +2345,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-																			<weak>3780717552</weak>
-																			<size>10894</size>
-																			<position>527</position>
-																			<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
-																			<weak>4056200131</weak>
-																			<size>2307</size>
-																			<position>4159</position>
-																			<strong>28ACC7E8903AFA473B656DAD74C22C3F675AFCCA871D81AB3AB7742FDF5F1E48</strong>
-																			<weak>2824899226</weak>
-																			<size>2163</size>
-																			<position>145</position>
-																		</container>
+																		<size>3</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
+																		<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
+																		<weak>4056200131</weak>
+																		<size>2307</size>
+																		<position>4159</position>
+																		<strong>28ACC7E8903AFA473B656DAD74C22C3F675AFCCA871D81AB3AB7742FDF5F1E48</strong>
+																		<weak>2824899226</weak>
+																		<size>2163</size>
+																		<position>145</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2600,11 +2378,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
----
!!!See Also:

(:pagelist link="backlink" except_tags="exception member noalso" mod="w" fmt="h":)</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
----
!!!See Also:

(:pagelist link="backlink" except_tags="exception member noalso" mod="w" fmt="h":)</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2618,17 +2394,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-																			<weak>2051148095</weak>
-																			<size>1039</size>
-																			<position>548</position>
-																			<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-																			<weak>2825495330</weak>
-																			<size>622</size>
-																			<position>411</position>
-																		</container>
+																		<size>2</size>
+																		<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+																		<weak>2051148095</weak>
+																		<size>1039</size>
+																		<position>548</position>
+																		<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+																		<weak>2825495330</weak>
+																		<size>622</size>
+																		<position>411</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2649,11 +2423,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2667,13 +2439,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7</strong>
-																			<weak>293414988</weak>
-																			<size>113</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7</strong>
+																		<weak>293414988</weak>
+																		<size>113</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2694,11 +2464,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2712,13 +2480,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>167C4E3E81D972BC6C9BA70FA5B9289A26B0D36A711F3769674381E8D410A7F6</strong>
-																			<weak>3567454851</weak>
-																			<size>2594</size>
-																			<position>89</position>
-																		</container>
+																		<size>1</size>
+																		<strong>167C4E3E81D972BC6C9BA70FA5B9289A26B0D36A711F3769674381E8D410A7F6</strong>
+																		<weak>3567454851</weak>
+																		<size>2594</size>
+																		<position>89</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2739,11 +2505,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2757,13 +2521,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
-																			<weak>366628170</weak>
-																			<size>236</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
+																		<weak>366628170</weak>
+																		<size>236</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2784,11 +2546,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2802,13 +2562,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>9A6D5598D65F1C1B5F913007D1CD1A814F3CDAD07D4AF8C468A0716059B2F7CC</strong>
-																			<weak>3552995087</weak>
-																			<size>1405</size>
-																			<position>527</position>
-																		</container>
+																		<size>1</size>
+																		<strong>9A6D5598D65F1C1B5F913007D1CD1A814F3CDAD07D4AF8C468A0716059B2F7CC</strong>
+																		<weak>3552995087</weak>
+																		<size>1405</size>
+																		<position>527</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2829,11 +2587,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2847,13 +2603,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
-																			<weak>4175717823</weak>
-																			<size>328</size>
-																			<position>323</position>
-																		</container>
+																		<size>1</size>
+																		<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
+																		<weak>4175717823</weak>
+																		<size>328</size>
+																		<position>323</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2874,11 +2628,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2892,17 +2644,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
-																			<weak>1378637100</weak>
-																			<size>292</size>
-																			<position>368</position>
-																			<strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
-																			<weak>3349881047</weak>
-																			<size>89</size>
-																			<position>197</position>
-																		</container>
+																		<size>2</size>
+																		<strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
+																		<weak>1378637100</weak>
+																		<size>292</size>
+																		<position>368</position>
+																		<strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
+																		<weak>3349881047</weak>
+																		<size>89</size>
+																		<position>197</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2923,11 +2673,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2941,13 +2689,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22</strong>
-																			<weak>1416707852</weak>
-																			<size>3107</size>
-																			<position>527</position>
-																		</container>
+																		<size>1</size>
+																		<strong>4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22</strong>
+																		<weak>1416707852</weak>
+																		<size>3107</size>
+																		<position>527</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -2968,11 +2714,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -2986,9 +2730,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3006,11 +2748,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3024,21 +2764,19 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>3</size>
-																			<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-																			<weak>3174366877</weak>
-																			<size>14086</size>
-																			<position>990</position>
-																			<strong>2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270</strong>
-																			<weak>1574307697</weak>
-																			<size>8349</size>
-																			<position>4068</position>
-																			<strong>7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079</strong>
-																			<weak>1179386730</weak>
-																			<size>5404</size>
-																			<position>2935</position>
-																		</container>
+																		<size>3</size>
+																		<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+																		<weak>3174366877</weak>
+																		<size>14086</size>
+																		<position>990</position>
+																		<strong>2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270</strong>
+																		<weak>1574307697</weak>
+																		<size>8349</size>
+																		<position>4068</position>
+																		<strong>7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079</strong>
+																		<weak>1179386730</weak>
+																		<size>5404</size>
+																		<position>2935</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3059,11 +2797,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3077,17 +2813,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-																			<weak>2928183256</weak>
-																			<size>11200</size>
-																			<position>321</position>
-																			<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
-																			<weak>3292878997</weak>
-																			<size>282</size>
-																			<position>8910</position>
-																		</container>
+																		<size>2</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
+																		<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
+																		<weak>3292878997</weak>
+																		<size>282</size>
+																		<position>8718</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3108,11 +2842,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3126,13 +2858,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3</strong>
-																			<weak>4003832872</weak>
-																			<size>668</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3</strong>
+																		<weak>4003832872</weak>
+																		<size>668</size>
+																		<position>321</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3153,11 +2883,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3171,13 +2899,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
-																			<weak>2883671483</weak>
-																			<size>311</size>
-																			<position>306</position>
-																		</container>
+																		<size>1</size>
+																		<strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
+																		<weak>2883671483</weak>
+																		<size>311</size>
+																		<position>306</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3198,11 +2924,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3216,13 +2940,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>C6E364609371DC5693CCB1B8CA6C6274CD24019026B9932FF566CFC53B441BB4</strong>
-																			<weak>4056606622</weak>
-																			<size>5656</size>
-																			<position>321</position>
-																		</container>
+																		<size>1</size>
+																		<strong>C6E364609371DC5693CCB1B8CA6C6274CD24019026B9932FF566CFC53B441BB4</strong>
+																		<weak>4056606622</weak>
+																		<size>5656</size>
+																		<position>321</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3243,11 +2965,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)

(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)

(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3261,17 +2981,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
-																			<weak>4231421785</weak>
-																			<size>307</size>
-																			<position>344</position>
-																			<strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
-																			<weak>1126376090</weak>
-																			<size>92</size>
-																			<position>209</position>
-																		</container>
+																		<size>2</size>
+																		<strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
+																		<weak>4231421785</weak>
+																		<size>307</size>
+																		<position>344</position>
+																		<strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
+																		<weak>1126376090</weak>
+																		<size>92</size>
+																		<position>209</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3292,11 +3010,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3310,17 +3026,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-																			<weak>2928183256</weak>
-																			<size>11200</size>
-																			<position>321</position>
-																			<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-																			<weak>1137981799</weak>
-																			<size>192</size>
-																			<position>10902</position>
-																		</container>
+																		<size>2</size>
+																		<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+																		<weak>2419405084</weak>
+																		<size>10908</size>
+																		<position>527</position>
+																		<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+																		<weak>1137981799</weak>
+																		<size>192</size>
+																		<position>10710</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3341,11 +3055,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3359,13 +3071,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
-																			<weak>1875939463</weak>
-																			<size>529</size>
-																			<position>382</position>
-																		</container>
+																		<size>1</size>
+																		<strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
+																		<weak>1875939463</weak>
+																		<size>529</size>
+																		<position>382</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3386,9 +3096,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3402,9 +3110,7 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>0</size>
-																		</container>
+																		<size>0</size>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3422,11 +3128,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3440,13 +3144,11 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>1</size>
-																			<strong>DB156E6A8ACB9FB90C8FB110FC25A5FEB14A619F82EEC47FF913373592E5CC3E</strong>
-																			<weak>240075319</weak>
-																			<size>6209</size>
-																			<position>412</position>
-																		</container>
+																		<size>1</size>
+																		<strong>DB156E6A8ACB9FB90C8FB110FC25A5FEB14A619F82EEC47FF913373592E5CC3E</strong>
+																		<weak>240075319</weak>
+																		<size>6209</size>
+																		<position>412</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3467,9 +3169,7 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3483,17 +3183,15 @@
                                                                                                                         <hook>
                                                                                                                                 <hook>
                                                                                                                                         <stream_hook_path>
-																		<container>
-																			<size>2</size>
-																			<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
-																			<weak>1523356166</weak>
-																			<size>537</size>
-																			<position>607</position>
-																			<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
-																			<weak>665917505</weak>
-																			<size>66</size>
-																			<position>26</position>
-																		</container>
+																		<size>2</size>
+																		<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
+																		<weak>1523356166</weak>
+																		<size>537</size>
+																		<position>607</position>
+																		<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
+																		<weak>665917505</weak>
+																		<size>66</size>
+																		<position>26</position>
                                                                                                                                         </stream_hook_path>
                                                                                                                                 </hook>
                                                                                                                                 <file>
@@ -3514,11 +3212,9 @@
                                                                                                                 </object>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:include include:)
(:auto also:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:include include:)
(:auto also:)
</string>
                                                                                         </pair>
                                                                                 </sorted>
                                                                         </object>
@@ -3541,9 +3237,7 @@
                                                                                                                 <id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3552,9 +3246,7 @@
                                                                                                                 <id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3563,9 +3255,7 @@
                                                                                                                 <id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3574,9 +3264,7 @@
                                                                                                                 <id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3585,9 +3273,7 @@
                                                                                                                 <id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3596,9 +3282,7 @@
                                                                                                                 <id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3607,9 +3291,7 @@
                                                                                                                 <id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3618,9 +3300,7 @@
                                                                                                                 <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3629,9 +3309,7 @@
                                                                                                                 <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3640,9 +3318,7 @@
                                                                                                                 <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3651,9 +3327,7 @@
                                                                                                                 <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3662,9 +3336,7 @@
                                                                                                                 <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3673,9 +3345,7 @@
                                                                                                                 <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3684,38 +3354,36 @@
                                                                                                                 <id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct errinfo_nested_exception_,(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</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>:);@]
</string>
-												</container>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct errinfo_nested_exception_,(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</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>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3724,9 +3392,7 @@
                                                                                                                 <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3735,29 +3401,27 @@
                                                                                                                 <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct errinfo_file_handle_,weak_ptr<FILE> > (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct errinfo_file_handle_,weak_ptr<FILE> > (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3766,9 +3430,7 @@
                                                                                                                 <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3777,9 +3439,7 @@
                                                                                                                 <id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3788,9 +3448,7 @@
                                                                                                                 <id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3799,9 +3457,7 @@
                                                                                                                 <id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3810,9 +3466,7 @@
                                                                                                                 <id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3821,9 +3475,7 @@
                                                                                                                 <id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3832,29 +3484,27 @@
                                                                                                                 <id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct errinfo_file_name_,std::string> (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct errinfo_file_name_,std::string> (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3863,9 +3513,7 @@
                                                                                                                 <id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3874,9 +3522,7 @@
                                                                                                                 <id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3885,9 +3531,7 @@
                                                                                                                 <id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3896,9 +3540,7 @@
                                                                                                                 <id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3907,9 +3549,7 @@
                                                                                                                 <id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3918,9 +3558,7 @@
                                                                                                                 <id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3929,9 +3567,7 @@
                                                                                                                 <id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3940,9 +3576,7 @@
                                                                                                                 <id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3951,9 +3585,7 @@
                                                                                                                 <id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3962,9 +3594,7 @@
                                                                                                                 <id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -3973,29 +3603,27 @@
                                                                                                                 <id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct errinfo_at_line_,int> (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-38</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct errinfo_at_line_,int> (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-38</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4004,9 +3632,7 @@
                                                                                                                 <id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4015,9 +3641,7 @@
                                                                                                                 <id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4026,29 +3650,27 @@
                                                                                                                 <id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string><struct errinfo_file_open_mode_,std::string> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>;@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string><struct errinfo_file_open_mode_,std::string> </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>;@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4057,9 +3679,7 @@
                                                                                                                 <id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4068,9 +3688,7 @@
                                                                                                                 <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4079,9 +3697,7 @@
                                                                                                                 <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4090,9 +3706,7 @@
                                                                                                                 <id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4101,9 +3715,7 @@
                                                                                                                 <id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4112,9 +3724,7 @@
                                                                                                                 <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4123,9 +3733,7 @@
                                                                                                                 <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4134,9 +3742,7 @@
                                                                                                                 <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4145,9 +3751,7 @@
                                                                                                                 <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4156,9 +3760,7 @@
                                                                                                                 <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4167,9 +3769,7 @@
                                                                                                                 <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4178,9 +3778,7 @@
                                                                                                                 <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4189,9 +3787,7 @@
                                                                                                                 <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4200,9 +3796,7 @@
                                                                                                                 <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4211,9 +3805,7 @@
                                                                                                                 <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4222,9 +3814,7 @@
                                                                                                                 <id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4233,9 +3823,7 @@
                                                                                                                 <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4244,9 +3832,7 @@
                                                                                                                 <id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4255,109 +3841,101 @@
                                                                                                                 <id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    protected:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-59</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-22</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
    };@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@class
(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>[@template <class Tag,class T>
class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
    {
    public:

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-58</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl pre_indent="4":)
    };@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)
    {
    protected:

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-63</id>
+														<id>-22</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
    };@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>9</size>
+												<variant>2</variant>
+												<string>[@template <class Tag,class T>
class
(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
    {
    public:

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

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-58</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
    };@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-62</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4366,9 +3944,7 @@
                                                                                                                 <id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4377,9 +3953,7 @@
                                                                                                                 <id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4388,9 +3962,7 @@
                                                                                                                 <id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4399,29 +3971,27 @@
                                                                                                                 <id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct errinfo_api_function_,char const *> (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct errinfo_api_function_,char const *> (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4430,9 +4000,7 @@
                                                                                                                 <id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4441,9 +4009,7 @@
                                                                                                                 <id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4452,9 +4018,7 @@
                                                                                                                 <id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4463,9 +4027,7 @@
                                                                                                                 <id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4474,9 +4036,7 @@
                                                                                                                 <id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4485,9 +4045,7 @@
                                                                                                                 <id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4496,9 +4054,7 @@
                                                                                                                 <id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4507,29 +4063,27 @@
                                                                                                                 <id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string><struct errinfo_type_info_name_,std::string> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-75</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>;@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string><struct errinfo_type_info_name_,std::string> </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-75</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>;@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4538,9 +4092,7 @@
                                                                                                                 <id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4549,9 +4101,7 @@
                                                                                                                 <id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4560,9 +4110,7 @@
                                                                                                                 <id>-78</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4571,9 +4119,7 @@
                                                                                                                 <id>-79</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4582,29 +4128,27 @@
                                                                                                                 <id>-80</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string><struct errinfo_errno_,int> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>;@]
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string><struct errinfo_errno_,int> </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>;@]
</string>
                                                                                         </pair>
                                                                                 </sorted>
                                                                         </object>
@@ -4627,9 +4171,7 @@
                                                                                                                 <id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4638,9 +4180,7 @@
                                                                                                                 <id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4649,9 +4189,7 @@
                                                                                                                 <id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4660,9 +4198,7 @@
                                                                                                                 <id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4671,9 +4207,7 @@
                                                                                                                 <id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4682,9 +4216,7 @@
                                                                                                                 <id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4693,38 +4225,36 @@
                                                                                                                 <id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-26</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl:)

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

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4733,9 +4263,7 @@
                                                                                                                 <id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4744,20 +4272,18 @@
                                                                                                                 <id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4766,9 +4292,7 @@
                                                                                                                 <id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4777,9 +4301,7 @@
                                                                                                                 <id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4788,9 +4310,7 @@
                                                                                                                 <id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4799,9 +4319,7 @@
                                                                                                                 <id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4810,9 +4328,7 @@
                                                                                                                 <id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4821,20 +4337,18 @@
                                                                                                                 <id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-38</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-38</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4843,9 +4357,7 @@
                                                                                                                 <id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4854,9 +4366,7 @@
                                                                                                                 <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4865,9 +4375,7 @@
                                                                                                                 <id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4876,9 +4384,7 @@
                                                                                                                 <id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4887,20 +4393,18 @@
                                                                                                                 <id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4909,9 +4413,7 @@
                                                                                                                 <id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4920,9 +4422,7 @@
                                                                                                                 <id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4931,9 +4431,7 @@
                                                                                                                 <id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4942,9 +4440,7 @@
                                                                                                                 <id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -4953,4739 +4449,1566 @@
                                                                                                                 <id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)

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

typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct throw_function_,char const *> throw_function;
typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct throw_file_,char const *> throw_file;
typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct throw_line_,int> throw_line;@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>11</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> def:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

typedef (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>33</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-68</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-65</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-51</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-19</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-64</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-48</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-66</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#ifndef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-8</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|BOOST_NO_EXCEPTIONS:)
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-57</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#endif@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)<struct throw_function_,char const *> throw_function;
typedef (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)<struct throw_file_,char const *> throw_file;
typedef (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)<struct throw_line_,int> throw_line;@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>33</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>13</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

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

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

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

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-45</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-50</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#ifndef (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>|BOOST_NO_EXCEPTIONS:)
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>
#endif@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-80</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-18</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-63</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)

namespace
boost
    {
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)
    }@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-64</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-65</id>
+														<id>-42</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-14</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-66</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-75</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-67</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>13</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-68</id>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-69</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-70</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-71</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-72</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-56</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-73</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-74</id>
+														<id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> def:)

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> decl:)@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-75</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-76</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-77</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-78</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-79</id>
+														<id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-80</id>
+														<id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>decl</string>
-								<shared_ptr>
-									<id>83</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>76</size>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@template <class E>
std::string (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( E const & e );

std::string (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & p );@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@void (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & ep );</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-14</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":)( E const & x,
    (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<
        (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag1,T1>,
        ...,
        (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<TagN,TN> > const & v );@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@char const * </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-17</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>( boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> const & e ) throw();@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
                                                                                                                 <id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>[@#if !defined( BOOST_EXCEPTION_DISABLE )
    #include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
    #include <boost/current_function.hpp>
    #define (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(x)\
        ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(x) <<\
        ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|throw_function:)(BOOST_CURRENT_FUNCTION) <<\
        ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|throw_file:)(__FILE__) <<\
        ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|throw_line:)((int)__LINE__) )
#else
    #define (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(x) ::boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(x)
#endif@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> decl:)

namespace
boost
    {
(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-22</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)();@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> decl:)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@#ifdef BOOST_NO_EXCEPTIONS
    void (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( std::exception const & e ); // user defined
#else
    template <class E>
    void (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( E const & e );
#endif@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@std::string (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-26</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> def:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@typedef T (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":);@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@template <class T>
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & e );@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@template <class E, class Tag, class T>
E const & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":)( E const & x, (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag,T> const & v );@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-39</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>[@template <class ErrorInfo,class E>
typename ErrorInfo::(:link error_info::value_type mod="m":) const * (:link get_error_info:)( E const & x );

template <class ErrorInfo,class E>
typename ErrorInfo::(:link error_info::value_type mod="m":) * (:link get_error_info:)( E & x );@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> def:)

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@typedef ---unspecified--- (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) const & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)() const;
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) & (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)();@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-78</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-45</id>
+														<id>-79</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@typedef (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_original_exception_type,std::type_info const *> </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-45</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>;@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-80</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>decl</string>
+								<shared_ptr>
+									<id>83</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>76</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@template <class E>
std::string (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@class
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:):
    public std::exception
    public boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>
    {
    ---unspecified---
    };@]
</string>
-												</container>
-											</pair>
-											<pair>
-												<weak_ptr>
-													<expired>0</expired>
-													<shared_ptr>
-														<id>-50</id>
-													</shared_ptr>
-												</weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)( E const & e );

std::string (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-51</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)( (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:) const & p );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@void (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class E>
E * </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-56</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>();@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)( (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-57</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:) const & ep );</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-58</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-58</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) const & v );@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>[@(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-59</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)();
(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-59</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)( (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const & x );@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@class (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class Tag,class T>
class (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-63</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> mod="/":)( E const & x,
    (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<
        (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-64</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)<Tag1,T1>,
        ...,
        (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-65</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)<TagN,TN> > const & v );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-66</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-67</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-68</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@char const * </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-69</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>( boost::</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-70</id>
+														<id>-60</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>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> const & e ) throw();@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-71</id>
+														<id>-18</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & x );@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-72</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-73</id>
+														<id>-20</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-74</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>19</size>
+												<variant>2</variant>
+												<string>[@#if !defined( BOOST_EXCEPTION_DISABLE )
    #include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-75</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>
    #include <boost/current_function.hpp>
    #define (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-76</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@template <class T>
---unspecified--- (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)( T const & e );@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)(x)\
        ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-77</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)( ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-78</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)(x) <<\
        ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-79</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>|throw_function:)(BOOST_CURRENT_FUNCTION) <<\
        ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-80</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>include</string>
-								<shared_ptr>
-									<id>84</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>76</size>
-											<pair>
+												<variant>2</variant>
+												<string>|throw_file:)(__FILE__) <<\
        ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>69</size>
-													<variant>2</variant>
-													<string>!!Introduction

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

It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.

The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. 

Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-46</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function.

!!Contents

#(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-53</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
#Tutorial
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-28</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-52</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-46</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-54</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-10</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-73</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#Documentation
##Class (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##Throwing Exceptions
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-14</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##Diagnostic Information
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
###(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-26</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-56</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
#API
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-7</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>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-16</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-31</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-69</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
##(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-8</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-55</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)
#(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-78</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":)

!!!Acknowledgements

Thanks to Peter Dimov for his continuing help. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>|throw_line:)((int)__LINE__) )
#else
    #define (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-21</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>37</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Returns:

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

*If E can be statically converted to boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), the returned value contains the string representations of all (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) objects stored in the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) through (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.
*Otherwise, if E can be statically converted to std::exception:
**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) template is not available.

The string representation of each (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object is deduced by a function call that is bound at the time the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag,T> template is instantiated. The following overload resolutions are attempted in order:

#Unqualified call to to_string(x), where x is of type (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag,T> (the return value is expected to be of type std::string.)
#Unqualified call to to_string(x.(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)()) (the return value is expected to be of type std::string.)
#Unqualified call to s << x.(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-43</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":)(), where s is a std::ostringstream.

The first successfully bound function is used at the time (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object to string, and ''an unspecified stub string value is used without issuing a compile error.''

The (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) overload of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is equivalent to:

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

!!!!Notes:

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


(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-79</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)(x) ::boost::(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>77</size>
-													<variant>2</variant>
-													<string>!!Synopsis

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-32</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)(x)
#endif@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

Boost Exception responds to the following configuration macros:

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

The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:

->By default, the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) can be used only with objects of type boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!!Note:

The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.

'''BOOST_EXCEPTION_DISABLE'''

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

Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-63</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

'''BOOST_NO_EXCEPTIONS'''

This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Precondition:

ep shall not be null.

!!!!Throws:



The exception to which ep refers.
</string>
-												</container>
+												<variant>2</variant>
+												<string> mod="m":)();@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

Exception types should use virtual inheritance when deriving from other exception types. This insight is due to Andrew Koenig. Using virtual inheritance prevents ambiguity problems in the exception handler:

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

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

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

The overhead introduced by virtual inheritance is always negligible in the context of exception handling. Note that virtual bases are initialized directly by the constructor of the most-derived-type (the type pass
ed to the throw statement, in case of exceptions.) However, typically this detail is of no concern when boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is used, because it enables exception types to be trivial structs with no members (there's nothing to initialize.) See (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-54</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="w":).
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

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

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

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

struct file_read_error: virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };

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

Of course, (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</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>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@#ifdef BOOST_NO_EXCEPTIONS
    void (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)( std::exception const & e ); // user defined
#else
    template <class E>
    void (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-25</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), or a type that derives (indirectly) from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!!Effects:

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

!!!!Returns:

x.

(:include throws:)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)( E const & e );
#endif@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>37</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-51</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-19</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-64</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-48</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-63</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <stdio.h>
#include <errno.h>
#include <exception>

struct error : virtual std::exception, virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };
struct file_error : virtual error { };
struct file_open_error: virtual file_error { };
struct file_read_error: virtual file_error { };

boost::shared_ptr<FILE>
open_file( char const * file, char const * mode )
    {
    if( FILE * f=fopen(file,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(
            file_open_error() <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)("fopen") <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(errno) <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(file) <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(mode) );
    }

size_t
read_file( boost::shared_ptr<FILE> const & f, void * buf, size_t size )
    {
    size_t nr=fread(buf,1,size,f.get());
    if( ferror(f.get()) )
        (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(
            file_read_error() <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)("fread") <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(errno) <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-20</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(f) );
    return nr;
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@std::string (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

(:pagelist fmt="index" tags="type":)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)();@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-27</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

The </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-17</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> function is intended to be called from a user-defined std::exception::what() override. This allows diagnostic information to be returned as the what() string.

!!!!Returns:

A pointer to a zero-terminated buffer that contains a string similar to the std::string returned by the </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> function, or null to indicate a failure.

!!!!Throws:

Nothing.

!!!!Note:

The returned pointer becomes invalid if any </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> is modified or added to the exception object, or if another diagnostic information function is called.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting (in exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)) an </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> to an exception nested into another exception.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr<FILE> in exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-15</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@typedef T (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>. To recover this information at the catch site, use </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>; the information is also included in the message returned by </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>.
</string>
-												</container>
+												<variant>2</variant>
+												<string> mod="m":);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:



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

!!!!Throws:



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

(:pagelist tags="hpp" except_tags="noindex":)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@template <class T>
(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>17</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must derive publicly from std::exception.

!!!!Effects:

* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(e) is equivalent to throw boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(e) is equivalent to throw e;
* If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) are allowed to assume that the function never returns; therefore, if the user-defined (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) returns, the behavior is undefined.

!!!!Note:

Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>, or format an automatic diagnostic message using boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>.</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:) (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

If the current exception object can be converted to boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) or std::exception, this function returns the same string value returned by (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.

Typical use is to call </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-26</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> from a top-level function to output diagnostic information about unhandled exceptions:

[@int
main()
    {
    try
        {
        run_program();
        }
    catch(
    error & e )
        {
        //handle error
        }
    catch(
    ...)
        {
        std::cerr << "Unhandled exception!" << std::endl <<
            boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-26</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>();
        }
    }@]
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)( T const & e );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting a relevant file name in exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

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

All exception types that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types.

When exceptions derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), arbitrary data can be added to exception objects:

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

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

!!!Synopsis

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

(:include synopsis:)

!!!!Definition:

The expression </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string><Tag,T>::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-30</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="m":) evaluates to T.</string>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@template <class E, class Tag, class T>
E const & (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

(:pagelist fmt="index" tags="function":)
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> mod="/":)( E const & x, (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)<Tag,T> const & v );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

As if

[@try
    {
    throw </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>(e);
    }
catch(...)
    {
    return (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();
    }@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>[@template <class ErrorInfo,class E>
typename ErrorInfo::(:link error_info::value_type mod="m":) const * (:link get_error_info:)( E const & x );

template <class ErrorInfo,class E>
typename ErrorInfo::(:link error_info::value_type mod="m":) * (:link get_error_info:)( E & x );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:

[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-65</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-51</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>

typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:),boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)> clib_failure;

struct file_open_error: virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };

boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
    {
    if( FILE * f=fopen(name,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        throw file_open_error() <<
            boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(name) <<
            clib_failure("fopen",errno);
    }@]

Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@typedef ---unspecified--- (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:);@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-41</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), or a type that derives (indirectly) from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!!Postcondition:

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

!!!!Returns:

x.

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

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

(:include synopsis:)

!!!!Requirements:

* ErrorInfo must be an instance of the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) template.
* E must be polymorphic.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.
* Otherwise, the returned pointer points to the stored value (use (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":) to store values in exception objects.) When x is destroyed, any pointers returned by (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) become invalid.

!!!!Throws:

Nothing.

!!!!Note:

The interface of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) may be affected by the build (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-8</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>9</size>
+												<variant>2</variant>
+												<string>[@(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>23</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

The (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</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>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)'s operations do not throw.

The referenced object remains valid at least as long as there is an (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object that refers to it.

Two instances of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) produces the null value of the type. The null value is equivalent only to itself.

!!!!Thread safety:

The </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> type is "as thread-safe as built-in types":

* An </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> instance can be "read" simultaneously by multiple threads
* Different </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> instances can be "written to" simultaneously by multiple threads, even when these instances refer to the same exception object

All other simultaneous accesses result in undefined behavior.

!!!!Nesting of exceptions:

An (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) can be added as (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to any boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). This is a convenient way to nest exceptions. There is no limit on the depth of the nesting, however cyclic references result in undefined behavior.
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> mod="m":) const & (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-15</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> mod="m":)() const;
(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>19</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let's say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:

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

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

Using boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</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:

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

struct file_read_error: virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };

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

If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:

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

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

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

The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</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>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object is that the file name is relevant to any failure that occurs in parse_file, ''even if the failure is unrelated to file I/O''.
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string> mod="m":) & (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
                                                                                                                 <id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Description:

Returns a (const) reference to the copy of the value passed to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)'s constructor stored in the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object.

!!!!Throws:

Nothing.
</string>
-												</container>
+												<variant>2</variant>
+												<string> mod="m":)();@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -9694,11 +6017,7 @@
                                                                                                                 <id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -9707,105 +6026,36 @@
                                                                                                                 <id>-45</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>9</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> typedef is used by </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> if it defaults to returning an </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> that refers to an object of type </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>, to record in it the std::type_info of the original exception object.</string>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@typedef (:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>11</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) at the time of the throw is required in order to use cloning.

!!!!Note:

All exceptions emitted by the familiar function boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) are guaranteed to derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) and to support cloning.

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-12</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-47</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)<struct tag_original_exception_type,std::type_info const *> </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-45</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>;@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-46</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -9814,173 +6064,7 @@
                                                                                                                 <id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>37</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

When you catch an exception, you can call (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to get an (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object:

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

void do_work(); //throws cloning-enabled boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)s

void
worker_thread( boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)();
        }
    }@]

In the above example, note that (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</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>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function:

[@// ...continued

void
work()
    {
    boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) error;
    boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );
    t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();
    if( error )
        boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(error);
    }@]

Note that (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) could fail to copy the original exception object in the following cases:

* if there is not enough memory, in which case the returned (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) points to an instance of std::bad_alloc, or
* if (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</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>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) points to an instance of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

Regardless, the use of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) and (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-9</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) in the above examples is well-formed.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -9989,11 +6073,7 @@
                                                                                                                 <id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10002,29 +6082,27 @@
                                                                                                                 <id>-49</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is used by the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) support in Boost Exception. Please see (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@class
(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:):
    public std::exception
    public boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>
    {
    ---unspecified---
    };@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10033,11 +6111,7 @@
                                                                                                                 <id>-50</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10046,11 +6120,7 @@
                                                                                                                 <id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10059,128 +6129,7 @@
                                                                                                                 <id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>27</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

Some exception hierarchies can not be modified to make boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) a base type. In this case, the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<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>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) anyway. Here is an example:

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

typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_std_range_index,size_t> std_range_index;

template <class T>
class
my_container
    {
    public:

    size_t size() const;

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

The call to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) and T. This makes it possible to use (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) &, so that (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-28</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|more information can be added to the exception at a later time:).
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10189,155 +6138,7 @@
                                                                                                                 <id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>33</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

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

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

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

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

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

Here is an example of a catch statement:

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

And here is a possible matching throw:

[@void
read_file( FILE * f )
    {
    ....
    size_t nr=fread(buf,1,count,f);
    if( ferror(f) )
        throw file_read_error(???);
    ....&#
10;    }@]

Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!

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

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

This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.

->''In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.''

!!!Exception wrapping

The idea of exception wrapping is to catch an exce
ption from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.

Exception wrapping leads to the following problems:

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

The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.

!!!The boost::exception solution

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

For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:

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

typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_errno_code,int> errno_code;

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

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

[@typedef boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<struct tag_file_name,std::string> file_name;

....
try
    {
    if( FILE * fp=fopen("foo.txt","rt") )
        {
        shared_ptr<FILE> f(fp,fclose);
        ....
        read_file(fp); //throws types deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
        do_something();
        ....
        }
    else
        throw file_open_error() (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) errno_code(errno);
    }
catch( boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) file_name("foo.txt");
    throw;
    }@]

Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:):

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

    if( std::string const * fn=(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<file_name>(e) )
        std::cerr << "File name: " << *fn << "\n";

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

In addition, boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) objects added to a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). This is useful for inclusion in logs and other diagnostic objects.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10346,38 +6147,7 @@
                                                                                                                 <id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

Deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.

In other words: with boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]

Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10386,362 +6156,7 @@
                                                                                                                 <id>-55</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>79</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

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

Despite that (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-10</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|virtual inheritance should be used in deriving from base exception types:), many programmers fail to follow this principle when deriving from std::exception. If boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) derives from std::exception, using the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-71</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.

Of course, boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)

!!!Why is boost::exception abstract?

To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to an active exception object:

[@catch( boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) foo_info(foo);
    throw e; //Compile error: boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is abstract
    }@]

The correct code is:

[@catch( boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & e )
    {
    e (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) foo_info(foo);
    throw; //Okay, re-throwing the original exception object.
    }@]

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

The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) does not by itself cause dynamic memory allocations.

Deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.

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

The benefit of calling boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) and that it is compatible with boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

The (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) macro also results in a call to boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to compose a more useful, if not user-friendly message.

Typical use of boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is:

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

This is a possible message it may display, the first line is only possible if (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-21</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is used:

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = fopen
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = rb@]
!!!Why is boost::exception integrated in boost::throw_exception?

The boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) as a base of any exception passed to boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.

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

For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), but this requires that Boost Serialization throws exceptions using boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). If Boost Serialization calls boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to throw, this behavior happens automatically and transparently.

The cost of this integration is:

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

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

Before throwing an object of type that derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), it is often desirable to add one or more (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) objects in it. The syntactic sugar provided by (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) allows this to be done directly in a throw expression:

[@throw error() (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) foo_info(foo) (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) bar_info(bar);@]

which saves typing compared to this possible alternative:

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

and looks better than something like:

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

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

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

[@throw file_open_error() (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|<<:) file_name(fn);@]

The intention here is to throw a file_open_error, however if (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":) fails to copy the std::string contained in the file_name (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.

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

->''"Throwing an exception requires an object to throw.  A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion.  However, it is possible that throwing some other exception will cause memory exhaustion."''

So, an attempt to throw any exception may already result in propagating std::bad_alloc instead.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10750,11 +6165,18 @@
                                                                                                                 <id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

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

!!!!Throws:

Nothing.
</string>
-												</container>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@template <class E>
E * </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-56</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>();@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10763,11 +6185,7 @@
                                                                                                                 <id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

(:include synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10776,20 +6194,27 @@
                                                                                                                 <id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Effects:

Stores a copy of v in the </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> object.

(:include throws:)
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-58</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":)( (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-30</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":) const & v );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10798,38 +6223,36 @@
                                                                                                                 <id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object which shares ownership with x of all data added through (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":), including data that is added at a future time.

!!!!Throws:

Nothing.
</string>
-												</container>
+												<size>7</size>
+												<variant>2</variant>
+												<string>[@(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-59</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":)();
(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-59</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":)( (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) const & x );@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -10838,3291 +6261,6660 @@
                                                                                                                 <id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>13</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

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

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

To retrieve data from a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) object, use the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function template.
</string>
-												</container>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@class (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@template <class Tag,class T>
class (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-62</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-63</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-64</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-65</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-66</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-68</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-69</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)();@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@template <class T>
---unspecified--- (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)( T const & x );@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-72</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-73</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-74</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-75</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@template <class T>
---unspecified--- (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)( T const & e );@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-77</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-78</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-79</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>include</string>
+								<shared_ptr>
+									<id>84</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>76</size>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-5</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>69</size>
+												<variant>2</variant>
+												<string>!!Introduction

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

It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.

The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. 

Boost Exception also supports (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:)-style (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-46</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|copying:) of exception objects, implemented non-intrusively and automatically by the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function.

!!Contents

#(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-53</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
#Tutorial
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-28</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-52</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-46</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-54</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-73</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
#Documentation
##Class (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##Throwing Exceptions
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##Transporting of Arbitrary Data to the Catch Site
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-14</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-33</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##Diagnostic Information
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
###(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-56</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
#API
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-7</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>:)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-16</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-31</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-69</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
##(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
#(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-55</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)
#(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-78</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":)

!!!Acknowledgements

Thanks to Peter Dimov for his continuing help. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>37</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Returns:

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

*If E can be statically converted to boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), the returned value contains the string representations of all (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) objects stored in the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) through (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.
*Otherwise, if E can be statically converted to std::exception:
**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) template is not available.

The string representation of each (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object is deduced by a function call that is bound at the time the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<Tag,T> template is instantiated. The following overload resolutions are attempted in order:

#Unqualified call to to_string(x), where x is of type (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<Tag,T> (the return value is expected to be of type std::string.)
#Unqualified call to to_string(x.(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":)()) (the return value is expected to be of type std::string.)
#Unqualified call to s << x.(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":)(), where s is a std::ostringstream.

The first successfully bound function is used at the time (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object to string, and ''an unspecified stub string value is used without issuing a compile error.''

The (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) overload of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is equivalent to:

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

!!!!Notes:

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Boost Exception responds to the following configuration macros:

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

The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:

->By default, the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function template can be called with any exception type. If BOOST_NO_RTTI is defined, (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) can be used only with objects of type boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!!Note:

The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.

'''BOOST_EXCEPTION_DISABLE'''

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

Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-63</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

'''BOOST_NO_EXCEPTIONS'''

This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Precondition:

ep shall not be null.

!!!!Throws:



The exception to which ep refers.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>5</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

Exception types should use virtual inheritance when deriving from other exception types. This insight is due to Andrew Koenig. Using virtual inheritance prevents ambiguity problems in the exception handler:

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

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

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

The overhead introduced by virtual inheritance is always negligible in the context of exception handling. Note that virtual bases are initialized directly by the constructor of the most-derived-type (the type passe
d to the throw statement, in case of exceptions.) However, typically this detail is of no concern when boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is used, because it enables exception types to be trivial structs with no members (there's nothing to initialize.) See (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-54</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="w":).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-11</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

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

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

struct file_read_error: virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) { };

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

Of course, (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</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>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), or a type that derives (indirectly) from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!!Effects:

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

!!!!Returns:

x.

(:include throws:)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>37</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-51</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-64</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-48</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-74</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-63</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <stdio.h>
#include <errno.h>
#include <exception>

struct error : virtual std::exception, virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) { };
struct file_error : virtual error { };
struct file_open_error: virtual file_error { };
struct file_read_error: virtual file_error { };

boost::shared_ptr<FILE>
open_file( char const * file, char const * mode )
    {
    if( FILE * f=fopen(file,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(
            file_open_error() <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)("fopen") <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(errno) <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(file) <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(mode) );
    }

size_t
read_file( boost::shared_ptr<FILE> const & f, void * buf, size_t size )
    {
    size_t nr=fread(buf,1,size,f.get());
    if( ferror(f.get()) )
        (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(
            file_read_error() <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)("fread") <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(errno) <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(f) );
    return nr;
    }@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-16</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

(:pagelist fmt="index" tags="type":)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

The </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> function is intended to be called from a user-defined std::exception::what() override. This allows diagnostic information to be returned as the what() string.

!!!!Returns:

A pointer to a zero-terminated buffer that contains a string similar to the std::string returned by the </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> function, or null to indicate a failure.

!!!!Throws:

Nothing.

!!!!Note:

The returned pointer becomes invalid if any </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> is modified or added to the exception object, or if another diagnostic information function is called.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-18</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting (in exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)) an </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> to an exception nested into another exception.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr<FILE> in exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>. To recover this information at the catch site, use </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>; the information is also included in the message returned by </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-22</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>3</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include decl:)

!!!!Effects:



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

!!!!Throws:



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

(:pagelist tags="hpp" except_tags="noindex":)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

!!!Synopsis

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

(:include synopsis:)

!!!!Requirements:

E must derive publicly from std::exception.

!!!!Effects:

* If BOOST_NO_EXCEPTIONS is not defined, boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(e) is equivalent to throw boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(e) is equivalent to throw e;
* If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) are allowed to assume that the function never returns; therefore, if the user-defined (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) returns, the behavior is undefined.

!!!!Note:

Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>, or format an automatic diagnostic message using boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>.</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>9</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

If the current exception object can be converted to boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) or std::exception, this function returns the same string value returned by (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) for the current exception object. Otherwise, an unspecified non-empty string is returned.

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

[@int
main()
    {
    try
        {
        run_program();
        }
    catch(
    error & e )
        {
        //handle error
        }
    catch(
    ...)
        {
        std::cerr << "Unhandled exception!" << std::endl <<
            boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>();
        }
    }@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting a relevant file name in exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

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

All exception types that derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types.

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

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

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-77</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-42</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-35</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-29</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

!!!!Definition:

The expression </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string><Tag,T>::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-30</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="m":) evaluates to T.</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-31</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

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

!!!Synopsis

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

(:include synopsis:)

!!!!Effects:

As if

[@try
    {
    throw </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>(e);
    }
catch(...)
    {
    return (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)();
    }@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:

[@#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-65</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-51</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>

typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:),boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)> clib_failure;

struct file_open_error: virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) { };

boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
    {
    if( FILE * f=fopen(name,mode) )
        return boost::shared_ptr<FILE>(f,fclose);
    else
        throw file_open_error() <<
            boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(name) <<
            clib_failure("fopen",errno);
    }@]

Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-36</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

!!!!Requirements:

E must be boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), or a type that derives (indirectly) from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!!Postcondition:

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

!!!!Returns:

x.

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

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

(:include synopsis:)

!!!!Requirements:

* ErrorInfo must be an instance of the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) template.
* E must be polymorphic.

!!!!Returns:

* If dynamic_cast<boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.
* Otherwise, the returned pointer points to the stored value (use (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":) to store values in exception objects.) When x is destroyed, any pointers returned by (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) become invalid.

!!!!Throws:

Nothing.

!!!!Note:

The interface of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) may be affected by the build (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>23</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

The (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</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>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)'s operations do not throw.

The referenced object remains valid at least as long as there is an (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object that refers to it.

Two instances of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) produces the null value of the type. The null value is equivalent only to itself.

!!!!Thread safety:

The </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> type is "as thread-safe as built-in types":

* An </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> instance can be "read" simultaneously by multiple threads
* Different </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> instances can be "written to" simultaneously by multiple threads, even when these instances refer to the same exception object

All other simultaneous accesses result in undefined behavior.

!!!!Nesting of exceptions:

An (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) can be added as (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to any boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). This is a convenient way to nest exceptions. There is no limit on the depth of the nesting, however cyclic references result in undefined behavior.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-42</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>19</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let's say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:

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

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

Using boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</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:

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

struct file_read_error: virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) { };

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

If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:

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

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

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

The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</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>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object is that the file name is relevant to any failure that occurs in parse_file, ''even if the failure is unrelated to file I/O''.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-43</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>5</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Description:

Returns a (const) reference to the copy of the value passed to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)'s constructor stored in the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object.

!!!!Throws:

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

!!!Synopsis

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

(:include synopsis:)

This </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> typedef is used by </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> if it defaults to returning an </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> that refers to an object of type </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>, to record in it the std::type_info of the original exception object.</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-46</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>11</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to (:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:), but because Boost Exception can not rely on language support, the use of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) at the time of the throw is required in order to use cloning.

!!!!Note:

All exceptions emitted by the familiar function boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) are guaranteed to derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) and to support cloning.

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

When you catch an exception, you can call (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to get an (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object:

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

void do_work(); //throws cloning-enabled boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)s

void
worker_thread( boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) & error )
    {
    try
        {
        do_work();
        error = boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)();
        }
    catch(
    ... )
        {
        error = boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)();
        }
    }@]

In the above example, note that (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</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>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function:

[@// ...continued

void
work()
    {
    boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) error;
    boost::(:link http://www.boost.org/doc/html/boost/thread.html|thread:) t( boost::(:link http://www.boost.org/libs/bind/bind.html|bind:)(worker_thread,boost::(:link http://www.boost.org/doc/html/ref.html|ref:)(error)) );
    t.(:link http://www.boost.org/doc/html/boost/thread.html|join:)();
    if( error )
        boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(error);
    }@]

Note that (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) could fail to copy the original exception object in the following cases:

* if there is not enough memory, in which case the returned (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) points to an instance of std::bad_alloc, or
* if (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</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>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) points to an instance of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

Regardless, the use of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) and (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) in the above examples is well-formed.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-48</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

(:include synopsis:)

This type is used by the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) support in Boost Exception. Please see (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-50</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

!!!Synopsis

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

!!!Synopsis

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

Some exception hierarchies can not be modified to make boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) a base type. In this case, the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<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>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) anyway. Here is an example:

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

typedef boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct tag_std_range_index,size_t> std_range_index;

template <class T>
class
my_container
    {
    public:

    size_t size() const;

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

The call to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) and T. This makes it possible to use (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) &, so that (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-28</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|more information can be added to the exception at a later time:).
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-53</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>33</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

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

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

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

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

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

Here is an example of a catch statement:

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

And here is a possible matching throw:

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

Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!

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

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

This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.

->''In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.''

!!!Exception wrapping

The idea of exception wrapping is to catch an excep
tion from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.

Exception wrapping leads to the following problems:

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

The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.

!!!The boost::exception solution

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

For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:

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

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

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

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

[@typedef boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<struct tag_file_name,std::string> file_name;

....
try
    {
    if( FILE * fp=fopen("foo.txt","rt") )
        {
        shared_ptr<FILE> f(fp,fclose);
        ....
        read_file(fp); //throws types deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
        do_something();
        ....
        }
    else
        throw file_open_error() (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|<<:) errno_code(errno);
    }
catch( boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) & e )
    {
    e (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|<<:) file_name("foo.txt");
    throw;
    }@]

Finally here is how the handler retrieves data from exceptions that derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:):

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

    if( std::string const * fn=(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<file_name>(e) )
        std::cerr << "File name: " << *fn << "\n";

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

In addition, boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) can be used to compose an automatic (if not user-friendly) message that contains all of the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) objects added to a boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). This is useful for inclusion in logs and other diagnostic objects.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-54</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

Deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.

In other words: with boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</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:

[@struct exception_base: virtual std::exception, virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]

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

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

Despite that (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|virtual inheritance should be used in deriving from base exception types:), many programmers fail to follow this principle when deriving from std::exception. If boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) derives from std::exception, using the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.

Of course, boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)

!!!Why is boost::exception abstract?

To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to an active exception object:

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

The correct code is:

[@catch( boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) & e )
    {
    e (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|<<:) foo_info(foo);
    throw; //Okay, re-throwing the original exception object.
    }@]

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

The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) does not by itself cause dynamic memory allocations.

Deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.

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

The benefit of calling boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) and that it is compatible with boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

The (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) macro also results in a call to boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to compose a more useful, if not user-friendly message.

Typical use of boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is:

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

This is a possible message it may display, the first line is only possible if (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is used:

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = fopen
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = rb@]
!!!Why is boost::exception integrated in boost::throw_exception?

The boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) as a base of any exception passed to boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.

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

For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), but this requires that Boost Serialization throws exceptions using boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). If Boost Serialization calls boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to throw, this behavior happens automatically and transparently.

The cost of this integration is:

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

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

Before throwing an object of type that derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), it is often desirable to add one or more (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) objects in it. The syntactic sugar provided by (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) allows this to be done directly in a throw expression:

[@throw error() (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|<<:) foo_info(foo) (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|<<:) bar_info(bar);@]

which saves typing compared to this possible alternative:

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

and looks better than something like:

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

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

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

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

The intention here is to throw a file_open_error, however if (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":) fails to copy the std::string contained in the file_name (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.

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

->''"Throwing an exception requires an object to throw.  A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion.  However, it is possible that throwing some other exception will cause memory exhaustion."''

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

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

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

!!!!Throws:

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

!!!Synopsis

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

(:include synopsis:)

!!!!Effects:

Stores a copy of v in the </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> object.

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

(:include decl:)

!!!!Effects:

* Default constructor: initializes an empty boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object.
* Copy constructor: initializes a boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object which shares ownership with x of all data added through (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":), including data that is added at a future time.

!!!!Throws:

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

(:include synopsis:)

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

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

To retrieve data from a boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) object, use the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function template.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>41</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Description:

This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<Tag,T> can be passed to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":) to be stored in objects of type boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!!Usage:

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

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

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

Or, the shorter equivalent:

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

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

This errno_info typedef can be passed to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":) (#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-74</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)> first) to store an int named tag_errno in exceptions of types that derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:):

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

It can also be passed to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) (#include <(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-68</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)> first) to retrieve the tag_errno int from a boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:):

[@catch( boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) & x )
    {
    if( int const * e=boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<errno_info>(x) )
        ....
    }@]

For convenience and uniformity, Boost Exception defines the following commonly used (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) typedefs, ready for use with (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":):

(:pagelist tags="error_info_instance":)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-62</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>3</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

This header has been deprecated.

Please #include <</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-32</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>> instead.</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-63</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !!:)

!!!Synopsis

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

!!!Synopsis

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

!!!Synopsis

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

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

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

!!!Synopsis

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

(:pagelist tags="macro":)
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>39</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

In addition, to safely copy an exception from one thread to another, if the exception object is copied by </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> or </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-33</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>, the two copies must not have shared state. Exceptions that have value-type semantics (as well as the boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> type itself) satisfy this requirement.

!!!!Returns:

* An (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) that refers to the currently handled exception or a copy of the currently handled exception.
* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) that refers to an instance of std::bad_alloc.

!!!!Throws:

Nothing.

!!!!Notes:

* It is unspecified whether the return values of two successive calls to (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) refer to the same exception object.
* Correct implementation of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) may require compiler support, unless (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) was used at the time the currently handled exception object was passed to throw. Whenever (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) fails to properly copy the current exception object, it returns an (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) to an object of type that is as close as possible to the original exception type, using (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) as a final fallback. All such types derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), and:
** if the original exception object derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), then the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) sub-object of the object referred to by the returned (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) is initialized by the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) copy constructor;
** if available, the exception contains the std::type_info of the original exception object, accessible through (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)<(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-45</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)>.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-71</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>5</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

* If T derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), the returned object is of type T and is a copy of x.
* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). The T sub-object is initialized from x by the T copy constructor.

!!!!Throws:

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

!!!Synopsis

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

Boost Exception provides a namespace-scope function (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) which takes a boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). The returned string contains:

*the string representation of all data objects added to the boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) through (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> mod="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.

The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:

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

void f(); //throws unknown types that derive from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

void
g()
    {
    try
        {
        f();
        }
    catch(
    boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) & e )
        {
        std::cerr << (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)(e);
        }
    }@]

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

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> objects.</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>21</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

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

!!!!Description:



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

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

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

Unless (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-76</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>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) may return an (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) which refers to an instance of (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-49</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). See (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-70</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) for details.

!!!!Note:

Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) and supports the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-40</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) functionality.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-77</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>17</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

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

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

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

struct my_error: virtual boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:), virtual std::exception { }; //(2)

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

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

Second, we define class my_error, which derives from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-37</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>|operator<<:) to store values in exception objects at the point of the throw.

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

[@// ...continued

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

The (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-39</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-78</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>(:auto !:)

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

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

this is a possible output from the (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) function, as used in ''libs/exception/example/example_io.cpp:''

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<struct fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-67</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = fopen
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-41</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)_ *] = rb@]
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-80</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>7</size>
+												<variant>2</variant>
+												<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-61</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:) instance for transporting a relevant errno value in exceptions deriving from boost::(:link </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-60</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:).

!!!Example:

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>:)
</string>
+											</pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>throws</string>
+								<shared_ptr>
+									<id>85</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>76</size>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-5</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-6</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-7</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-8</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-9</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-10</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-11</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-12</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-13</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-14</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>1</size>
+												<variant>2</variant>
+												<string>!!!!Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.
</string>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-15</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-16</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-17</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-18</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-19</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-20</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-21</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-22</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-23</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-24</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-25</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-26</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-27</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-28</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-29</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-30</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-31</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-32</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-33</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-35</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
+											</pair>
+											<pair>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-36</id>
+													</shared_ptr>
+												</weak_ptr>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-37</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>41</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Description:

This class template is used to associate a Tag type with a value type T. Objects of type (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<Tag,T> can be passed to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":) to be stored in objects of type boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!!Usage:

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

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

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

Or, the shorter equivalent:

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

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

This errno_info typedef can be passed to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":) (#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)> first) to store an int named tag_errno in exceptions of types that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:):

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

It can also be passed to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) (#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-68</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)> first) to retrieve the tag_errno int from a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:):

[@catch( boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & x )
    {
    if( int const * e=boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<errno_info>(x) )
        ....
    }@]

For convenience and uniformity, Boost Exception defines the following commonly used (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) typedefs, ready for use with (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":):

(:pagelist tags="error_info_instance":)
</string>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>!!!!Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-38</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

This header has been deprecated.

Please #include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-32</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>> instead.</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-63</id>
+														<id>-39</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !!:)

!!!Synopsis

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

!!!Synopsis

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

!!!Synopsis

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

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

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

!!!Synopsis

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

(:pagelist tags="macro":)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-70</id>
+														<id>-46</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>39</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

In addition, to safely copy an exception from one thread to another, if the exception object is copied by </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> or </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-33</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>, the two copies must not have shared state. Exceptions that have value-type semantics (as well as the boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> type itself) satisfy this requirement.

!!!!Returns:

* An (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) that refers to the currently handled exception or a copy of the currently handled exception.
* If the function needs to allocate memory and the attempt fails, it returns an (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) that refers to an instance of std::bad_alloc.

!!!!Throws:

Nothing.

!!!!Notes:

* It is unspecified whether the return values of two successive calls to (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) refer to the same exception object.
* Correct implementation of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) may require compiler support, unless (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) was used at the time the currently handled exception object was passed to throw. Whenever (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) fails to properly copy the current exception object, it returns an (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) to an object of type that is as close as possible to the original exception type, using (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) as a final fallback. All such types derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), and:
** if the original exception object derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), then the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) sub-object of the object referred to by the returned (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) is initialized by the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) copy constructor;
** if available, the exception contains the std::type_info of the original exception object, accessible through (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)<(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-45</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-71</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

* If T derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), the returned object is of type T and is a copy of x.
* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). The T sub-object is initialized from x by the T copy constructor.

!!!!Throws:

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

!!!Synopsis

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

Boost Exception provides a namespace-scope function (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) which takes a boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). The returned string contains:

*the string representation of all data objects added to the boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) through (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> mod="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.

The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:

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

void f(); //throws unknown types that derive from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

void
g()
    {
    try
        {
        f();
        }
    catch(
    boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) & e )
        {
        std::cerr << (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)(e);
        }
    }@]

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

!!!Synopsis

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

(:include synopsis:)

This type is designed to be used as a standard </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> objects.</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-76</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>21</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

!!!!Requirements:

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

!!!!Returns:

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

!!!!Description:



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

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

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

Unless (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-76</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>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) may return an (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) which refers to an instance of (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-49</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). See (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-70</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) for details.

!!!!Note:

Instead of using the throw keyword directly, it is preferable to call boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-25</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:). This is guaranteed to throw an exception that derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) and supports the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-40</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) functionality.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-77</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>17</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

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

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

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

struct my_error: virtual boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:), virtual std::exception { }; //(2)

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

First, we instantiate the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) template using a unique identifier -- tag_my_info, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.

Second, we define class my_error, which derives from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

Finally, (3) illustrates how the typedef from (1) can be used with (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-37</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>|operator<<:) to store values in exception objects at the point of the throw.

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

[@// ...continued

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

The (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-39</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-78</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>(:auto !:)

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

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

this is a possible output from the (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-6</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) function, as used in ''libs/exception/example/example_io.cpp:''

[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<struct fopen_error>
std::exception::what: example_io error
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-67</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = fopen
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-80</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = 2, "No such file or directory"
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-27</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = tmp1.txt
[struct boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-41</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)_ *] = rb@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-80</id>
+														<id>-56</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>7</size>
-													<variant>2</variant>
-													<string>(:auto !!!:)

(:include synopsis:)

This type is designed to be used as a standard (:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-61</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:) instance for transporting a relevant errno value in exceptions deriving from boost::(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-60</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:).

!!!Example:

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-15</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>throws</string>
-								<shared_ptr>
-									<id>85</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>76</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>!!!!Throws:

Any exception emitted by v's copy constructor.</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-7</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-8</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-9</id>
+														<id>-61</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-10</id>
+														<id>-62</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-12</id>
+														<id>-64</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-13</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-14</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by T1..TN copy constructor.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-15</id>
+														<id>-67</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-16</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-69</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-18</id>
+														<id>-70</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-71</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-20</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-73</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-23</id>
+														<id>-75</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-24</id>
+														<id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-25</id>
+														<id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-78</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-27</id>
+														<id>-79</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-80</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
+										</sorted>
+									</object>
+								</shared_ptr>
+							</pair>
+							<pair>
+								<string>synopsis</string>
+								<shared_ptr>
+									<id>86</id>
+									<type>
+										<string>reno_layer</string>
+									</type>
+									<object>
+										<sorted>
+											<size>76</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-29</id>
+														<id>-5</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-30</id>
+														<id>-6</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-31</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>\\
`#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-32</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>>\\

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-33</id>
+														<id>-7</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-34</id>
+														<id>-8</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-9</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-10</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>!!!!Throws:

std::bad_alloc, or any exception emitted by the T copy constructor.
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-38</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <string>

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

(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-40</id>
+														<id>-12</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-41</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>
#include <string>

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

[@namespace
boost
    {
(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-45</id>
+														<id>-14</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-15</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-16</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-17</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-49</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>\\

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

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-52</id>
+														<id>-57</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> synopsis:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-53</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-54</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>

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

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

Any exception emitted by v's copy constructor.</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-59</id>
+														<id>-63</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>>

(:include decl:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-60</id>
+														<id>-22</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-23</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-63</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>>

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

[@namespace
boost
    {
(:include decl:)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-66</id>
+														<id>-26</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-67</id>
+														<id>-11</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>\\

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

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-70</id>
+														<id>-13</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string> synopsis:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-71</id>
+														<id>-28</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-72</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-73</id>
+														<id>-30</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
                                                                                                                 <id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>

[@(:include decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-75</id>
+														<id>-31</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-76</id>
+														<id>-32</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>[@(:include api:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-77</id>
+														<id>-33</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-78</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-79</id>
+														<id>-34</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-80</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>>
#include <errno.h>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
-										</sorted>
-									</object>
-								</shared_ptr>
-							</pair>
-							<pair>
-								<string>synopsis</string>
-								<shared_ptr>
-									<id>86</id>
-									<type>
-										<string>reno_layer</string>
-									</type>
-									<object>
-										<sorted>
-											<size>76</size>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-5</id>
+														<id>-35</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-6</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>\\
`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-44</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>\\

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

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

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

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-11</id>
+														<id>-19</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <string>

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

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

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

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

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

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-17</id>
+														<id>-48</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>\\

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-57</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-19</id>
+														<id>-43</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

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

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

[@(:include decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-21</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-63</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

(:include decl:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-22</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>:)>

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

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

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

[@namespace
boost
    {
(:include decl:)
    }@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-26</id>
+														<id>-47</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-11</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>\\

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-13</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-28</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<variant>2</variant>
+												<string>>
#include <string>

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

[@(:include decl:)@]
</string>
-												</container>
+												<variant>2</variant>
+												<string>:)>

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

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

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

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

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-35</id>
+														<id>-52</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-36</id>
+														<id>-53</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>[@namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-37</id>
+														<id>-54</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>\\

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

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

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

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

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-48</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>5</size>
+												<variant>2</variant>
+												<string>[@#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-42</id>
+														<id>-36</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>:)>

namespace
boost
    {
(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-43</id>
+														<id>-40</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@(:include decl:)@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> decl pre_indent="4":)
(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-44</id>
+														<id>-58</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

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

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

[@(:include decl:)@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-46</id>
+														<id>-59</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-47</id>
+														<id>-60</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-48</id>
+														<id>-29</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-36</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>
#include <string>

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

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

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

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

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

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

namespace
boost
    {
    template <class> class weak_ptr;
(:include api pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-55</id>
+														<id>-65</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>[@#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-56</id>
+														<id>-74</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-72</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

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

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

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

[@(:include decl:)@]
</string>
-												</container>
+												<variant>2</variant>
+												<string>>
#include <string>

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

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<variant>2</variant>
+												<string>>

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-61</id>
+														<id>-51</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

[@namespace
boost
    {
(:include def pre_indent="4":)
    }@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> synopsis:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-62</id>
+														<id>-68</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>1</size>
+												<variant>2</variant>
+												<string>[@#include <boost/shared_ptr.hpp>

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

namespace
boost
    {
    template <class> class weak_ptr;
(:include api pre_indent="4":)
    }@]
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <(:link </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-65</id>
+														<id>-44</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-74</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>
#include <boost/tuple/tuple.hpp>

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

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

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

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

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-68</id>
+														<id>-72</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>1</size>
-													<variant>2</variant>
-													<string>[@#include <boost/shared_ptr.hpp>

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

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

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

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

(:include </string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-74</id>
+														<id>-66</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>[@#include <(:link </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-29</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>:)>

namespace
boost
    {
(:include api pre_indent="4":)
    }@]
</string>
-												</container>
+												<variant>2</variant>
+												<string> synopsis:)
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-75</id>
+														<id>-76</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-66</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-66</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
-											</pair>
-											<pair>
+												<size>3</size>
+												<variant>2</variant>
+												<string>`#include <</string>
+												<variant>1</variant>
                                                                                                 <weak_ptr>
                                                                                                         <expired>0</expired>
                                                                                                         <shared_ptr>
-														<id>-76</id>
+														<id>-24</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>3</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-24</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

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

[@namespace
boost
    {
(:include decl pre_indent="4":)
    }@]
</string>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -14131,9 +12923,7 @@
                                                                                                                 <id>-77</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -14142,9 +12932,7 @@
                                                                                                                 <id>-78</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -14153,9 +12941,7 @@
                                                                                                                 <id>-79</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>0</size>
-												</container>
+												<size>0</size>
                                                                                         </pair>
                                                                                         <pair>
                                                                                                 <weak_ptr>
@@ -14164,29 +12950,27 @@
                                                                                                                 <id>-80</id>
                                                                                                         </shared_ptr>
                                                                                                 </weak_ptr>
-												<container>
-													<size>5</size>
-													<variant>2</variant>
-													<string>`#include <</string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string>>

(:include </string>
-													<variant>1</variant>
-													<weak_ptr>
-														<expired>0</expired>
-														<shared_ptr>
-															<id>-34</id>
-														</shared_ptr>
-													</weak_ptr>
-													<variant>2</variant>
-													<string> synopsis:)
</string>
-												</container>
+												<size>5</size>
+												<variant>2</variant>
+												<string>`#include <</string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string>>

(:include </string>
+												<variant>1</variant>
+												<weak_ptr>
+													<expired>0</expired>
+													<shared_ptr>
+														<id>-34</id>
+													</shared_ptr>
+												</weak_ptr>
+												<variant>2</variant>
+												<string> synopsis:)
</string>
                                                                                         </pair>
                                                                                 </sorted>
                                                                         </object>
@@ -14442,9 +13226,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14459,9 +13241,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14476,9 +13256,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14493,9 +13271,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14510,9 +13286,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14527,9 +13301,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14544,9 +13316,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14561,9 +13331,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14578,9 +13346,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14595,9 +13361,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14612,9 +13376,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14629,9 +13391,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14646,9 +13406,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14663,9 +13421,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14680,9 +13436,7 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>0</size>
-											</container>
+											<size>0</size>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14697,13 +13451,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
-												<weak>1376868984</weak>
-												<size>262</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
+											<weak>1376868984</weak>
+											<size>262</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14721,17 +13473,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
-												<weak>1376868984</weak>
-												<size>262</size>
-												<position>323</position>
-												<strong>83E18B98A15DEF9418E38218D221D10DC093B915D630B51974CCD23A6E1EDC44</strong>
-												<weak>849683856</weak>
-												<size>98</size>
-												<position>158</position>
-											</container>
+											<size>2</size>
+											<strong>790A065B0168021FAD180E996254E3CDBC0360D22D3FCB83C143416663D85402</strong>
+											<weak>1376868984</weak>
+											<size>262</size>
+											<position>323</position>
+											<strong>83E18B98A15DEF9418E38218D221D10DC093B915D630B51974CCD23A6E1EDC44</strong>
+											<weak>849683856</weak>
+											<size>98</size>
+											<position>158</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14749,13 +13499,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
-												<weak>561674611</weak>
-												<size>417</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>66EFC83C830F0B00D0C9399B475099072E2674B3C694F9152645A33E3D7AC303</strong>
+											<weak>561674611</weak>
+											<size>417</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14773,17 +13521,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
-												<weak>2728032055</weak>
-												<size>406</size>
-												<position>344</position>
-												<strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
-												<weak>1009590890</weak>
-												<size>92</size>
-												<position>308</position>
-											</container>
+											<size>2</size>
+											<strong>EEA69AA1E84CB2B7C903A3F4C236D0A233D03DBA4BA1D3B97D959918F3B30E09</strong>
+											<weak>2728032055</weak>
+											<size>406</size>
+											<position>344</position>
+											<strong>EE695B95A2499B66980754857E184776F1DE7224372A5F5153B6DF94E621A89B</strong>
+											<weak>1009590890</weak>
+											<size>92</size>
+											<position>308</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14801,13 +13547,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
-												<weak>2576704708</weak>
-												<size>337</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>21A43755562CB78B3FFCC49F66B457C1FCD659EE98F25BBFA8DDE453EB89DF0E</strong>
+											<weak>2576704708</weak>
+											<size>337</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14825,13 +13569,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
-												<weak>2229778754</weak>
-												<size>631</size>
-												<position>319</position>
-											</container>
+											<size>1</size>
+											<strong>FC684D0DD5A9732B4130F2AB3DB6E0491D0F523E14B7FB738B2019EA2C7F8717</strong>
+											<weak>2229778754</weak>
+											<size>631</size>
+											<position>319</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14849,17 +13591,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
-												<weak>4231421785</weak>
-												<size>307</size>
-												<position>344</position>
-												<strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
-												<weak>1126376090</weak>
-												<size>92</size>
-												<position>209</position>
-											</container>
+											<size>2</size>
+											<strong>126A895281064E2195458B8A47CD73DB7E3BE3608F250925E07AF4230CBDDE1D</strong>
+											<weak>4231421785</weak>
+											<size>307</size>
+											<position>344</position>
+											<strong>16179B125E2BC6D993FBE4BA5E9A96DBAE43CA1443C7D281B659D020B6725983</strong>
+											<weak>1126376090</weak>
+											<size>92</size>
+											<position>209</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14877,13 +13617,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22</strong>
-												<weak>1416707852</weak>
-												<size>3107</size>
-												<position>527</position>
-											</container>
+											<size>1</size>
+											<strong>4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22</strong>
+											<weak>1416707852</weak>
+											<size>3107</size>
+											<position>527</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14901,13 +13639,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>27ED18F9B6131B084FEF0C9F932B7027AF449E378B5FD7973CD6642263FCAF27</strong>
-												<weak>2867102400</weak>
-												<size>404</size>
-												<position>307</position>
-											</container>
+											<size>1</size>
+											<strong>27ED18F9B6131B084FEF0C9F932B7027AF449E378B5FD7973CD6642263FCAF27</strong>
+											<weak>2867102400</weak>
+											<size>404</size>
+											<position>307</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14925,13 +13661,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>C6548B951122E7A24EF1CD607D535FDE0DA3704EED7A98496B8B66FF41E61330</strong>
-												<weak>1888446168</weak>
-												<size>5137</size>
-												<position>321</position>
-											</container>
+											<size>1</size>
+											<strong>C6548B951122E7A24EF1CD607D535FDE0DA3704EED7A98496B8B66FF41E61330</strong>
+											<weak>1888446168</weak>
+											<size>5137</size>
+											<position>321</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14949,13 +13683,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835</strong>
-												<weak>422843600</weak>
-												<size>756</size>
-												<position>527</position>
-											</container>
+											<size>1</size>
+											<strong>BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835</strong>
+											<weak>422843600</weak>
+											<size>756</size>
+											<position>527</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -14973,17 +13705,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
-												<weak>1090406464</weak>
-												<size>362</size>
-												<position>527</position>
-												<strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
-												<weak>3172941848</weak>
-												<size>330</size>
-												<position>26</position>
-											</container>
+											<size>2</size>
+											<strong>6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D</strong>
+											<weak>1090406464</weak>
+											<size>362</size>
+											<position>527</position>
+											<strong>D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6</strong>
+											<weak>3172941848</weak>
+											<size>330</size>
+											<position>26</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15001,13 +13731,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>DB156E6A8ACB9FB90C8FB110FC25A5FEB14A619F82EEC47FF913373592E5CC3E</strong>
-												<weak>240075319</weak>
-												<size>6209</size>
-												<position>412</position>
-											</container>
+											<size>1</size>
+											<strong>DB156E6A8ACB9FB90C8FB110FC25A5FEB14A619F82EEC47FF913373592E5CC3E</strong>
+											<weak>240075319</weak>
+											<size>6209</size>
+											<position>412</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15025,17 +13753,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340</strong>
-												<weak>1830643656</weak>
-												<size>1244</size>
-												<position>1417</position>
-												<strong>BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D</strong>
-												<weak>3168166030</weak>
-												<size>1222</size>
-												<position>21</position>
-											</container>
+											<size>2</size>
+											<strong>FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340</strong>
+											<weak>1830643656</weak>
+											<size>1244</size>
+											<position>1417</position>
+											<strong>BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D</strong>
+											<weak>3168166030</weak>
+											<size>1222</size>
+											<position>21</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15053,73 +13779,71 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
-												<weak>1232553666</weak>
-												<size>214</size>
-												<position>345</position>
-												<strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
-												<weak>3676119191</weak>
-												<size>90</size>
-												<position>118</position>
-											</container>
+											<size>1</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../../../boost/exception/errinfo_file_handle.hpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-20</id>
+										<id>-29</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>D32E0E4334CE0236B6EDB0EAC484B2DD595860E9FD53701EB5646D62C6A45D4E</strong>
-												<weak>1054670543</weak>
-												<size>866</size>
-												<position>306</position>
-											</container>
+											<size>3</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
+											<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
+											<weak>4056200131</weak>
+											<size>2307</size>
+											<position>4159</position>
+											<strong>A94129EFD6ABBDDCD4CFDB671821F7DA103B2EA4455CF39E783D333C236D1C41</strong>
+											<weak>1035445969</weak>
+											<size>595</size>
+											<position>204</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
                                                                                 <path>
                                                                                         <empty>0</empty>
-											<string>../../example/error_info_2.cpp</string>
+											<string>../../../../boost/exception/exception.hpp</string>
                                                                                         <type>0</type>
                                                                                         <base>0</base>
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-42</id>
+										<id>-59</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-												<weak>3780717552</weak>
-												<size>10894</size>
-												<position>527</position>
-												<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
-												<weak>4056200131</weak>
-												<size>2307</size>
-												<position>4159</position>
-												<strong>A94129EFD6ABBDDCD4CFDB671821F7DA103B2EA4455CF39E783D333C236D1C41</strong>
-												<weak>1035445969</weak>
-												<size>595</size>
-												<position>204</position>
-											</container>
+											<size>3</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
+											<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
+											<weak>4056200131</weak>
+											<size>2307</size>
+											<position>4159</position>
+											<strong>28ACC7E8903AFA473B656DAD74C22C3F675AFCCA871D81AB3AB7742FDF5F1E48</strong>
+											<weak>2824899226</weak>
+											<size>2163</size>
+											<position>145</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15131,27 +13855,21 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-59</id>
+										<id>-60</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-												<weak>3780717552</weak>
-												<size>10894</size>
-												<position>527</position>
-												<strong>E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F</strong>
-												<weak>4056200131</weak>
-												<size>2307</size>
-												<position>4159</position>
-												<strong>28ACC7E8903AFA473B656DAD74C22C3F675AFCCA871D81AB3AB7742FDF5F1E48</strong>
-												<weak>2824899226</weak>
-												<size>2163</size>
-												<position>145</position>
-											</container>
+											<size>2</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
+											<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
+											<weak>765399792</weak>
+											<size>77</size>
+											<position>6601</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15163,23 +13881,21 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-60</id>
+										<id>-22</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>842A95F54D7230068D121DA36DE06A4A803B6DE39424DBB6C978B5196E46B94E</strong>
-												<weak>3780717552</weak>
-												<size>10894</size>
-												<position>527</position>
-												<strong>17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E</strong>
-												<weak>765399792</weak>
-												<size>77</size>
-												<position>6601</position>
-											</container>
+											<size>2</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
+											<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
+											<weak>1137981799</weak>
+											<size>192</size>
+											<position>10710</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15191,19 +13907,91 @@
                                                                                 </path>
                                                                         </file>
                                                                         <shared_ptr>
-										<id>-22</id>
+										<id>-76</id>
                                                                         </shared_ptr>
                                                                 </pair>
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
-												<weak>2883671483</weak>
-												<size>311</size>
-												<position>306</position>
-											</container>
+											<size>2</size>
+											<strong>50BA98E4AF6E48EB9A2AF07548E1B388AFD8CBBC84BD9F6221CF853EFCB7254B</strong>
+											<weak>2419405084</weak>
+											<size>10908</size>
+											<position>527</position>
+											<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
+											<weak>3292878997</weak>
+											<size>282</size>
+											<position>8718</position>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/exception/exception.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-71</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<size>2</size>
+											<strong>15CF5BD93D20D62D659C11A69330B06E408398EA488BEF1FD45437AADCDB424E</strong>
+											<weak>1232553666</weak>
+											<size>214</size>
+											<position>345</position>
+											<strong>6262783847165581298EC9500031E6B7A97B2751A9CEF67C4794121A78142C58</strong>
+											<weak>3676119191</weak>
+											<size>90</size>
+											<position>118</position>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../../../boost/exception/errinfo_file_handle.hpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-20</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<size>1</size>
+											<strong>D32E0E4334CE0236B6EDB0EAC484B2DD595860E9FD53701EB5646D62C6A45D4E</strong>
+											<weak>1054670543</weak>
+											<size>866</size>
+											<position>306</position>
+										</stream_hook_path>
+									</hook>
+									<file>
+										<path>
+											<empty>0</empty>
+											<string>../../example/error_info_2.cpp</string>
+											<type>0</type>
+											<base>0</base>
+										</path>
+									</file>
+									<shared_ptr>
+										<id>-42</id>
+									</shared_ptr>
+								</pair>
+								<pair>
+									<hook>
+										<stream_hook_path>
+											<size>1</size>
+											<strong>66E0BD9724AB83012F5B35D887E3313960DC0E69B94E0C03CA1F3C85A0D84A5C</strong>
+											<weak>2883671483</weak>
+											<size>311</size>
+											<position>306</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15221,13 +14009,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
-												<weak>4175717823</weak>
-												<size>328</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>4EDD3DF2332B6D9D22AC9AD90B850ACC715A24DD466E675014CBED25C63C255F</strong>
+											<weak>4175717823</weak>
+											<size>328</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15245,17 +14031,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
-												<weak>1523356166</weak>
-												<size>537</size>
-												<position>607</position>
-												<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
-												<weak>665917505</weak>
-												<size>66</size>
-												<position>26</position>
-											</container>
+											<size>2</size>
+											<strong>21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61</strong>
+											<weak>1523356166</weak>
+											<size>537</size>
+											<position>607</position>
+											<strong>24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454</strong>
+											<weak>665917505</weak>
+											<size>66</size>
+											<position>26</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15273,17 +14057,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
-												<weak>1378637100</weak>
-												<size>292</size>
-												<position>368</position>
-												<strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
-												<weak>3349881047</weak>
-												<size>89</size>
-												<position>197</position>
-											</container>
+											<size>2</size>
+											<strong>AEDDD2FA4F47CEBD99444F1054D85AB8132748CF38D6634503D62E9C8AD5FE68</strong>
+											<weak>1378637100</weak>
+											<size>292</size>
+											<position>368</position>
+											<strong>892C0239798B84BA2E80DAA70BBEB7BE0B6086A1D0829D0E1937EC1D19E3FF20</strong>
+											<weak>3349881047</weak>
+											<size>89</size>
+											<position>197</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15301,13 +14083,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>756A81C65A938BEEAD9B576707145748A3DB3BF767CC77ADD5AACD549373856A</strong>
-												<weak>904132245</weak>
-												<size>744</size>
-												<position>363</position>
-											</container>
+											<size>1</size>
+											<strong>756A81C65A938BEEAD9B576707145748A3DB3BF767CC77ADD5AACD549373856A</strong>
+											<weak>904132245</weak>
+											<size>744</size>
+											<position>363</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15325,17 +14105,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
-												<weak>3915725772</weak>
-												<size>5126</size>
-												<position>751</position>
-												<strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
-												<weak>1097215175</weak>
-												<size>161</size>
-												<position>240</position>
-											</container>
+											<size>2</size>
+											<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
+											<weak>3915725772</weak>
+											<size>5126</size>
+											<position>751</position>
+											<strong>6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010</strong>
+											<weak>1097215175</weak>
+											<size>161</size>
+											<position>240</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15353,21 +14131,19 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
-												<weak>3915725772</weak>
-												<size>5126</size>
-												<position>751</position>
-												<strong>C10F1E8E6D5006CC606914ADF3B32784415142ACF9ABF441AEEFF22FEDFD7E5B</strong>
-												<weak>3971804488</weak>
-												<size>3963</size>
-												<position>884</position>
-												<strong>38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610</strong>
-												<weak>542483318</weak>
-												<size>573</size>
-												<position>3175</position>
-											</container>
+											<size>3</size>
+											<strong>0C7A7C7F25A79E2E5DA99A5B843BB85FD3104073D8F8A760C9FCC03AE335C570</strong>
+											<weak>3915725772</weak>
+											<size>5126</size>
+											<position>751</position>
+											<strong>C10F1E8E6D5006CC606914ADF3B32784415142ACF9ABF441AEEFF22FEDFD7E5B</strong>
+											<weak>3971804488</weak>
+											<size>3963</size>
+											<position>884</position>
+											<strong>38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610</strong>
+											<weak>542483318</weak>
+											<size>573</size>
+											<position>3175</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15385,13 +14161,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
-												<weak>2587249979</weak>
-												<size>233</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+											<weak>2587249979</weak>
+											<size>233</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15409,17 +14183,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
-												<weak>2587249979</weak>
-												<size>233</size>
-												<position>323</position>
-												<strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
-												<weak>2372475309</weak>
-												<size>70</size>
-												<position>157</position>
-											</container>
+											<size>2</size>
+											<strong>E0BE7EFCD5550582AB95C9EEDA6E68CA0F89B19838DA61876D42161E1EA4AE71</strong>
+											<weak>2587249979</weak>
+											<size>233</size>
+											<position>323</position>
+											<strong>92AB508A6B1C2A62CB2ACED423BD04BB5A471674B5A51BFC1E6FB1F5C92AF9AA</strong>
+											<weak>2372475309</weak>
+											<size>70</size>
+											<position>157</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15437,13 +14209,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
-												<weak>366628170</weak>
-												<size>236</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79</strong>
+											<weak>366628170</weak>
+											<size>236</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15461,13 +14231,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>20224D8BEA908D6735D8E30354AA084B40FB24FD8B73B8735F9A3FE047455F8C</strong>
-												<weak>610532800</weak>
-												<size>14855</size>
-												<position>321</position>
-											</container>
+											<size>1</size>
+											<strong>20224D8BEA908D6735D8E30354AA084B40FB24FD8B73B8735F9A3FE047455F8C</strong>
+											<weak>610532800</weak>
+											<size>14855</size>
+											<position>321</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15485,13 +14253,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C</strong>
-												<weak>3733653590</weak>
-												<size>923</size>
-												<position>321</position>
-											</container>
+											<size>1</size>
+											<strong>A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C</strong>
+											<weak>3733653590</weak>
+											<size>923</size>
+											<position>321</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15509,13 +14275,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392</strong>
-												<weak>4193409281</weak>
-												<size>322</size>
-												<position>766</position>
-											</container>
+											<size>1</size>
+											<strong>8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392</strong>
+											<weak>4193409281</weak>
+											<size>322</size>
+											<position>766</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15533,17 +14297,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D</strong>
-												<weak>2209414553</weak>
-												<size>2926</size>
-												<position>708</position>
-												<strong>49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA</strong>
-												<weak>638776689</weak>
-												<size>2894</size>
-												<position>26</position>
-											</container>
+											<size>2</size>
+											<strong>D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D</strong>
+											<weak>2209414553</weak>
+											<size>2926</size>
+											<position>708</position>
+											<strong>49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA</strong>
+											<weak>638776689</weak>
+											<size>2894</size>
+											<position>26</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15561,13 +14323,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
-												<weak>414875037</weak>
-												<size>427</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>DE766B811244919E8E1EA54FC747A8487BCE57F1AB592932640FC90428B617A5</strong>
+											<weak>414875037</weak>
+											<size>427</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15585,13 +14345,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
-												<weak>1875939463</weak>
-												<size>529</size>
-												<position>382</position>
-											</container>
+											<size>1</size>
+											<strong>977045132A532A0071B0B53F737D85367CE9A331402F96790E45B3B6F2FC88A6</strong>
+											<weak>1875939463</weak>
+											<size>529</size>
+											<position>382</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15609,13 +14367,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7</strong>
-												<weak>293414988</weak>
-												<size>113</size>
-												<position>323</position>
-											</container>
+											<size>1</size>
+											<strong>A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7</strong>
+											<weak>293414988</weak>
+											<size>113</size>
+											<position>323</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15633,17 +14389,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-												<weak>2051148095</weak>
-												<size>1039</size>
-												<position>548</position>
-												<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-												<weak>2825495330</weak>
-												<size>622</size>
-												<position>411</position>
-											</container>
+											<size>2</size>
+											<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+											<weak>2051148095</weak>
+											<size>1039</size>
+											<position>548</position>
+											<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+											<weak>2825495330</weak>
+											<size>622</size>
+											<position>411</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15661,21 +14415,19 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-												<weak>2051148095</weak>
-												<size>1039</size>
-												<position>548</position>
-												<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-												<weak>2825495330</weak>
-												<size>622</size>
-												<position>411</position>
-												<strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
-												<weak>2218658069</weak>
-												<size>31</size>
-												<position>143</position>
-											</container>
+											<size>3</size>
+											<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+											<weak>2051148095</weak>
+											<size>1039</size>
+											<position>548</position>
+											<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+											<weak>2825495330</weak>
+											<size>622</size>
+											<position>411</position>
+											<strong>38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50</strong>
+											<weak>2218658069</weak>
+											<size>31</size>
+											<position>143</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15693,21 +14445,19 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
-												<weak>2051148095</weak>
-												<size>1039</size>
-												<position>548</position>
-												<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
-												<weak>2825495330</weak>
-												<size>622</size>
-												<position>411</position>
-												<strong>98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5</strong>
-												<weak>1584672077</weak>
-												<size>208</size>
-												<position>259</position>
-											</container>
+											<size>3</size>
+											<strong>99DDC29B8C4D366F7A5A5819117AF190E5255231DD9313E1CC0D56BCD9D89BAA</strong>
+											<weak>2051148095</weak>
+											<size>1039</size>
+											<position>548</position>
+											<strong>12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C</strong>
+											<weak>2825495330</weak>
+											<size>622</size>
+											<position>411</position>
+											<strong>98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5</strong>
+											<weak>1584672077</weak>
+											<size>208</size>
+											<position>259</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15725,13 +14475,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2</strong>
-												<weak>1769665510</weak>
-												<size>1558</size>
-												<position>352</position>
-											</container>
+											<size>1</size>
+											<strong>91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2</strong>
+											<weak>1769665510</weak>
+											<size>1558</size>
+											<position>352</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15749,13 +14497,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3</strong>
-												<weak>4003832872</weak>
-												<size>668</size>
-												<position>321</position>
-											</container>
+											<size>1</size>
+											<strong>DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3</strong>
+											<weak>4003832872</weak>
+											<size>668</size>
+											<position>321</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15773,13 +14519,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>C6E364609371DC5693CCB1B8CA6C6274CD24019026B9932FF566CFC53B441BB4</strong>
-												<weak>4056606622</weak>
-												<size>5656</size>
-												<position>321</position>
-											</container>
+											<size>1</size>
+											<strong>C6E364609371DC5693CCB1B8CA6C6274CD24019026B9932FF566CFC53B441BB4</strong>
+											<weak>4056606622</weak>
+											<size>5656</size>
+											<position>321</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15797,93 +14541,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-												<weak>2928183256</weak>
-												<size>11200</size>
-												<position>321</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>
-									<shared_ptr>
-										<id>-29</id>
-									</shared_ptr>
-								</pair>
-								<pair>
-									<hook>
-										<stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-												<weak>2928183256</weak>
-												<size>11200</size>
-												<position>321</position>
-												<strong>DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9</strong>
-												<weak>1137981799</weak>
-												<size>192</size>
-												<position>10902</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>
-									<shared_ptr>
-										<id>-76</id>
-									</shared_ptr>
-								</pair>
-								<pair>
-									<hook>
-										<stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>2EF2BB7085F9F97CED3D1417C6BFA4DB2B7CD3F1183471847BFEEAEE3BFE4AC2</strong>
-												<weak>2928183256</weak>
-												<size>11200</size>
-												<position>321</position>
-												<strong>F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF</strong>
-												<weak>3292878997</weak>
-												<size>282</size>
-												<position>8910</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>
-									<shared_ptr>
-										<id>-71</id>
-									</shared_ptr>
-								</pair>
-								<pair>
-									<hook>
-										<stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>AA363B3E599C558409A17235E029C4F635E4FDE629F763F661BDA7FA5B2D99C2</strong>
-												<weak>1494903480</weak>
-												<size>325</size>
-												<position>1090</position>
-											</container>
+											<size>1</size>
+											<strong>AA363B3E599C558409A17235E029C4F635E4FDE629F763F661BDA7FA5B2D99C2</strong>
+											<weak>1494903480</weak>
+											<size>325</size>
+											<position>1090</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15901,17 +14563,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
-												<weak>267438927</weak>
-												<size>3837</size>
-												<position>1521</position>
-												<strong>7323F04AB357FDFB0B4EFE22B1EEED0E3DBD5E3DC8461887C90FFF0C4A5E4C5D</strong>
-												<weak>3700130823</weak>
-												<size>497</size>
-												<position>3341</position>
-											</container>
+											<size>2</size>
+											<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
+											<weak>267438927</weak>
+											<size>3837</size>
+											<position>1521</position>
+											<strong>7323F04AB357FDFB0B4EFE22B1EEED0E3DBD5E3DC8461887C90FFF0C4A5E4C5D</strong>
+											<weak>3700130823</weak>
+											<size>497</size>
+											<position>3341</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15929,17 +14589,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
-												<weak>267438927</weak>
-												<size>3837</size>
-												<position>1521</position>
-												<strong>8E8FA9BB811CA481DB2331BF872C556D9035CFCE70CE34300D01DFF51DBE31D4</strong>
-												<weak>985350173</weak>
-												<size>3313</size>
-												<position>26</position>
-											</container>
+											<size>2</size>
+											<strong>22770E5A1452A1FE97E4B320A8E9A55910B85214B2ED667235ED7EBD4C78B6CA</strong>
+											<weak>267438927</weak>
+											<size>3837</size>
+											<position>1521</position>
+											<strong>8E8FA9BB811CA481DB2331BF872C556D9035CFCE70CE34300D01DFF51DBE31D4</strong>
+											<weak>985350173</weak>
+											<size>3313</size>
+											<position>26</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15957,13 +14615,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>9A6D5598D65F1C1B5F913007D1CD1A814F3CDAD07D4AF8C468A0716059B2F7CC</strong>
-												<weak>3552995087</weak>
-												<size>1405</size>
-												<position>527</position>
-											</container>
+											<size>1</size>
+											<strong>9A6D5598D65F1C1B5F913007D1CD1A814F3CDAD07D4AF8C468A0716059B2F7CC</strong>
+											<weak>3552995087</weak>
+											<size>1405</size>
+											<position>527</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -15981,17 +14637,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A</strong>
-												<weak>702729709</weak>
-												<size>815</size>
-												<position>3118</position>
-											</container>
+											<size>2</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A</strong>
+											<weak>702729709</weak>
+											<size>815</size>
+											<position>3118</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16009,17 +14663,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>B18DC30A3F0D524B480C222B3DEC12348928A393A0174D21F22351A2EBEF6E2A</strong>
-												<weak>242230974</weak>
-												<size>148</size>
-												<position>13063</position>
-											</container>
+											<size>2</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>B18DC30A3F0D524B480C222B3DEC12348928A393A0174D21F22351A2EBEF6E2A</strong>
+											<weak>242230974</weak>
+											<size>148</size>
+											<position>13063</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16037,21 +14689,19 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>3</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270</strong>
-												<weak>1574307697</weak>
-												<size>8349</size>
-												<position>4068</position>
-												<strong>7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079</strong>
-												<weak>1179386730</weak>
-												<size>5404</size>
-												<position>2935</position>
-											</container>
+											<size>3</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270</strong>
+											<weak>1574307697</weak>
+											<size>8349</size>
+											<position>4068</position>
+											<strong>7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079</strong>
+											<weak>1179386730</weak>
+											<size>5404</size>
+											<position>2935</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16069,17 +14719,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
-												<weak>3624753243</weak>
-												<size>279</size>
-												<position>1373</position>
-											</container>
+											<size>2</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581</strong>
+											<weak>3624753243</weak>
+											<size>279</size>
+											<position>1373</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16097,17 +14745,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3</strong>
-												<weak>2841506107</weak>
-												<size>891</size>
-												<position>173</position>
-											</container>
+											<size>2</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3</strong>
+											<weak>2841506107</weak>
+											<size>891</size>
+											<position>173</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16125,17 +14771,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
-												<weak>3174366877</weak>
-												<size>14086</size>
-												<position>990</position>
-												<strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
-												<weak>2078296250</weak>
-												<size>305</size>
-												<position>1066</position>
-											</container>
+											<size>2</size>
+											<strong>33ABFEB440AB44356BBD7B5A695E8186AA8952BFA45F44F8C8DF1D49A3DCDEDA</strong>
+											<weak>3174366877</weak>
+											<size>14086</size>
+											<position>990</position>
+											<strong>0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4</strong>
+											<weak>2078296250</weak>
+											<size>305</size>
+											<position>1066</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16153,17 +14797,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
-												<weak>3948311309</weak>
-												<size>396</size>
-												<position>344</position>
-												<strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
-												<weak>3880328768</weak>
-												<size>82</size>
-												<position>308</position>
-											</container>
+											<size>2</size>
+											<strong>307034E20863A00923777A60D9495B4076B7F917D5B97203025299060F0833E0</strong>
+											<weak>3948311309</weak>
+											<size>396</size>
+											<position>344</position>
+											<strong>F8ED2052577830AC0C515EC5932BB14445DD5DA714782281FCDB1776961FECB1</strong>
+											<weak>3880328768</weak>
+											<size>82</size>
+											<position>308</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16181,13 +14823,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
-												<weak>1917376632</weak>
-												<size>706</size>
-												<position>408</position>
-											</container>
+											<size>1</size>
+											<strong>C95CEF2E9D0BAA1E950509471062916DB849A46A19F7692BA478030E79B338EB</strong>
+											<weak>1917376632</weak>
+											<size>706</size>
+											<position>408</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16205,17 +14845,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
-												<weak>1615599655</weak>
-												<size>68</size>
-												<position>227</position>
-												<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
-												<weak>805836816</weak>
-												<size>66</size>
-												<position>1</position>
-											</container>
+											<size>2</size>
+											<strong>9A4ECF9A49A73AED83C1565CB8C67AE1519E8AFE6818F968B4C4733CB9E86CEF</strong>
+											<weak>1615599655</weak>
+											<size>68</size>
+											<position>227</position>
+											<strong>34F0583BC8DE767CE2D79721E1F956895E43E5397473B1050F59BE7E26C773DB</strong>
+											<weak>805836816</weak>
+											<size>66</size>
+											<position>1</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16233,17 +14871,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
-												<weak>1668435395</weak>
-												<size>1332</size>
-												<position>600</position>
-												<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
-												<weak>3879093659</weak>
-												<size>1300</size>
-												<position>26</position>
-											</container>
+											<size>2</size>
+											<strong>F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2</strong>
+											<weak>1668435395</weak>
+											<size>1332</size>
+											<position>600</position>
+											<strong>A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8</strong>
+											<weak>3879093659</weak>
+											<size>1300</size>
+											<position>26</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16261,17 +14897,15 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>2</size>
-												<strong>964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2</strong>
-												<weak>3653363251</weak>
-												<size>731</size>
-												<position>780</position>
-												<strong>36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4</strong>
-												<weak>2314308857</weak>
-												<size>446</size>
-												<position>279</position>
-											</container>
+											<size>2</size>
+											<strong>964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2</strong>
+											<weak>3653363251</weak>
+											<size>731</size>
+											<position>780</position>
+											<strong>36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4</strong>
+											<weak>2314308857</weak>
+											<size>446</size>
+											<position>279</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>
@@ -16289,13 +14923,11 @@
                                                                 <pair>
                                                                         <hook>
                                                                                 <stream_hook_path>
-											<container>
-												<size>1</size>
-												<strong>167C4E3E81D972BC6C9BA70FA5B9289A26B0D36A711F3769674381E8D410A7F6</strong>
-												<weak>3567454851</weak>
-												<size>2594</size>
-												<position>89</position>
-											</container>
+											<size>1</size>
+											<strong>167C4E3E81D972BC6C9BA70FA5B9289A26B0D36A711F3769674381E8D410A7F6</strong>
+											<weak>3567454851</weak>
+											<size>2594</size>
+											<position>89</position>
                                                                                 </stream_hook_path>
                                                                         </hook>
                                                                         <file>