diff --git a/doc/boost-exception.html b/doc/boost-exception.html index 851befb..8dd5059 100644 --- a/doc/boost-exception.html +++ b/doc/boost-exception.html @@ -334,6 +334,11 @@ boost

The exception_ptr type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; exception_ptr's operations do not throw.

Two instances of exception_ptr are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of exception_ptr produces the null value of the type. The null value is equivalent only to itself.

+

Thread safety

+

enable_current_exception

#include <boost/exception/exception.hpp>

diff --git a/doc/current_exception.html b/doc/current_exception.html index 43c0fe9..3f40999 100644 --- a/doc/current_exception.html +++ b/doc/current_exception.html @@ -45,6 +45,7 @@ boost boost/exception_ptr.hpp
copy_exception
enable_current_exception
+
exception_ptr
unknown_exception
diff --git a/doc/exception_ptr.html b/doc/exception_ptr.html index 70bb472..fe801da 100644 --- a/doc/exception_ptr.html +++ b/doc/exception_ptr.html @@ -30,6 +30,11 @@ boost

The exception_ptr type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; exception_ptr's operations do not throw.

Two instances of exception_ptr are equivalent and compare equal if and only if they refer to the same exception.

The default constructor of exception_ptr produces the null value of the type. The null value is equivalent only to itself.

+

Thread safety

+

See Also:

Boost Exception
diff --git a/doc/rethrow_exception.html b/doc/rethrow_exception.html index 1b1a027..1c42a89 100644 --- a/doc/rethrow_exception.html +++ b/doc/rethrow_exception.html @@ -35,6 +35,7 @@ boost

See Also:

diff --git a/doc/source/boost-exception.reno b/doc/source/boost-exception.reno index ac2b070..509f066 100644 --- a/doc/source/boost-exception.reno +++ b/doc/source/boost-exception.reno @@ -48,6 +48,44 @@ reno_context + + + + + + 0 + + + + + + 1 + + + + + <string>transporting of arbitrary data to the catch site</string> + + + tutorial_transporting_data + + + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + 6 + + reno_context + @@ -89,51 +127,6 @@ (:include include:) (:auto also:) - - - 0 - - 6 - - reno_context - - - - - - - 1 - EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3 - 3701809375 - 11225 - 323 - - - - - - 0 - ../../../../boost/exception_ptr.hpp - 0 - 0 - - - - - <string>boost/exception_ptr.hpp</string> - - - exception_cloning_hpp - - - - - - 1 - 2 - (:include include:) (:auto also:) - - 0 @@ -191,6 +184,51 @@ reno_context + + + + + + 1 + EB34EBE3F1C68865DE1F02FD88687E670BAE694282DAC893A537F30DDCD57FA3 + 3701809375 + 11225 + 323 + + + + + + 0 + ../../../../boost/exception_ptr.hpp + 0 + 0 + + + + + <string>boost/exception_ptr.hpp</string> + + + exception_cloning_hpp + + + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + 9 + + reno_context + @@ -230,7 +268,60 @@ 0 - 9 + 10 + + reno_context + + + + + + + 3 + 798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0 + 605377366 + 7735 + 323 + C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748 + 1783445013 + 1182 + 3164 + B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB + 269617501 + 51 + 245 + + + + + + 0 + ../../../../boost/exception/exception.hpp + 0 + 0 + + + + + <string>exception::exception</string> + + + exception_constructors + + + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + 11 reno_context @@ -279,7 +370,7 @@ 0 - 10 + 12 reno_context @@ -322,7 +413,7 @@ 0 - 11 + 13 reno_context @@ -367,7 +458,7 @@ 0 - 12 + 14 reno_context @@ -410,7 +501,7 @@ 0 - 13 + 15 reno_context @@ -419,21 +510,32 @@ - 0 + 2 + F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2 + 1668435395 + 1332 + 396 + A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8 + 3879093659 + 1300 + 26 - 1 + 0 + ../../../../boost/exception/info_tuple.hpp + 0 + 0 - <string>transporting of arbitrary data to the catch site</string> + <string>operator<</tuple</string> - tutorial_transporting_data + @@ -448,7 +550,7 @@ 0 - 14 + 16 reno_context @@ -501,7 +603,7 @@ 0 - 15 + 17 reno_context @@ -550,7 +652,52 @@ 0 - 16 + 18 + + reno_context + + + + + + + 1 + D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835 + 2432554768 + 702 + 408 + + + + + + 0 + ../../example/enable_error_info.cpp + 0 + 0 + + + + + <string>integrating boost exception in existing exception class hierarchies</string> + + + tutorial_enable_error_info + + + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + 19 reno_context @@ -599,7 +746,56 @@ 0 - 17 + 20 + + reno_context + + + + + + + 2 + 798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0 + 605377366 + 7735 + 323 + DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9 + 1137981799 + 192 + 7455 + + + + + + 0 + ../../../../boost/exception/exception.hpp + 0 + 0 + + + + + <string>enable_current_exception</string> + + + + + + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + 21 reno_context @@ -635,7 +831,7 @@ 0 - 18 + 22 reno_context @@ -669,7 +865,7 @@ 0 - 19 + 23 reno_context @@ -714,48 +910,7 @@ 0 - -13 - - - 2 - mod="w":) ##(:link - 1 - - 0 - - 20 - - reno_context - - - - - - - 1 - D9B8E6AA12A4F33953B1A961FA590C5A3840234B6531CA8C04AC985AD5800835 - 2432554768 - 702 - 408 - - - - - - 0 - ../../example/enable_error_info.cpp - 0 - 0 - - - - - <string>integrating boost exception in existing exception class hierarchies</string> - - - tutorial_enable_error_info - - + -5 2 @@ -773,7 +928,16 @@ 0 - 21 + -22 + + + 2 + mod="w":) ##(:link + 1 + + 0 + + 24 reno_context @@ -823,7 +987,7 @@ 0 - -5 + -6 2 @@ -832,7 +996,7 @@ 0 - -9 + -11 2 @@ -841,43 +1005,7 @@ 0 - 22 - - reno_context - - - - - - - 2 - F7633FDCF6615C0199645701EE6E7ACE5CBCD7A7CF6838573791E91ABB3C09F2 - 1668435395 - 1332 - 396 - A1F443AF571973A12005D2F7D4AE09A32AAF686FEEAE272EC21512A65EB943E8 - 3879093659 - 1300 - 26 - - - - - - 0 - ../../../../boost/exception/info_tuple.hpp - 0 - 0 - - - - - <string>operator<</tuple</string> - - - - - + -15 2 @@ -886,7 +1014,7 @@ 0 - 23 + 25 reno_context @@ -931,7 +1059,7 @@ 0 - 24 + 26 reno_context @@ -976,7 +1104,7 @@ 0 - 25 + 27 reno_context @@ -1017,7 +1145,7 @@ 0 - -16 + -19 2 @@ -1026,43 +1154,7 @@ 0 - 26 - - reno_context - - - - - - - 2 - 798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0 - 605377366 - 7735 - 323 - DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9 - 1137981799 - 192 - 7455 - - - - - - 0 - ../../../../boost/exception/exception.hpp - 0 - 0 - - - - - <string>enable_current_exception</string> - - - - - + -20 2 @@ -1071,7 +1163,7 @@ 0 - 27 + 28 reno_context @@ -1116,7 +1208,7 @@ 0 - 28 + 29 reno_context @@ -1161,7 +1253,7 @@ 0 - 29 + 30 reno_context @@ -1206,7 +1298,7 @@ 0 - -15 + -17 2 @@ -1215,7 +1307,7 @@ 0 - 30 + 31 reno_context @@ -1260,7 +1352,7 @@ 0 - -19 + -23 2 @@ -1269,7 +1361,7 @@ 0 - 31 + 32 reno_context @@ -1310,7 +1402,7 @@ 0 - 32 + 33 reno_context @@ -1351,7 +1443,7 @@ 0 - 33 + 34 reno_context @@ -1396,7 +1488,7 @@ 0 - 34 + 35 reno_context @@ -1437,7 +1529,7 @@ 0 - 35 + 36 reno_context @@ -1478,7 +1570,7 @@ 0 - 36 + 37 reno_context @@ -1519,7 +1611,7 @@ 0 - -11 + -13 2 @@ -1528,7 +1620,7 @@ 0 - -6 + -8 2 @@ -1537,7 +1629,7 @@ 0 - 37 + 38 reno_context @@ -1578,7 +1670,7 @@ 0 - 38 + 39 reno_context @@ -1612,7 +1704,7 @@ 0 - -31 + -32 2 @@ -1621,43 +1713,7 @@ 0 - -34 - - - 2 - api pre_indent="4":) (:include - 1 - - 0 - - -36 - - - 2 - api pre_indent="4":) (:include - 1 - - 0 - - -11 - - - 2 - api pre_indent="4":) (:include - 1 - - 0 - - -32 - - - 2 - api pre_indent="4":) (:include - 1 - - 0 - - -6 + -35 2 @@ -1670,6 +1726,42 @@ 2 + api pre_indent="4":) (:include + 1 + + 0 + + -13 + + + 2 + api pre_indent="4":) (:include + 1 + + 0 + + -33 + + + 2 + api pre_indent="4":) (:include + 1 + + 0 + + -8 + + + 2 + api pre_indent="4":) (:include + 1 + + 0 + + -38 + + + 2 api pre_indent="4":) }@] !!Class exception (:include 1 @@ -1684,7 +1776,7 @@ 0 - -5 + -6 2 @@ -1693,7 +1785,7 @@ 0 - -9 + -11 2 @@ -1702,25 +1794,7 @@ 0 - -22 - - - 2 - :) (:include - 1 - - 0 - - -23 - - - 2 - :) (:include - 1 - - 0 - - -24 + -15 2 @@ -1733,15 +1807,6 @@ 2 - :) !!Transporting of Exceptions between Threads (:include - 1 - - 0 - - -16 - - - 2 :) (:include 1 @@ -1760,6 +1825,24 @@ 2 + :) !!Transporting of Exceptions between Threads (:include + 1 + + 0 + + -19 + + + 2 + :) (:include + 1 + + 0 + + -20 + + + 2 :) (:include 1 @@ -1783,7 +1866,16 @@ 0 - -15 + -30 + + + 2 + :) (:include + 1 + + 0 + + -17 2 @@ -1792,7 +1884,7 @@ 0 - -30 + -31 2 @@ -1801,78 +1893,13 @@ 0 - -19 + -23 2 :) !!Acknowledgements Peter Dimov has been continuously influencing the design and evolution of Boost Exception. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process. - - - 0 - - -18 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -19 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -26 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -20 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -21 - - - - 1 - 2 - (:include include:) (:auto also:) - - 0 @@ -1899,6 +1926,19 @@ (:include include:) (:auto also:) + + + 0 + + -29 + + + + 1 + 2 + (:include include:) (:auto also:) + + 0 @@ -1929,20 +1969,7 @@ 0 - -28 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -29 + -26 @@ -1977,153 +2004,6 @@ (:include include:) (:auto also:) - - - 0 - - -32 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -31 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -33 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -34 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -35 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -36 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -37 - - - - 1 - 2 - (:include include:) (:auto also:) - - - - - 0 - - -38 - - - - 1 - 2 - (:auto !:) (:pagelist fmt="index" except_tags="index,noindex" mod="w":) - - - - - 0 - - 39 - - reno_context - - - - - - - 1 - E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3 - 94503238 - 773 - 374 - - - - - - 0 - ../../example/info_tuple.cpp - 0 - 0 - - - - - <string>adding grouped data to exceptions</string> - - - grouping_data - - - - - - 0 - - 0 @@ -2173,6 +2053,136 @@ (:include include:) (:auto also:) + + + 0 + + -28 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -31 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -33 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -32 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -34 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -35 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -36 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -37 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -38 + + + + 1 + 2 + (:include include:) (:auto also:) + + + + + 0 + + -39 + + + + 1 + 2 + (:auto !:) (:pagelist fmt="index" except_tags="index,noindex" mod="w":) + + 0 @@ -2181,6 +2191,49 @@ reno_context + + + + + + 1 + E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3 + 94503238 + 773 + 374 + + + + + + 0 + ../../example/info_tuple.cpp + 0 + 0 + + + + + <string>adding grouped data to exceptions</string> + + + grouping_data + + + + + + 0 + + + + + 0 + + 42 + + reno_context + @@ -2216,59 +2269,6 @@ 0 - - - 0 - - 42 - - reno_context - - - - - - - 3 - 798A43A58F30121B93FAAFE41BA02B933B5D189D95176607ADFC01796014F7D0 - 605377366 - 7735 - 323 - C4D6D690002735564AC480CEA72750731857C50F8E92B19420561B4CBBDA0748 - 1783445013 - 1182 - 3164 - B805EBBE01B97F9E8E0306870AFA083BD42C2F04A72EE945E4D2161860B720AB - 269617501 - 51 - 245 - - - - - - 0 - ../../../../boost/exception/exception.hpp - 0 - 0 - - - - - <string>exception::exception</string> - - - exception_constructors - - - - - - 1 - 2 - (:include include:) (:auto also:) - - @@ -2291,18 +2291,7 @@ - 3 - 2 - [@template <class Tag,class T> class (:link - 1 - - 0 - - -5 - - - 2 - :) { public: typedef T value_type; error_info( value_type const & ); };@] + 0 @@ -2313,7 +2302,18 @@ - 0 + 3 + 2 + [@template <class Tag,class T> class (:link + 1 + + 0 + + -6 + + + 2 + :) { public: typedef T value_type; error_info( value_type const & ); };@] @@ -2340,7 +2340,7 @@ 0 - -14 + -16 2 @@ -2349,7 +2349,7 @@ 0 - -42 + -10 2 @@ -2497,17 +2497,6 @@ 0 - - - 0 - - -26 - - - - 0 - - 0 @@ -2552,6 +2541,17 @@ 0 + + + 0 + + -29 + + + + 0 + + 0 @@ -2578,18 +2578,7 @@ 0 - -28 - - - - 0 - - - - - 0 - - -29 + -26 @@ -2622,7 +2611,18 @@ 0 - -32 + -40 + + + + 0 + + + + + 0 + + -28 @@ -2651,6 +2651,17 @@ 0 + + + 0 + + -32 + + + + 0 + + 0 @@ -2717,17 +2728,6 @@ 0 - - - 0 - - -40 - - - - 0 - - 0 @@ -2783,54 +2783,7 @@ - 11 - 2 - [@(:include - 1 - - 0 - - -15 - - - 2 - decl:) (:include - 1 - - 0 - - -16 - - - 2 - decl:) (:include - 1 - - 0 - - -28 - - - 2 - decl:) (:include - 1 - - 0 - - -27 - - - 2 - decl:) (:include - 1 - - 0 - - -29 - - - 2 - decl:)@] + 0 @@ -2852,7 +2805,54 @@ - 0 + 11 + 2 + [@(:include + 1 + + 0 + + -17 + + + 2 + decl:) (:include + 1 + + 0 + + -19 + + + 2 + decl:) (:include + 1 + + 0 + + -29 + + + 2 + decl:) (:include + 1 + + 0 + + -28 + + + 2 + decl:) (:include + 1 + + 0 + + -30 + + + 2 + decl:)@] @@ -2885,18 +2885,7 @@ - 3 - 2 - [@(:include - 1 - - 0 - - -22 - - - 2 - decl:)@] + 0 @@ -2918,7 +2907,18 @@ - 0 + 3 + 2 + [@(:include + 1 + + 0 + + -15 + + + 2 + decl:)@] @@ -2987,17 +2987,6 @@ 0 - - - 0 - - -26 - - - - 0 - - 0 @@ -3042,6 +3031,17 @@ 0 + + + 0 + + -29 + + + + 0 + + 0 @@ -3068,18 +3068,7 @@ 0 - -28 - - - - 0 - - - - - 0 - - -29 + -26 @@ -3112,22 +3101,22 @@ 0 - -32 + -40 - 3 - 2 - [@(:include - 1 - - 0 - - -30 - - - 2 - decl:)@] + 0 + + + + + 0 + + -28 + + + + 0 @@ -3138,18 +3127,42 @@ - 17 + 0 + + + + + 0 + + -33 + + + + 3 2 - [@#include <(:link + [@(:include 1 0 - -32 + -31 2 - :)> #include <(:link + decl:)@] + + + + + 0 + + -32 + + + + 17 + 2 + [@#include <(:link 1 0 @@ -3187,24 +3200,6 @@ 2 :)> #include <(:link 1 - - 0 - - -11 - - - 2 - :)> #include <(:link - 1 - - 0 - - -6 - - - 2 - :)> #include <(:link - 1 0 @@ -3212,6 +3207,33 @@ 2 + :)> #include <(:link + 1 + + 0 + + -13 + + + 2 + :)> #include <(:link + 1 + + 0 + + -8 + + + 2 + :)> #include <(:link + 1 + + 0 + + -38 + + + 2 :)>@] @@ -3219,7 +3241,7 @@ 0 - -33 + -34 @@ -3230,7 +3252,7 @@ 0 - -5 + -6 2 @@ -3241,7 +3263,7 @@ 0 - -34 + -35 @@ -3261,7 +3283,7 @@ 0 - -24 + -26 2 @@ -3270,7 +3292,7 @@ 0 - -26 + -20 2 @@ -3281,7 +3303,69 @@ 0 - -35 + -36 + + + + 3 + 2 + [@(:include + 1 + + 0 + + -25 + + + 2 + decl:)@] + + + + + 0 + + -37 + + + + 7 + 2 + [@(:include + 1 + + 0 + + -6 + + + 2 + def:) (:include + 1 + + 0 + + -27 + + + 2 + decl:) (:include + 1 + + 0 + + -11 + + + 2 + decl:)@] + + + + + 0 + + -38 @@ -3299,79 +3383,6 @@ decl:)@] - - - 0 - - -36 - - - - 7 - 2 - [@(:include - 1 - - 0 - - -5 - - - 2 - def:) (:include - 1 - - 0 - - -25 - - - 2 - decl:) (:include - 1 - - 0 - - -9 - - - 2 - decl:)@] - - - - - 0 - - -37 - - - - 3 - 2 - [@(:include - 1 - - 0 - - -19 - - - 2 - decl:)@] - - - - - 0 - - -38 - - - - 0 - - 0 @@ -3383,17 +3394,6 @@ 0 - - - 0 - - -40 - - - - 0 - - 0 @@ -3438,18 +3438,7 @@ - 3 - 2 - [@template <class Tag,class T> class (:link - 1 - - 0 - - -5 - - - 2 - :);@] + 0 @@ -3460,7 +3449,18 @@ - 0 + 3 + 2 + [@template <class Tag,class T> class (:link + 1 + + 0 + + -6 + + + 2 + :);@] @@ -3504,27 +3504,7 @@ - 5 - 2 - [@template <class E, class Tag, class T> E const & (:link - 1 - - 0 - - -9 - - - 2 - |operator<<:)( E const & x, (:link - 1 - - 0 - - -5 - - - 2 - :)<Tag,T> const & v );@] + 0 @@ -3535,7 +3515,36 @@ - 0 + 7 + 2 + [@(:link + 1 + + 0 + + -10 + + + 2 + mod="m":)(); (:link + 1 + + 0 + + -10 + + + 2 + mod="m":)( (:link + 1 + + 0 + + -7 + + + 2 + :) const & x );@] @@ -3546,7 +3555,27 @@ - 0 + 5 + 2 + [@template <class E, class Tag, class T> E const & (:link + 1 + + 0 + + -11 + + + 2 + |operator<<:)( E const & x, (:link + 1 + + 0 + + -6 + + + 2 + :)<Tag,T> const & v );@] @@ -3579,18 +3608,7 @@ - 3 - 2 - [@virtual char const * (:link - 1 - - 0 - - -14 - - - 2 - mod="m":)() const throw();@] + 0 @@ -3600,6 +3618,68 @@ -15 + + 7 + 2 + [@template <class E, class Tag1, class T1, ..., class TagN, class TN> E const & (:link + 1 + + 0 + + -15 + + + 2 + |operator<<:)( E const & x, (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)< (:link + 1 + + 0 + + -6 + + + 2 + :)<Tag1,T1>, ..., (:link + 1 + + 0 + + -6 + + + 2 + :)<TagN,TN> > const & v );@] + + + + + 0 + + -16 + + + + 3 + 2 + [@virtual char const * (:link + 1 + + 0 + + -16 + + + 2 + mod="m":)() const throw();@] + + + + + 0 + + -17 + + 5 2 @@ -3608,7 +3688,7 @@ 0 - -15 + -17 2 @@ -3624,39 +3704,6 @@ { ---unspecified--- };@] - - - 0 - - -16 - - - - 3 - 2 - [@typedef ---unspecified--- (:link - 1 - - 0 - - -16 - - - 2 - :);@] - - - - - 0 - - -17 - - - - 0 - - 0 @@ -3675,50 +3722,19 @@ -19 - - 5 - 2 - [@#ifdef BOOST_NO_EXCEPTIONS void (:link - 1 - - 0 - - -19 - - - 2 - :)( std::exception const & e ); // user defined #else template <class E> void (:link - 1 - - 0 - - -19 - - - 2 - :)( E const & e ); #endif@] - - - - - 0 - - -26 - - 3 2 - [@template <class T> ---unspecified--- (:link + [@typedef ---unspecified--- (:link 1 0 - -26 + -19 2 - :)( T const & e );@] + :);@] @@ -3729,7 +3745,18 @@ - 0 + 3 + 2 + [@template <class T> ---unspecified--- (:link + 1 + + 0 + + -20 + + + 2 + :)( T const & e );@] @@ -3751,36 +3778,7 @@ - 7 - 2 - [@template <class E, class Tag1, class T1, ..., class TagN, class TN> E const & (:link - 1 - - 0 - - -22 - - - 2 - |operator<<:)( E const & x, (:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)< (:link - 1 - - 0 - - -5 - - - 2 - :)<Tag1,T1>, ..., (:link - 1 - - 0 - - -5 - - - 2 - :)<TagN,TN> > const & v );@] + 0 @@ -3791,9 +3789,9 @@ - 3 + 5 2 - [@template <class ErrorInfo,class E> (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link + [@#ifdef BOOST_NO_EXCEPTIONS void (:link 1 0 @@ -3802,109 +3800,16 @@ 2 - :)( E const & x );@] - - - - - 0 - - -24 - - - - 3 - 2 - [@template <class T> ---unspecified--- (:link + :)( std::exception const & e ); // user defined #else template <class E> void (:link 1 0 - -24 + -23 2 - :)( T const & x );@] - - - - - 0 - - -25 - - - - 9 - 2 - [@typedef (:link - 1 - - 0 - - -5 - - - 2 - :)<struct tag_throw_function,char const *> throw_function; typedef (:link - 1 - - 0 - - -5 - - - 2 - :)<struct tag_throw_file,char const *> throw_file; typedef (:link - 1 - - 0 - - -5 - - - 2 - :)<struct tag_throw_line,int> throw_line; #define (:link - 1 - - 0 - - -25 - - - 2 - :)\ ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\ ::boost::throw_file(__FILE__) <<\ ::boost::throw_line((int)__LINE__)@] - - - - - 0 - - -28 - - - - 5 - 2 - [@template <class T> (:link - 1 - - 0 - - -16 - - - 2 - :) (:link - 1 - - 0 - - -28 - - - 2 - :)( T const & e );@] + :)( E const & e ); #endif@] @@ -3917,43 +3822,12 @@ 5 2 - [@void (:link + [@template <class T> (:link 1 0 - -29 - - - 2 - :)( (:link - 1 - - 0 - - -16 - - - 2 - :) const & ep ); - - - - - 0 - - -27 - - - - 5 - 2 - [@(:link - 1 - - 0 - - -16 + -19 2 @@ -3962,29 +3836,62 @@ 0 - -27 + -29 2 - :)();@] + :)( T const & e );@] 0 - -30 + -24 + + + + 0 + + + + + 0 + + -25 3 2 - [@template <class T> std::string (:link + [@template <class ErrorInfo,class E> (:link http://www.boost.org/libs/smart_ptr/shared_ptr.htm|shared_ptr:)<typename ErrorInfo::value_type const> (:link 1 0 - -30 + -25 + + + 2 + :)( E const & x );@] + + + + + 0 + + -26 + + + + 3 + 2 + [@template <class T> ---unspecified--- (:link + 1 + + 0 + + -26 2 @@ -3995,11 +3902,133 @@ 0 - -32 + -27 - 0 + 9 + 2 + [@typedef (:link + 1 + + 0 + + -6 + + + 2 + :)<struct tag_throw_function,char const *> throw_function; typedef (:link + 1 + + 0 + + -6 + + + 2 + :)<struct tag_throw_file,char const *> throw_file; typedef (:link + 1 + + 0 + + -6 + + + 2 + :)<struct tag_throw_line,int> throw_line; #define (:link + 1 + + 0 + + -27 + + + 2 + :)\ ::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\ ::boost::throw_file(__FILE__) <<\ ::boost::throw_line((int)__LINE__)@] + + + + + 0 + + -30 + + + + 5 + 2 + [@void (:link + 1 + + 0 + + -30 + + + 2 + :)( (:link + 1 + + 0 + + -19 + + + 2 + :) const & ep ); + + + + + 0 + + -40 + + + + 3 + 2 + [@(:link + 1 + + 0 + + -40 + + + 2 + mod="m":)();@] + + + + + 0 + + -28 + + + + 5 + 2 + [@(:link + 1 + + 0 + + -19 + + + 2 + :) (:link + 1 + + 0 + + -28 + + + 2 + :)();@] @@ -4010,7 +4039,18 @@ - 0 + 3 + 2 + [@template <class T> std::string (:link + 1 + + 0 + + -31 + + + 2 + :)( T const & x );@] @@ -4024,6 +4064,17 @@ 0 + + + 0 + + -32 + + + + 0 + + 0 @@ -4090,28 +4141,6 @@ 0 - - - 0 - - -40 - - - - 3 - 2 - [@(:link - 1 - - 0 - - -40 - - - 2 - mod="m":)();@] - - 0 @@ -4131,36 +4160,7 @@ - 7 - 2 - [@(:link - 1 - - 0 - - -42 - - - 2 - mod="m":)(); (:link - 1 - - 0 - - -42 - - - 2 - mod="m":)( (:link - 1 - - 0 - - -7 - - - 2 - :) const & x );@] + 0 @@ -4184,6 +4184,64 @@ -5 + + 11 + 2 + (:auto !!:) All exception types that derive from boost::(:link + 1 + + 0 + + -7 + + + 2 + :) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::(:link + 1 + + 0 + + -7 + + + 2 + :) at the time of the throw, or at a later time. (:include + 1 + + 0 + + -12 + + + 2 + :) (:include + 1 + + 0 + + -9 + + + 2 + :) (:include + 1 + + 0 + + -41 + + + 2 + :) + + + + + 0 + + -6 + + 25 2 @@ -4192,7 +4250,7 @@ 0 - -5 + -6 2 @@ -4201,7 +4259,7 @@ 0 - -9 + -11 2 @@ -4219,7 +4277,7 @@ 0 - -33 + -34 2 @@ -4228,7 +4286,7 @@ 0 - -5 + -6 2 @@ -4237,7 +4295,7 @@ 0 - -33 + -34 2 @@ -4246,7 +4304,7 @@ 0 - -5 + -6 2 @@ -4255,7 +4313,7 @@ 0 - -5 + -6 2 @@ -4273,7 +4331,7 @@ 0 - -9 + -11 2 @@ -4282,7 +4340,7 @@ 0 - -23 + -25 2 @@ -4291,26 +4349,13 @@ 0 - -36 + -37 2 :)>. - - - 0 - - -6 - - - - 1 - 2 - (:auto !!:) !!!Synopsis (:include synopsis:) - - 0 @@ -4344,7 +4389,7 @@ 0 - -5 + -6 2 @@ -4353,7 +4398,7 @@ 0 - -9 + -11 2 @@ -4371,7 +4416,7 @@ 0 - -23 + -25 2 @@ -4380,7 +4425,7 @@ 0 - -42 + -10 2 @@ -4398,7 +4443,7 @@ 0 - -14 + -16 2 @@ -4412,6 +4457,19 @@ -8 + + 1 + 2 + (:auto !!:) !!!Synopsis (:include synopsis:) + + + + + 0 + + -9 + + 21 2 @@ -4429,7 +4487,7 @@ 0 - -31 + -32 2 @@ -4438,7 +4496,7 @@ 0 - -5 + -6 2 @@ -4456,7 +4514,7 @@ 0 - -31 + -32 2 @@ -4465,7 +4523,7 @@ 0 - -5 + -6 2 @@ -4501,7 +4559,7 @@ 0 - -23 + -25 2 @@ -4512,7 +4570,47 @@ 0 - -9 + -10 + + + + 7 + 2 + (:auto !!!:) (:include decl:) !!!!Effects: * Default constructor: initializes an empty boost::(:link + 1 + + 0 + + -7 + + + 2 + :) object. * Copy constructor: initializes a boost::(:link + 1 + + 0 + + -7 + + + 2 + :) object which shares with x all data added through (:link + 1 + + 0 + + -11 + + + 2 + |operator<<:), including data that is added at a future time. !!!!Throws: Nothing. + + + + + 0 + + -11 @@ -4541,7 +4639,7 @@ 0 - -5 + -6 2 @@ -4552,7 +4650,7 @@ 0 - -10 + -12 @@ -4563,7 +4661,7 @@ 0 - -31 + -32 2 @@ -4572,7 +4670,7 @@ 0 - -5 + -6 2 @@ -4590,7 +4688,7 @@ 0 - -5 + -6 2 @@ -4608,7 +4706,7 @@ 0 - -9 + -11 2 @@ -4617,7 +4715,7 @@ 0 - -23 + -25 2 @@ -4626,7 +4724,7 @@ 0 - -23 + -25 2 @@ -4637,7 +4735,7 @@ 0 - -11 + -13 @@ -4650,7 +4748,7 @@ 0 - -12 + -14 @@ -4661,7 +4759,7 @@ 0 - -36 + -37 2 @@ -4679,7 +4777,7 @@ 0 - -26 + -20 2 @@ -4688,7 +4786,7 @@ 0 - -26 + -20 2 @@ -4704,140 +4802,6 @@ :). - - - 0 - - -13 - - - - 11 - 2 - (:auto !!:) All exception types that derive from boost::(:link - 1 - - 0 - - -7 - - - 2 - :) can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types. Data can be added to a boost::(:link - 1 - - 0 - - -7 - - - 2 - :) at the time of the throw, or at a later time. (:include - 1 - - 0 - - -10 - - - 2 - :) (:include - 1 - - 0 - - -8 - - - 2 - :) (:include - 1 - - 0 - - -39 - - - 2 - :) - - - - - 0 - - -14 - - - - 15 - 2 - (:auto !!!:) (:include decl:) !!!!Returns: A string representation of all data stored in the boost::(:link - 1 - - 0 - - -7 - - - 2 - :) object by the (:link - 1 - - 0 - - -9 - - - 2 - |operator<<:) function. See "(:link - 1 - - 0 - - -21 - - - 2 - mod="w":)" for details. !!!!Throws: Nothing. !!!!Notes: *The return value remains valid until the exception object from which it was obtained is destroyed or modified. *The header (:link - 1 - - 0 - - -32 - - - 2 - :) provides a namespace-scope function (:link - 1 - - 0 - - -30 - - - 2 - :) which works with any exception. If its argument can be converted to boost::(:link - 1 - - 0 - - -7 - - - 2 - :), the output from (:link - 1 - - 0 - - -14 - - - 2 - :) is combined with other implementation-defined information into a std::string. - - 0 @@ -4845,558 +4809,6 @@ -15 - - 5 - 2 - (:auto !!!:) (:include synopsis:) This type is used by the (:link - 1 - - 0 - - -16 - - - 2 - :) support in Boost Exception. Please see (:link - 1 - - 0 - - -27 - - - 2 - :). - - - - - 0 - - -16 - - - - 9 - 2 - (:auto !!!:) (:include synopsis:) The (:link - 1 - - 0 - - -16 - - - 2 - :) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link - 1 - - 0 - - -16 - - - 2 - :)'s operations do not throw. Two instances of (:link - 1 - - 0 - - -16 - - - 2 - :) are equivalent and compare equal if and only if they refer to the same exception. The default constructor of (:link - 1 - - 0 - - -16 - - - 2 - :) produces the null value of the type. The null value is equivalent only to itself. - - - - - 0 - - -17 - - - - 0 - - - - - 0 - - -18 - - - - 11 - 2 - (: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 - 1 - - 0 - - -26 - - - 2 - :) at the time of the throw is required in order to use cloning. !!!!Note: All exceptions emitted by the familiar function boost::(:link - 1 - - 0 - - -19 - - - 2 - :) are guaranteed to derive from boost::(:link - 1 - - 0 - - -7 - - - 2 - :) and to support cloning. (:include - 1 - - 0 - - -12 - - - 2 - :) (:include - 1 - - 0 - - -41 - - - 2 - :) - - - - - 0 - - -19 - - - - 13 - 2 - (:auto !!!:) (:include synopsis:) !!!!Requirements: E must derive publicly from std::exception. !!!!Effects: * If BOOST_NO_EXCEPTIONS is not defined, boost::(:link - 1 - - 0 - - -19 - - - 2 - :)(e) is equivalent to throw boost::(:link - 1 - - 0 - - -26 - - - 2 - :)(boost::(:link - 1 - - 0 - - -24 - - - 2 - :)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link - 1 - - 0 - - -19 - - - 2 - :)(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 - 1 - - 0 - - -19 - - - 2 - are allowed to assume that the function never returns; therefore, if the user-defined - 1 - - 0 - - -19 - - - 2 - returns, the behavior is undefined. - - - - - 0 - - -26 - - - - 21 - 2 - (:auto !!!:) (:include synopsis:) !!!!Requirements: T must be a class with an accessible no-throw copy constructor. !!!!Returns: An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &). !!!!Description: This function is designed to be used directly in a throw-expression to enable the (:link - 1 - - 0 - - -16 - - - 2 - :) support in Boost Exception. For example: [@class my_exception: public std::exception { }; .... throw boost::(:link - 1 - - 0 - - -26 - - - 2 - :)(my_exception());@] Unless (:link - 1 - - 0 - - -26 - - - 2 - :) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link - 1 - - 0 - - -27 - - - 2 - :) may return an (:link - 1 - - 0 - - -16 - - - 2 - :) which refers to an instance of (:link - 1 - - 0 - - -15 - - - 2 - :). See (:link - 1 - - 0 - - -27 - - - 2 - :) for details. !!!!Note: Instead of using the throw keyword directly, it is preferable to call boost::(:link - 1 - - 0 - - -19 - - - 2 - :). This is guaranteed to throw an exception that derives from boost::(:link - 1 - - 0 - - -7 - - - 2 - :) and supports the (:link - 1 - - 0 - - -16 - - - 2 - :) functionality. - - - - - 0 - - -20 - - - - 27 - 2 - (:auto !!:) Some exception hierarchies can not be modified to make boost::(:link - 1 - - 0 - - -7 - - - 2 - :) a base type. In this case, the (:link - 1 - - 0 - - -24 - - - 2 - :) function template can be used to make exception objects derive from boost::(:link - 1 - - 0 - - -7 - - - 2 - :) anyway. Here is an example: [@#include <(:link - 1 - - 0 - - -31 - - - 2 - :)> #include <stdexcept> typedef boost::(:link - 1 - - 0 - - -5 - - - 2 - :)<struct tag_std_range_min,size_t> std_range_min; typedef boost::(:link - 1 - - 0 - - -5 - - - 2 - :)<struct tag_std_range_max,size_t> std_range_max; typedef boost::(:link - 1 - - 0 - - -5 - - - 2 - :)<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 - 1 - - 0 - - -24 - - - 2 - :)(std::range_error("Index out of range")) << std_range_min(0) << std_range_max(size()) << std_range_index(i); //.... } }; @] The call to (:link - 1 - - 0 - - -24 - - - 2 - :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link - 1 - - 0 - - -7 - - - 2 - :) and T. This makes it possible to use (:link - 1 - - 0 - - -9 - - - 2 - |operator<<:) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link - 1 - - 0 - - -7 - - - 2 - :) &, so that (:link - 1 - - 0 - - -13 - - - 2 - |more information can be added to the exception at a later time:). - - - - - 0 - - -21 - - - - 21 - 2 - (:auto !!:) Class boost::(:link - 1 - - 0 - - -7 - - - 2 - :) provides a virtual member function (:link - 1 - - 0 - - -14 - - - 2 - mod="m":), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example: [@#include <(:link - 1 - - 0 - - -31 - - - 2 - :)> #include <iostream> void f(); //throws unknown types that derive from boost::(:link - 1 - - 0 - - -7 - - - 2 - :). void g() { try { f(); } catch( boost::(:link - 1 - - 0 - - -7 - - - 2 - :) & e ) { std::cerr << e.(:link - 1 - - 0 - - -14 - - - 2 - mod="m":)(); } }@] The (:link - 1 - - 0 - - -14 - - - 2 - mod="m":) member function iterates over all data objects stored in the boost::(:link - 1 - - 0 - - -7 - - - 2 - :) through (:link - 1 - - 0 - - -9 - - - 2 - |operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together. When the (:link - 1 - - 0 - - -5 - - - 2 - :)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string. Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string. Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error. - - - - - 0 - - -22 - - 5 2 @@ -5421,6 +4833,500 @@ :). !!!!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:) + + + 0 + + -16 + + + + 15 + 2 + (:auto !!!:) (:include decl:) !!!!Returns: A string representation of all data stored in the boost::(:link + 1 + + 0 + + -7 + + + 2 + :) object by the (:link + 1 + + 0 + + -11 + + + 2 + |operator<<:) function. See "(:link + 1 + + 0 + + -24 + + + 2 + mod="w":)" for details. !!!!Throws: Nothing. !!!!Notes: *The return value remains valid until the exception object from which it was obtained is destroyed or modified. *The header (:link + 1 + + 0 + + -33 + + + 2 + :) provides a namespace-scope function (:link + 1 + + 0 + + -31 + + + 2 + :) which works with any exception. If its argument can be converted to boost::(:link + 1 + + 0 + + -7 + + + 2 + :), the output from (:link + 1 + + 0 + + -16 + + + 2 + :) is combined with other implementation-defined information into a std::string. + + + + + 0 + + -17 + + + + 5 + 2 + (:auto !!!:) (:include synopsis:) This type is used by the (:link + 1 + + 0 + + -19 + + + 2 + :) support in Boost Exception. Please see (:link + 1 + + 0 + + -28 + + + 2 + :). + + + + + 0 + + -18 + + + + 27 + 2 + (:auto !!:) Some exception hierarchies can not be modified to make boost::(:link + 1 + + 0 + + -7 + + + 2 + :) a base type. In this case, the (:link + 1 + + 0 + + -26 + + + 2 + :) function template can be used to make exception objects derive from boost::(:link + 1 + + 0 + + -7 + + + 2 + :) anyway. Here is an example: [@#include <(:link + 1 + + 0 + + -32 + + + 2 + :)> #include <stdexcept> typedef boost::(:link + 1 + + 0 + + -6 + + + 2 + :)<struct tag_std_range_min,size_t> std_range_min; typedef boost::(:link + 1 + + 0 + + -6 + + + 2 + :)<struct tag_std_range_max,size_t> std_range_max; typedef boost::(:link + 1 + + 0 + + -6 + + + 2 + :)<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 + 1 + + 0 + + -26 + + + 2 + :)(std::range_error("Index out of range")) << std_range_min(0) << std_range_max(size()) << std_range_index(i); //.... } }; @] The call to (:link + 1 + + 0 + + -26 + + + 2 + :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link + 1 + + 0 + + -7 + + + 2 + :) and T. This makes it possible to use (:link + 1 + + 0 + + -11 + + + 2 + |operator<<:) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link + 1 + + 0 + + -7 + + + 2 + :) &, so that (:link + 1 + + 0 + + -5 + + + 2 + |more information can be added to the exception at a later time:). + + + + + 0 + + -19 + + + + 17 + 2 + (:auto !!!:) (:include synopsis:) The (:link + 1 + + 0 + + -19 + + + 2 + :) type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; (:link + 1 + + 0 + + -19 + + + 2 + :)'s operations do not throw. Two instances of (:link + 1 + + 0 + + -19 + + + 2 + :) are equivalent and compare equal if and only if they refer to the same exception. The default constructor of (:link + 1 + + 0 + + -19 + + + 2 + :) produces the null value of the type. The null value is equivalent only to itself. !!!!Thread safety * It is legal for multiple threads to hold (:link + 1 + + 0 + + -19 + + + 2 + :) references to the same exception object. * It is illegal for multiple threads to modify the same (:link + 1 + + 0 + + -19 + + + 2 + :) object concurrently. * While calling + 1 + + 0 + + -28 + + + 2 + makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call + 1 + + 0 + + -30 + + + 2 + to throw the same exception object concurrently into multiple threads. + + + + + 0 + + -20 + + + + 21 + 2 + (:auto !!!:) (:include synopsis:) !!!!Requirements: T must be a class with an accessible no-throw copy constructor. !!!!Returns: An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &). !!!!Description: This function is designed to be used directly in a throw-expression to enable the (:link + 1 + + 0 + + -19 + + + 2 + :) support in Boost Exception. For example: [@class my_exception: public std::exception { }; .... throw boost::(:link + 1 + + 0 + + -20 + + + 2 + :)(my_exception());@] Unless (:link + 1 + + 0 + + -20 + + + 2 + :) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link + 1 + + 0 + + -28 + + + 2 + :) may return an (:link + 1 + + 0 + + -19 + + + 2 + :) which refers to an instance of (:link + 1 + + 0 + + -17 + + + 2 + :). See (:link + 1 + + 0 + + -28 + + + 2 + :) for details. !!!!Note: Instead of using the throw keyword directly, it is preferable to call boost::(:link + 1 + + 0 + + -23 + + + 2 + :). This is guaranteed to throw an exception that derives from boost::(:link + 1 + + 0 + + -7 + + + 2 + :) and supports the (:link + 1 + + 0 + + -19 + + + 2 + :) functionality. + + + + + 0 + + -21 + + + + 0 + + + + + 0 + + -22 + + + + 11 + 2 + (: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 + 1 + + 0 + + -20 + + + 2 + :) at the time of the throw is required in order to use cloning. !!!!Note: All exceptions emitted by the familiar function boost::(:link + 1 + + 0 + + -23 + + + 2 + :) are guaranteed to derive from boost::(:link + 1 + + 0 + + -7 + + + 2 + :) and to support cloning. (:include + 1 + + 0 + + -14 + + + 2 + :) (:include + 1 + + 0 + + -42 + + + 2 + :) + + 0 @@ -5428,6 +5334,198 @@ -23 + + 13 + 2 + (:auto !!!:) (:include synopsis:) !!!!Requirements: E must derive publicly from std::exception. !!!!Effects: * If BOOST_NO_EXCEPTIONS is not defined, boost::(:link + 1 + + 0 + + -23 + + + 2 + :)(e) is equivalent to throw boost::(:link + 1 + + 0 + + -20 + + + 2 + :)(boost::(:link + 1 + + 0 + + -26 + + + 2 + :)(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::(:link + 1 + + 0 + + -23 + + + 2 + :)(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 + 1 + + 0 + + -23 + + + 2 + are allowed to assume that the function never returns; therefore, if the user-defined + 1 + + 0 + + -23 + + + 2 + returns, the behavior is undefined. + + + + + 0 + + -29 + + + + 3 + 2 + (:auto !!!:) (:include synopsis:) !!!!Effects: As if try { throw e; } catch( ... ) { return (:link + 1 + + 0 + + -28 + + + 2 + :)(); } + + + + + 0 + + -24 + + + + 21 + 2 + (:auto !!:) Class boost::(:link + 1 + + 0 + + -7 + + + 2 + :) provides a virtual member function (:link + 1 + + 0 + + -16 + + + 2 + mod="m":), with a signature similar to the familiar std::exception::what function. The default implementation returns a string value that is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example: [@#include <(:link + 1 + + 0 + + -32 + + + 2 + :)> #include <iostream> void f(); //throws unknown types that derive from boost::(:link + 1 + + 0 + + -7 + + + 2 + :). void g() { try { f(); } catch( boost::(:link + 1 + + 0 + + -7 + + + 2 + :) & e ) { std::cerr << e.(:link + 1 + + 0 + + -16 + + + 2 + mod="m":)(); } }@] The (:link + 1 + + 0 + + -16 + + + 2 + mod="m":) member function iterates over all data objects stored in the boost::(:link + 1 + + 0 + + -7 + + + 2 + :) through (:link + 1 + + 0 + + -11 + + + 2 + |operator<<:). The returned string is constructed by converting each data object to string and then concatenating these strings together. When the (:link + 1 + + 0 + + -6 + + + 2 + :)<Tag,T> template is instantiated, the system attempts overload resolution for an unqualified call to to_string(x), where x is of type T. If this is successful, the to_string overload is expected to return std::string and is used to convert objects of type T to string. Otherwise, the system attempts overload resolution for s << x, where s is a std::ostringstream and x is of type T. If this is successful, the operator<< overload is used to convert objects of type T to string. Otherwise the system is unable to convert objects of type T to string, and an unspecified stub string value is used without issuing a compile error. + + + + + 0 + + -25 + + 9 2 @@ -5436,7 +5534,7 @@ 0 - -5 + -6 2 @@ -5445,7 +5543,7 @@ 0 - -23 + -25 2 @@ -5463,7 +5561,7 @@ 0 - -9 + -11 2 @@ -5474,7 +5572,7 @@ 0 - -24 + -26 @@ -5505,7 +5603,7 @@ 0 - -25 + -27 @@ -5516,7 +5614,7 @@ 0 - -9 + -11 2 @@ -5534,7 +5632,7 @@ 0 - -5 + -6 2 @@ -5545,29 +5643,7 @@ 0 - -28 - - - - 3 - 2 - (:auto !!!:) (:include synopsis:) !!!!Effects: As if try { throw e; } catch( ... ) { return (:link - 1 - - 0 - - -27 - - - 2 - :)(); } - - - - - 0 - - -29 + -30 @@ -5580,7 +5656,29 @@ 0 - -27 + -40 + + + + 3 + 2 + (:auto !!!:) (:include decl:) !!!!Effects: Frees all resources associated with a boost::(:link + 1 + + 0 + + -7 + + + 2 + :) object. !!!!Throws: Nothing. + + + + + 0 + + -28 @@ -5591,7 +5689,7 @@ 0 - -27 + -28 2 @@ -5600,7 +5698,7 @@ 0 - -16 + -19 2 @@ -5609,7 +5707,7 @@ 0 - -16 + -19 2 @@ -5618,7 +5716,7 @@ 0 - -27 + -28 2 @@ -5627,7 +5725,7 @@ 0 - -27 + -28 2 @@ -5636,7 +5734,7 @@ 0 - -26 + -20 2 @@ -5645,7 +5743,7 @@ 0 - -26 + -20 2 @@ -5654,7 +5752,7 @@ 0 - -27 + -28 2 @@ -5663,7 +5761,7 @@ 0 - -16 + -19 2 @@ -5672,7 +5770,7 @@ 0 - -15 + -17 2 @@ -5699,7 +5797,7 @@ 0 - -15 + -17 2 @@ -5719,7 +5817,7 @@ 0 - -30 + -31 @@ -5739,39 +5837,13 @@ 0 - -14 + -16 2 :). - - - 0 - - -32 - - - - 1 - 2 - (:auto !!:) !!!Synopsis (:include synopsis:) - - - - - 0 - - -31 - - - - 1 - 2 - (:auto !!:) !!!Synopsis (:include synopsis:) - - 0 @@ -5785,6 +5857,19 @@ (:auto !!:) !!!Synopsis (:include synopsis:) + + + 0 + + -32 + + + + 1 + 2 + (:auto !!:) !!!Synopsis (:include synopsis:) + + 0 @@ -5845,7 +5930,9 @@ - 0 + 1 + 2 + (:auto !!:) !!!Synopsis (:include synopsis:) @@ -5855,6 +5942,17 @@ -39 + + 0 + + + + + 0 + + -41 + + 13 2 @@ -5863,7 +5961,7 @@ 0 - -11 + -13 2 @@ -5872,7 +5970,7 @@ 0 - -5 + -6 2 @@ -5881,7 +5979,7 @@ 0 - -5 + -6 2 @@ -5890,7 +5988,7 @@ 0 - -5 + -6 2 @@ -5908,7 +6006,7 @@ 0 - -23 + -25 2 @@ -5919,29 +6017,7 @@ 0 - -40 - - - - 3 - 2 - (:auto !!!:) (:include decl:) !!!!Effects: Frees all resources associated with a boost::(:link - 1 - - 0 - - -7 - - - 2 - :) object. !!!!Throws: Nothing. - - - - - 0 - - -41 + -42 @@ -5952,7 +6028,7 @@ 0 - -27 + -28 2 @@ -5961,7 +6037,7 @@ 0 - -16 + -19 2 @@ -5970,7 +6046,7 @@ 0 - -6 + -8 2 @@ -5988,7 +6064,7 @@ 0 - -16 + -19 2 @@ -5997,7 +6073,7 @@ 0 - -16 + -19 2 @@ -6006,7 +6082,7 @@ 0 - -27 + -28 2 @@ -6015,7 +6091,7 @@ 0 - -27 + -28 2 @@ -6024,7 +6100,7 @@ 0 - -29 + -30 2 @@ -6033,7 +6109,7 @@ 0 - -16 + -19 2 @@ -6042,7 +6118,7 @@ 0 - -29 + -30 2 @@ -6051,7 +6127,7 @@ 0 - -27 + -28 2 @@ -6060,7 +6136,7 @@ 0 - -16 + -19 2 @@ -6069,7 +6145,7 @@ 0 - -26 + -20 2 @@ -6078,7 +6154,7 @@ 0 - -16 + -19 2 @@ -6087,7 +6163,7 @@ 0 - -15 + -17 2 @@ -6096,7 +6172,7 @@ 0 - -27 + -28 2 @@ -6105,53 +6181,13 @@ 0 - -29 + -30 2 :) in the above examples is well-formed. - - - 0 - - -42 - - - - 7 - 2 - (:auto !!!:) (:include decl:) !!!!Effects: * Default constructor: initializes an empty boost::(:link - 1 - - 0 - - -7 - - - 2 - :) object. * Copy constructor: initializes a boost::(:link - 1 - - 0 - - -7 - - - 2 - :) object which shares with x all data added through (:link - 1 - - 0 - - -9 - - - 2 - |operator<<:), including data that is added at a future time. !!!!Throws: Nothing. - - @@ -6218,9 +6254,7 @@ - 1 - 2 - !!!!Throws: std::bad_alloc, or any exception emitted by the T copy constructor. + 0 @@ -6242,7 +6276,9 @@ - 0 + 1 + 2 + !!!!Throws: std::bad_alloc, or any exception emitted by the T copy constructor. @@ -6286,7 +6322,9 @@ - 0 + 1 + 2 + !!!!Throws: std::bad_alloc, or any exception emitted by T1..TN copy constructor. @@ -6333,17 +6371,6 @@ 0 - - - 0 - - -26 - - - - 0 - - 0 @@ -6374,9 +6401,7 @@ - 1 - 2 - !!!!Throws: std::bad_alloc, or any exception emitted by T1..TN copy constructor. + 0 @@ -6390,6 +6415,17 @@ 0 + + + 0 + + -29 + + + + 0 + + 0 @@ -6416,18 +6452,7 @@ 0 - -28 - - - - 0 - - - - - 0 - - -29 + -26 @@ -6460,7 +6485,18 @@ 0 - -32 + -40 + + + + 0 + + + + + 0 + + -28 @@ -6489,6 +6525,17 @@ 0 + + + 0 + + -32 + + + + 0 + + 0 @@ -6555,17 +6602,6 @@ 0 - - - 0 - - -40 - - - - 0 - - 0 @@ -6610,18 +6646,7 @@ - 3 - 2 - `#include <(:link - 1 - - 0 - - -36 - - - 2 - :)> [@namespace boost { (:include def pre_indent="4":) }@] + 0 @@ -6634,16 +6659,16 @@ 3 2 - [@#include <(:link + `#include <(:link 1 0 - -34 + -37 2 - :)> namespace boost { (:include api pre_indent="4":) }@] + :)> [@namespace boost { (:include def pre_indent="4":) }@] @@ -6661,7 +6686,7 @@ 0 - -34 + -35 2 @@ -6676,7 +6701,18 @@ - 0 + 3 + 2 + [@#include <(:link + 1 + + 0 + + -35 + + + 2 + :)> namespace boost { (:include api pre_indent="4":) }@] @@ -6687,18 +6723,7 @@ - 3 - 2 - `#include <(:link - 1 - - 0 - - -36 - - - 2 - :)>\\ [@namespace boost { (:include decl pre_indent="4":) }@] + 0 @@ -6720,9 +6745,18 @@ - 1 + 3 2 - [@#include <boost/tuple/tuple.hpp> namespace boost { (:include api pre_indent="4":) }@] + `#include <(:link + 1 + + 0 + + -37 + + + 2 + :)>\\ [@namespace boost { (:include decl pre_indent="4":) }@] @@ -6744,7 +6778,9 @@ - 0 + 1 + 2 + [@#include <boost/tuple/tuple.hpp> namespace boost { (:include api pre_indent="4":) }@] @@ -6766,18 +6802,27 @@ - 3 + 5 2 `#include <(:link 1 0 - -6 + -13 2 - :)> [@namespace boost { (:include decl pre_indent="4":) }@] + :)> [@namespace boost { (:include + 1 + + 0 + + -15 + + + 2 + decl pre_indent="4":) }@] @@ -6788,18 +6833,7 @@ - 3 - 2 - `#include <(:link - 1 - - 0 - - -6 - - - 2 - :)> [@namespace boost { (:include decl pre_indent="4":) }@] + 0 @@ -6810,7 +6844,18 @@ - 0 + 3 + 2 + `#include <(:link + 1 + + 0 + + -8 + + + 2 + :)> [@namespace boost { (:include decl pre_indent="4":) }@] @@ -6839,35 +6884,13 @@ 0 - -37 + -8 2 :)> [@namespace boost { (:include decl pre_indent="4":) }@] - - - 0 - - -26 - - - - 3 - 2 - `#include < - 1 - - 0 - - -34 - - - 2 - > [@namespace boost { (:include decl pre_indent="4":) }@] - - 0 @@ -6875,59 +6898,6 @@ -20 - - 0 - - - - - 0 - - -21 - - - - 0 - - - - - 0 - - -22 - - - - 5 - 2 - `#include <(:link - 1 - - 0 - - -11 - - - 2 - :)> [@namespace boost { (:include - 1 - - 0 - - -22 - - - 2 - decl pre_indent="4":) }@] - - - - - 0 - - -23 - - 3 2 @@ -6947,29 +6917,29 @@ 0 - -24 + -21 - 3 - 2 - `#include < - 1 - - 0 - - -34 - - - 2 - > [@namespace boost { (:include decl pre_indent="4":) }@] + 0 0 - -25 + -22 + + + + 0 + + + + + 0 + + -23 @@ -6980,29 +6950,7 @@ 0 - -36 - - - 2 - :)> [@namespace boost { (:include decl pre_indent="4":) }@] - - - - - 0 - - -28 - - - - 3 - 2 - `#include <(:link - 1 - - 0 - - -6 + -38 2 @@ -7024,13 +6972,68 @@ 0 - -6 + -8 2 :)> [@namespace boost { (:include decl pre_indent="4":) }@] + + + 0 + + -24 + + + + 0 + + + + + 0 + + -25 + + + + 3 + 2 + `#include < + 1 + + 0 + + -36 + + + 2 + > [@namespace boost { (:include decl pre_indent="4":) }@] + + + + + 0 + + -26 + + + + 3 + 2 + `#include < + 1 + + 0 + + -35 + + + 2 + > [@namespace boost { (:include decl pre_indent="4":) }@] + + 0 @@ -7046,7 +7049,7 @@ 0 - -6 + -37 2 @@ -7068,7 +7071,7 @@ 0 - -32 + -8 2 @@ -7079,13 +7082,33 @@ 0 - -32 + -40 - 1 + 0 + + + + + 0 + + -28 + + + + 3 2 - [@#include <exception> namespace boost { (:include api pre_indent="4":) }@] + `#include <(:link + 1 + + 0 + + -8 + + + 2 + :)> [@namespace boost { (:include decl pre_indent="4":) }@] @@ -7096,9 +7119,18 @@ - 1 + 3 2 - [@(:include api:)@] + `#include <(:link + 1 + + 0 + + -33 + + + 2 + :)> [@namespace boost { (:include decl pre_indent="4":) }@] @@ -7111,7 +7143,20 @@ 1 2 - [@namespace boost { (:include api pre_indent="4":) }@] + [@#include <exception> namespace boost { (:include api pre_indent="4":) }@] + + + + + 0 + + -32 + + + + 1 + 2 + [@(:include api:)@] @@ -7137,7 +7182,7 @@ 1 2 - [@#include <boost/shared_ptr.hpp> namespace boost { (:include api pre_indent="4":) }@] + [@namespace boost { (:include api pre_indent="4":) }@] @@ -7148,18 +7193,9 @@ - 3 + 1 2 - [@#include <(:link - 1 - - 0 - - -34 - - - 2 - :)> #include <boost/current_function.hpp> #include <boost/shared_ptr.hpp> namespace boost { (:include api pre_indent="4":) }@] + [@#include <boost/shared_ptr.hpp> namespace boost { (:include api pre_indent="4":) }@] @@ -7177,11 +7213,11 @@ 0 - -34 + -35 2 - :)> #include <exception> namespace boost { (:include api pre_indent="4":) }@] + :)> #include <boost/current_function.hpp> #include <boost/shared_ptr.hpp> namespace boost { (:include api pre_indent="4":) }@] @@ -7192,7 +7228,18 @@ - 0 + 3 + 2 + [@#include <(:link + 1 + + 0 + + -35 + + + 2 + :)> #include <exception> namespace boost { (:include api pre_indent="4":) }@] @@ -7206,17 +7253,6 @@ 0 - - - 0 - - -40 - - - - 0 - - 0 @@ -7302,9 +7338,6 @@ -19 - - -26 - -20 @@ -7317,6 +7350,9 @@ -23 + + -29 + -24 @@ -7324,10 +7360,7 @@ -25 - -28 - - - -29 + -26 -27 @@ -7336,7 +7369,10 @@ -30 - -32 + -40 + + + -28 -31 @@ -7344,6 +7380,9 @@ -33 + + -32 + -34 @@ -7362,9 +7401,6 @@ -39 - - -40 - -41 @@ -7390,7 +7426,7 @@ - -17 + -21 @@ -7407,7 +7443,7 @@ - -18 + -22 @@ -7424,7 +7460,7 @@ - -13 + -5 @@ -7441,7 +7477,7 @@ - -38 + -39 @@ -7465,7 +7501,7 @@ - -32 + -33 @@ -7489,7 +7525,7 @@ - -41 + -42 @@ -7517,7 +7553,7 @@ - -30 + -31 @@ -7541,7 +7577,7 @@ - -20 + -18 @@ -7565,7 +7601,7 @@ - -35 + -36 @@ -7589,7 +7625,7 @@ - -25 + -27 @@ -7617,7 +7653,7 @@ - -9 + -11 @@ -7645,7 +7681,7 @@ - -5 + -6 @@ -7669,7 +7705,7 @@ - -37 + -38 @@ -7697,7 +7733,7 @@ - -28 + -29 @@ -7725,7 +7761,7 @@ - -15 + -17 @@ -7753,7 +7789,7 @@ - -27 + -28 @@ -7781,7 +7817,7 @@ - -16 + -19 @@ -7809,7 +7845,7 @@ - -29 + -30 @@ -7837,7 +7873,7 @@ - -19 + -23 @@ -7861,7 +7897,7 @@ - -6 + -8 @@ -7889,7 +7925,7 @@ - -23 + -25 @@ -7913,7 +7949,7 @@ - -11 + -13 @@ -7937,7 +7973,7 @@ - -12 + -14 @@ -7961,7 +7997,7 @@ - -34 + -35 @@ -8021,7 +8057,7 @@ - -14 + -16 @@ -8053,7 +8089,7 @@ - -42 + -10 @@ -8109,7 +8145,7 @@ - -26 + -20 @@ -8137,7 +8173,7 @@ - -24 + -26 @@ -8161,7 +8197,7 @@ - -8 + -9 @@ -8185,7 +8221,7 @@ - -36 + -37 @@ -8209,7 +8245,7 @@ - -21 + -24 @@ -8237,7 +8273,7 @@ - -33 + -34 @@ -8265,7 +8301,7 @@ - -22 + -15 @@ -8289,7 +8325,7 @@ - -10 + -12 @@ -8313,7 +8349,7 @@ - -39 + -41 @@ -8337,7 +8373,7 @@ - -31 + -32 @@ -8368,7 +8404,7 @@ -5 - type + tutorial @@ -8377,7 +8413,7 @@ -6 - + type @@ -8395,7 +8431,7 @@ -8 - noalso noindex tutorial + @@ -8404,7 +8440,7 @@ -9 - error_info free function + noalso noindex tutorial @@ -8413,7 +8449,7 @@ -10 - noalso noindex tutorial + function @@ -8422,7 +8458,7 @@ -11 - + error_info free function @@ -8440,7 +8476,7 @@ -13 - tutorial + @@ -8449,7 +8485,7 @@ -14 - function + noalso noindex tutorial @@ -8458,7 +8494,7 @@ -15 - exception_ptr type + error_info free function @@ -8467,7 +8503,7 @@ -16 - type + function @@ -8476,7 +8512,7 @@ -17 - noindex + exception_ptr type @@ -8494,16 +8530,7 @@ -19 - free function - - - - 0 - - -26 - - - exception_ptr free function + type @@ -8512,7 +8539,7 @@ -20 - tutorial + exception_ptr free function @@ -8521,7 +8548,7 @@ -21 - diagnostic_information tutorial + noindex @@ -8530,7 +8557,7 @@ -22 - error_info free function + tutorial @@ -8539,34 +8566,7 @@ -23 - error_info free function - - - - 0 - - -24 - - - error_info free function - - - - 0 - - -25 - - - - - - - 0 - - -28 - - - exception_ptr free function + free function @@ -8577,6 +8577,33 @@ exception_ptr free function + + + 0 + + -24 + + + diagnostic_information tutorial + + + + 0 + + -25 + + + error_info free function + + + + 0 + + -26 + + + error_info free function + 0 @@ -8584,7 +8611,7 @@ -27 - exception_ptr free function + @@ -8593,16 +8620,25 @@ -30 - diagnostic_information free function + exception_ptr free function 0 - -32 + -40 - + function + + + + 0 + + -28 + + + exception_ptr free function @@ -8611,7 +8647,7 @@ -31 - + diagnostic_information free function @@ -8622,6 +8658,15 @@ + + + 0 + + -32 + + + + 0 @@ -8638,7 +8683,7 @@ -35 - error_info + @@ -8647,7 +8692,7 @@ -36 - + error_info @@ -8665,7 +8710,7 @@ -38 - index noindex + @@ -8674,16 +8719,7 @@ -39 - noalso noindex tutorial - - - - 0 - - -40 - - - function + index noindex @@ -8701,7 +8737,7 @@ -42 - function + noalso noindex tutorial