diff --git a/doc/boost_exception_diagnostic_information_hpp.html b/doc/boost_exception_diagnostic_information_hpp.html
index a27fe2d..ad550d4 100644
--- a/doc/boost_exception_diagnostic_information_hpp.html
+++ b/doc/boost_exception_diagnostic_information_hpp.html
@@ -30,7 +30,9 @@ boost
class exception ;
template <class E>
- std::string diagnostic_information ( E const & e );
+ std::string diagnostic_information ( E const & e );
+
+ std::string diagnostic_information ( exception_ptr const & p );
std::string current_exception_diagnostic_information ();
}
diff --git a/doc/current_exception_diagnostic_information.html b/doc/current_exception_diagnostic_information.html
index 6366f63..54174b7 100644
--- a/doc/current_exception_diagnostic_information.html
+++ b/doc/current_exception_diagnostic_information.html
@@ -55,6 +55,7 @@ main()
See Also:
diff --git a/doc/diagnostic_information.html b/doc/diagnostic_information.html
index 9243f46..1ec4a97 100644
--- a/doc/diagnostic_information.html
+++ b/doc/diagnostic_information.html
@@ -26,10 +26,12 @@
boost
{
template <class E>
- std::string diagnostic_information ( E const & e );
+ std::string diagnostic_information ( E const & e );
+
+ std::string diagnostic_information ( exception_ptr const & p );
}
Returns:
-A string value that contains varying amount of implementation-specific diagnostic information about the passed exception object:
+A string value that contains varying amount of implementation-specific diagnostic information about the passed object:
If E can be statically converted to boost::exception , the returned value contains the string representations of all error_info objects stored in the boost::exception through operator<< , along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.
Otherwise, if E can be statically converted std::exception:if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::exception ;
otherwise the returned value contains the what() string.
@@ -43,6 +45,17 @@ boost
Unqualified call to s << x.value (), where s is a std::ostringstream.
The first successfully bound function is used at the time diagnostic_information is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the error_info object to string, and an unspecified stub string value is used without issuing a compile error.
+The exception_ptr overload of diagnostic_information is equivalent to:
+if( p )
+ try
+ {
+ rethrow_exception (p);
+ }
+ catch(...)
+ {
+ return current_exception_diagnostic_information ();
+ }
+else return <unspecified-string-value>;
Notes:
diff --git a/doc/source/boost-exception.reno b/doc/source/boost-exception.reno
index 3d784a0..96bc310 100644
--- a/doc/source/boost-exception.reno
+++ b/doc/source/boost-exception.reno
@@ -48,6 +48,100 @@
reno_context
+
+
+
+
+
+ 2
+ CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
+ 1114955626
+ 11770
+ 723
+ 1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581
+ 3624753243
+ 279
+ 26
+
+
+
+
+
+ 0
+ ../../../../boost/exception_ptr.hpp
+ 0
+ 0
+
+
+
+
+ original_exception_type
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 6
+
+ reno_context
+
+
+
+
+
+
+ 1
+ 55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF
+ 1282550303
+ 9192
+ 323
+
+
+
+
+
+ 0
+ ../../../../boost/exception/exception.hpp
+ 0
+ 0
+
+
+
+
+ boost/exception/exception.hpp
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 7
+
+ reno_context
+
@@ -93,7 +187,7 @@
0
- 6
+ 8
reno_context
@@ -131,7 +225,7 @@
0
- 7
+ 9
reno_context
@@ -169,7 +263,7 @@
0
- 8
+ 10
reno_context
@@ -207,7 +301,7 @@
0
- 9
+ 11
reno_context
@@ -252,7 +346,7 @@
0
- 10
+ 12
reno_context
@@ -293,104 +387,6 @@
(:include include:)
(:auto also:)
-
-
- 0
-
- 11
-
- reno_context
-
-
-
-
-
-
- 2
- CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
- 1114955626
- 11770
- 723
- 1516D0B7E11CBEB60CE4222565ACCAFF2E9857A8A505C1C26E2AE90087250581
- 3624753243
- 279
- 26
-
-
-
-
-
- 0
- ../../../../boost/exception_ptr.hpp
- 0
- 0
-
-
-
-
- original_exception_type
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 12
-
- reno_context
-
-
-
-
-
-
- 2
- CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
- 1114955626
- 11770
- 723
- 0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4
- 2078296250
- 305
- 10862
-
-
-
-
-
- 0
- ../../../../boost/exception_ptr.hpp
- 0
- 0
-
-
-
-
- copy_exception
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
0
@@ -444,6 +440,55 @@
reno_context
+
+
+
+
+
+ 2
+ CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
+ 1114955626
+ 11770
+ 723
+ 0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4
+ 2078296250
+ 305
+ 10862
+
+
+
+
+
+ 0
+ ../../../../boost/exception_ptr.hpp
+ 0
+ 0
+
+
+
+
+ copy_exception
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 15
+
+ reno_context
+
@@ -489,7 +534,7 @@
0
- 15
+ 16
reno_context
@@ -534,7 +579,7 @@
0
- 16
+ 17
reno_context
@@ -587,7 +632,7 @@
0
- 17
+ 18
reno_context
@@ -625,7 +670,7 @@
0
- 18
+ 19
reno_context
@@ -668,7 +713,7 @@
0
- 19
+ 20
reno_context
@@ -677,11 +722,15 @@
- 1
+ 2
55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF
1282550303
9192
323
+ F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF
+ 3292878997
+ 282
+ 7305
@@ -695,7 +744,7 @@
- boost/exception/exception.hpp
+ enable_error_info
@@ -713,7 +762,7 @@
0
- 20
+ 21
reno_context
@@ -758,7 +807,52 @@
0
- 21
+ 22
+
+ reno_context
+
+
+
+
+
+
+ 1
+ 04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA
+ 922651615
+ 433
+ 1032
+
+
+
+
+
+ 0
+ ../../../../boost/throw_exception.hpp
+ 0
+ 0
+
+
+
+
+ BOOST_THROW_EXCEPTION
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 23
reno_context
@@ -811,7 +905,7 @@
0
- 22
+ 24
reno_context
@@ -864,7 +958,52 @@
0
- 23
+ 25
+
+ reno_context
+
+
+
+
+
+
+ 1
+ 641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1
+ 4248389286
+ 4113
+ 323
+
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+
+ boost/exception/info.hpp
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 26
reno_context
@@ -913,7 +1052,7 @@
0
- 24
+ 27
reno_context
@@ -951,7 +1090,7 @@
0
- 25
+ 28
reno_context
@@ -994,7 +1133,7 @@
0
- 26
+ 29
reno_context
@@ -1004,28 +1143,28 @@
2
- 55F1164770FD778354E151EF65A3E830DA20F325F7ED20A95130A4B83FC801BF
- 1282550303
- 9192
- 323
- F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF
- 3292878997
- 282
- 7305
+ CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
+ 1114955626
+ 11770
+ 723
+ B20A3D4631F3B2415EED1888B65FA33D7AED20F86BE196159D9297AAED115787
+ 3293519666
+ 117
+ 11169
0
- ../../../../boost/exception/exception.hpp
+ ../../../../boost/exception_ptr.hpp
0
0
- enable_error_info
+ rethrow_exception
@@ -1043,7 +1182,7 @@
0
- 27
+ 30
reno_context
@@ -1086,7 +1225,7 @@
0
- 28
+ 31
reno_context
@@ -1135,7 +1274,56 @@
0
- 29
+ 32
+
+ reno_context
+
+
+
+
+
+
+ 2
+ CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
+ 1114955626
+ 11770
+ 723
+ AF894656AC8CED6190EEEE08B051DBF2106A393E313BB5BB1C17D4808EFED761
+ 1496105832
+ 1753
+ 429
+
+
+
+
+
+ 0
+ ../../../../boost/exception_ptr.hpp
+ 0
+ 0
+
+
+
+
+ exception_ptr
+
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 33
reno_context
@@ -1173,7 +1361,7 @@
0
- 30
+ 34
reno_context
@@ -1218,7 +1406,7 @@
0
- 31
+ 35
reno_context
@@ -1267,7 +1455,7 @@
0
- 32
+ 36
reno_context
@@ -1320,101 +1508,7 @@
0
- 33
-
- reno_context
-
-
-
-
-
-
- 1
- 04DDC793002AFCF4F4166D250C67D09B6FE8B86224318ED7847AD6EC423B70CA
- 922651615
- 433
- 1032
-
-
-
-
-
- 0
- ../../../../boost/throw_exception.hpp
- 0
- 0
-
-
-
-
- BOOST_THROW_EXCEPTION
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 34
-
- reno_context
-
-
-
-
-
-
- 2
- CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
- 1114955626
- 11770
- 723
- AF894656AC8CED6190EEEE08B051DBF2106A393E313BB5BB1C17D4808EFED761
- 1496105832
- 1753
- 429
-
-
-
-
-
- 0
- ../../../../boost/exception_ptr.hpp
- 0
- 0
-
-
-
-
- exception_ptr
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 35
+ 37
reno_context
@@ -1463,7 +1557,7 @@
0
- 36
+ 38
reno_context
@@ -1512,7 +1606,7 @@
0
- 37
+ 39
reno_context
@@ -1561,7 +1655,7 @@
0
- 38
+ 40
reno_context
@@ -1610,7 +1704,7 @@
0
- 39
+ 41
reno_context
@@ -1653,56 +1747,7 @@
0
- 40
-
- reno_context
-
-
-
-
-
-
- 2
- CEB9022E39DA32E612158FF553D383E13D300D1202CEB754E28B716040EFC414
- 1114955626
- 11770
- 723
- B20A3D4631F3B2415EED1888B65FA33D7AED20F86BE196159D9297AAED115787
- 3293519666
- 117
- 11169
-
-
-
-
-
- 0
- ../../../../boost/exception_ptr.hpp
- 0
- 0
-
-
-
-
- rethrow_exception
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 41
+ 42
reno_context
@@ -1741,51 +1786,6 @@
0
-
-
- 0
-
- 42
-
- reno_context
-
-
-
-
-
-
- 1
- 641BB230CEBF638811480BE0E3A96ABCB7CC9CC7E1C1A9C51FBAB296FFB6B7B1
- 4248389286
- 4113
- 323
-
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
-
- boost/exception/info.hpp
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
0
@@ -2477,7 +2477,7 @@
0
- -7
+ -9
2
@@ -2495,7 +2495,7 @@
0
- -6
+ -8
2
@@ -2747,6 +2747,17 @@
-14
+
+ 0
+
+
+
+
+ 0
+
+ -15
+
+
9
2
@@ -2755,7 +2766,7 @@
0
- -14
+ -15
2
@@ -2764,7 +2775,7 @@
0
- -21
+ -23
2
@@ -2782,24 +2793,13 @@
0
- -22
+ -24
2
decl pre_indent="4":)
};@]
-
-
- 0
-
- -15
-
-
-
- 0
-
-
0
@@ -3198,7 +3198,7 @@
0
- -16
+ -17
2
@@ -3207,7 +3207,7 @@
0
- -37
+ -39
2
@@ -3357,18 +3357,7 @@
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -14
-
-
- 2
- decl:)@]
+ 0
@@ -3379,7 +3368,54 @@
- 0
+ 11
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ def:)
(:include
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ decl:)
typedef (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_throw_function,char const *> throw_function;
typedef (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_throw_file,char const *> throw_file;
typedef (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_throw_line,int> throw_line;@]
@@ -3390,7 +3426,18 @@
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ decl:)@]
@@ -3411,6 +3458,28 @@
-9
+
+ 0
+
+
+
+
+ 0
+
+ -10
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -11
+
+
3
2
@@ -3430,7 +3499,7 @@
0
- -10
+ -12
@@ -3441,7 +3510,7 @@
0
- -33
+ -22
2
@@ -3450,35 +3519,13 @@
0
- -36
+ -38
2
decl:)
}@]
-
-
- 0
-
- -11
-
-
-
- 0
-
-
-
-
- 0
-
- -12
-
-
-
- 0
-
-
0
@@ -3494,7 +3541,7 @@
0
- -23
+ -26
2
@@ -3519,6 +3566,17 @@
-15
+
+ 0
+
+
+
+
+ 0
+
+ -16
+
+
5
2
@@ -3527,7 +3585,7 @@
0
- -31
+ -35
2
@@ -3543,17 +3601,6 @@
decl:)@]
-
-
- 0
-
- -16
-
-
-
- 0
-
-
0
@@ -3584,54 +3631,7 @@
- 11
- 2
- [@(:include
- 1
-
- 0
-
- -50
-
-
- 2
- def:)
(:include
- 1
-
- 0
-
- -14
-
-
- 2
- decl:)
typedef (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)<struct tag_throw_function,char const *> throw_function;
typedef (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)<struct tag_throw_file,char const *> throw_file;
typedef (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)<struct tag_throw_line,int> throw_line;@]
+ 0
@@ -3641,6 +3641,17 @@
-20
+
+ 0
+
+
+
+
+ 0
+
+ -21
+
+
15
2
@@ -3649,7 +3660,7 @@
0
- -15
+ -16
2
@@ -3658,7 +3669,7 @@
0
- -5
+ -7
2
@@ -3667,7 +3678,7 @@
0
- -19
+ -6
2
@@ -3685,7 +3696,7 @@
0
- -42
+ -25
2
@@ -3694,7 +3705,7 @@
0
- -9
+ -11
2
@@ -3710,17 +3721,6 @@
:)>@]
-
-
- 0
-
- -21
-
-
-
- 0
-
-
0
@@ -3751,18 +3751,7 @@
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -26
-
-
- 2
- decl:)@]
+ 0
@@ -3773,7 +3762,27 @@
- 0
+ 5
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ def:)
(:include
+ 1
+
+ 0
+
+ -52
+
+
+ 2
+ decl:)@]
@@ -3795,7 +3804,18 @@
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ decl:)@]
@@ -3960,27 +3980,7 @@
- 5
- 2
- [@(:include
- 1
-
- 0
-
- -14
-
-
- 2
- def:)
(:include
- 1
-
- 0
-
- -52
-
-
- 2
- decl:)@]
+ 0
@@ -4108,7 +4108,7 @@
0
- -28
+ -31
2
@@ -4117,7 +4117,7 @@
0
- -11
+ -5
2
@@ -4126,7 +4126,7 @@
0
- -34
+ -32
2
@@ -4135,7 +4135,7 @@
0
- -12
+ -14
2
@@ -4144,7 +4144,7 @@
0
- -35
+ -37
2
@@ -4153,7 +4153,7 @@
0
- -40
+ -29
2
@@ -4186,7 +4186,7 @@
0
- -38
+ -40
2
@@ -4292,7 +4292,27 @@
- 0
+ 5
+ 2
+ [@typedef (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_original_exception_type,std::type_info const *>
+ 1
+
+ 0
+
+ -5
+
+
+ 2
+ ;@]
@@ -4358,27 +4378,7 @@
- 5
- 2
- [@typedef (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)<struct tag_original_exception_type,std::type_info const *>
- 1
-
- 0
-
- -11
-
-
- 2
- ;@]
+ 0
@@ -4389,27 +4389,7 @@
- 5
- 2
- [@template <class T>
(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) (:link
- 1
-
- 0
-
- -12
-
-
- 2
- :)( T const & e );@]
+ 0
@@ -4431,9 +4411,18 @@
- 3
+ 5
2
- [@template <class Tag,class T>
class (:link
+ [@template <class T>
(:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) (:link
1
0
@@ -4442,7 +4431,7 @@
2
- :);@]
+ :)( T const & e );@]
@@ -4453,7 +4442,18 @@
- 0
+ 3
+ 2
+ [@template <class Tag,class T>
class (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :);@]
@@ -4463,6 +4463,17 @@
-16
+
+ 0
+
+
+
+
+ 0
+
+ -17
+
+
7
2
@@ -4471,7 +4482,7 @@
0
- -16
+ -17
2
@@ -4480,7 +4491,7 @@
0
- -16
+ -17
2
@@ -4496,17 +4507,6 @@
:) const & x );@]
-
-
- 0
-
- -17
-
-
-
- 0
-
-
0
@@ -4537,7 +4537,18 @@
- 0
+ 3
+ 2
+ [@template <class T>
---unspecified--- (:link
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ :)( T const & x );@]
@@ -4548,18 +4559,7 @@
- 3
- 2
- [@typedef T (:link
- 1
-
- 0
-
- -21
-
-
- 2
- mod="m":);@]
+ 0
@@ -4570,18 +4570,18 @@
- 5
+ 19
2
- [@(:link
+ [@#if !defined( BOOST_EXCEPTION_DISABLE )
#include <(:link
1
0
- -21
+ -6
2
- mod="m":) const & (:link
+ :)>
#include <boost/current_function.hpp>
#define (:link
1
0
@@ -4590,7 +4590,70 @@
2
- mod="m":)() const;@]
+ :)(x)\
::boost::(:link
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ :)( ::boost::(:link
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ :)(x) <<\
::boost::(:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ |throw_function:)(BOOST_CURRENT_FUNCTION) <<\
::boost::(:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ |throw_file:)(__FILE__) <<\
::boost::(:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ |throw_line:)((int)__LINE__) )
#else
#define (:link
+ 1
+
+ 0
+
+ -22
+
+
+ 2
+ :)(x) ::boost::(:link
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ :)(x)
#endif@]
@@ -4601,18 +4664,9 @@
- 5
+ 3
2
- [@template <class ErrorInfo,class E>
typename ErrorInfo::(:link
- 1
-
- 0
-
- -21
-
-
- 2
- mod="m":) const * (:link
+ [@typedef T (:link
1
0
@@ -4621,7 +4675,7 @@
2
- :)( E const & x );@]
+ mod="m":);@]
@@ -4632,7 +4686,27 @@
- 0
+ 5
+ 2
+ [@(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ mod="m":) const & (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ mod="m":)() const;@]
@@ -4654,9 +4728,18 @@
- 3
+ 5
2
- [@template <class T>
---unspecified--- (:link
+ [@template <class ErrorInfo,class E>
typename ErrorInfo::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ mod="m":) const * (:link
1
0
@@ -4665,7 +4748,7 @@
2
- :)( T const & x );@]
+ :)( E const & x );@]
@@ -4687,27 +4770,7 @@
- 5
- 2
- [@class
(:link
- 1
-
- 0
-
- -28
-
-
- 2
- :):
public std::exception
public boost::
- 1
-
- 0
-
- -50
-
-
- 2
-
{
---unspecified---
};@]
+ 0
@@ -4718,7 +4781,27 @@
- 0
+ 5
+ 2
+ [@void (:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)( (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) const & ep );
@@ -4740,9 +4823,9 @@
- 3
+ 5
2
- [@template <class E>
std::string (:link
+ [@class
(:link
1
0
@@ -4751,7 +4834,16 @@
2
- :)( E const & e );@]
+ :):
public std::exception
public boost::
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+
{
---unspecified---
};@]
@@ -4761,111 +4853,6 @@
-32
-
- 0
-
-
-
-
- 0
-
- -33
-
-
-
- 19
- 2
- [@#if !defined( BOOST_EXCEPTION_DISABLE )
#include <(:link
- 1
-
- 0
-
- -19
-
-
- 2
- :)>
#include <boost/current_function.hpp>
#define (:link
- 1
-
- 0
-
- -33
-
-
- 2
- :)(x)\
::boost::(:link
- 1
-
- 0
-
- -36
-
-
- 2
- :)( ::boost::(:link
- 1
-
- 0
-
- -26
-
-
- 2
- :)(x) <<\
::boost::(:link
- 1
-
- 0
-
- -19
-
-
- 2
- |throw_function:)(BOOST_CURRENT_FUNCTION) <<\
::boost::(:link
- 1
-
- 0
-
- -19
-
-
- 2
- |throw_file:)(__FILE__) <<\
::boost::(:link
- 1
-
- 0
-
- -19
-
-
- 2
- |throw_line:)((int)__LINE__) )
#else
#define (:link
- 1
-
- 0
-
- -33
-
-
- 2
- :)(x) ::boost::(:link
- 1
-
- 0
-
- -36
-
-
- 2
- :)(x)
#endif@]
-
-
-
-
- 0
-
- -34
-
-
3
2
@@ -4874,7 +4861,7 @@
0
- -34
+ -32
2
@@ -4885,113 +4872,7 @@
0
- -35
-
-
-
- 5
- 2
- [@(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) (:link
- 1
-
- 0
-
- -35
-
-
- 2
- :)();@]
-
-
-
-
- 0
-
- -36
-
-
-
- 5
- 2
- [@#ifdef BOOST_NO_EXCEPTIONS
void (:link
- 1
-
- 0
-
- -36
-
-
- 2
- :)( std::exception const & e ); // user defined
#else
template <class E>
void (:link
- 1
-
- 0
-
- -36
-
-
- 2
- :)( E const & e );
#endif@]
-
-
-
-
- 0
-
- -37
-
-
-
- 3
- 2
- [@(:link
- 1
-
- 0
-
- -37
-
-
- 2
- mod="m":)();@]
-
-
-
-
- 0
-
- -38
-
-
-
- 3
- 2
- [@template <class T>
---unspecified--- (:link
- 1
-
- 0
-
- -38
-
-
- 2
- :)( T const & e );@]
-
-
-
-
- 0
-
- -39
+ -33
@@ -5002,13 +4883,159 @@
0
- -40
+ -34
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -35
+
+
+
+ 7
+ 2
+ [@template <class E>
std::string (:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)( E const & e );
std::string (:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)(
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ const & p );@]
+
+
+
+
+ 0
+
+ -36
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -37
5
2
- [@void (:link
+ [@(:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) (:link
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ :)();@]
+
+
+
+
+ 0
+
+ -38
+
+
+
+ 5
+ 2
+ [@#ifdef BOOST_NO_EXCEPTIONS
void (:link
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ :)( std::exception const & e ); // user defined
#else
template <class E>
void (:link
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ :)( E const & e );
#endif@]
+
+
+
+
+ 0
+
+ -39
+
+
+
+ 3
+ 2
+ [@(:link
+ 1
+
+ 0
+
+ -39
+
+
+ 2
+ mod="m":)();@]
+
+
+
+
+ 0
+
+ -40
+
+
+
+ 3
+ 2
+ [@template <class T>
---unspecified--- (:link
1
0
@@ -5017,16 +5044,7 @@
2
- :)( (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) const & ep );
+ :)( T const & e );@]
@@ -5086,7 +5104,7 @@
0
- -21
+ -23
2
@@ -5150,7 +5168,7 @@
0
- -14
+ -15
2
@@ -5159,7 +5177,7 @@
0
- -14
+ -15
2
@@ -5234,7 +5252,7 @@
0
- -14
+ -15
2
@@ -5383,6 +5401,55 @@
-5
+
+ 9
+ 2
+ (:auto !!!:)
(:include synopsis:)
This
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ typedef is used by
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ if it defaults to returning an
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ that refers to an object of type
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ , to record in it the std::type_info of the original exception object.
+
+
+
+
+ 0
+
+ -6
+
+
1
2
@@ -5393,7 +5460,20 @@
0
- -6
+ -7
+
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -8
@@ -5422,7 +5502,7 @@
0
- -26
+ -20
2
@@ -5440,7 +5520,7 @@
0
- -14
+ -15
2
@@ -5512,7 +5592,7 @@
0
- -36
+ -38
2
@@ -5530,7 +5610,7 @@
0
- -35
+ -37
2
@@ -5539,7 +5619,7 @@
0
- -33
+ -22
2
@@ -5548,7 +5628,7 @@
0
- -36
+ -38
2
@@ -5557,7 +5637,7 @@
0
- -31
+ -35
2
@@ -5566,7 +5646,7 @@
0
- -31
+ -35
2
@@ -5575,7 +5655,7 @@
0
- -33
+ -22
2
@@ -5584,7 +5664,7 @@
0
- -36
+ -38
2
@@ -5602,7 +5682,7 @@
0
- -36
+ -38
2
@@ -5620,7 +5700,7 @@
0
- -34
+ -32
2
@@ -5629,7 +5709,7 @@
0
- -38
+ -40
2
@@ -5638,7 +5718,7 @@
0
- -36
+ -38
2
@@ -5656,7 +5736,7 @@
0
- -14
+ -15
2
@@ -5694,7 +5774,7 @@
0
- -7
+ -9
@@ -5734,7 +5814,7 @@
0
- -8
+ -10
@@ -5743,32 +5823,6 @@
(:auto !!:)
(:pagelist fmt="index" tags="hpp" sort_prefix="6":)
-
-
- 0
-
- -9
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -10
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
0
@@ -5777,45 +5831,9 @@
- 9
+ 1
2
- (:auto !!!:)
(:include synopsis:)
This
- 1
-
- 0
-
- -14
-
-
- 2
- typedef is used by
- 1
-
- 0
-
- -35
-
-
- 2
- if it defaults to returning an
- 1
-
- 0
-
- -34
-
-
- 2
- that refers to an object of type
- 1
-
- 0
-
- -28
-
-
- 2
- , to record in it the std::type_info of the original exception object.
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -5826,27 +5844,9 @@
- 5
+ 1
2
- (:auto !!!:)
(:include synopsis:)
!!!!Effects:
As if
[@try
{
throw
- 1
-
- 0
-
- -38
-
-
- 2
- (e);
}
catch(...)
{
return (:link
- 1
-
- 0
-
- -35
-
-
- 2
- :)();
}@]
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -5869,6 +5869,37 @@
-14
+
+ 5
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Effects:
As if
[@try
{
throw
+ 1
+
+ 0
+
+ -40
+
+
+ 2
+ (e);
}
catch(...)
{
return (:link
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ :)();
}@]
+
+
+
+
+ 0
+
+ -15
+
+
37
2
@@ -5877,7 +5908,7 @@
0
- -14
+ -15
2
@@ -5904,7 +5935,7 @@
0
- -5
+ -7
2
@@ -5913,7 +5944,7 @@
0
- -14
+ -15
2
@@ -5922,7 +5953,7 @@
0
- -5
+ -7
2
@@ -5931,7 +5962,7 @@
0
- -14
+ -15
2
@@ -5940,7 +5971,7 @@
0
- -5
+ -7
2
@@ -5949,7 +5980,7 @@
0
- -14
+ -15
2
@@ -5967,7 +5998,7 @@
0
- -42
+ -25
2
@@ -5994,7 +6025,7 @@
0
- -23
+ -26
2
@@ -6030,7 +6061,7 @@
0
- -23
+ -26
2
@@ -6041,7 +6072,7 @@
0
- -15
+ -16
@@ -6054,7 +6085,7 @@
0
- -16
+ -17
@@ -6094,7 +6125,7 @@
0
- -17
+ -18
@@ -6105,7 +6136,7 @@
0
- -38
+ -40
2
@@ -6114,7 +6145,7 @@
0
- -36
+ -38
2
@@ -6132,7 +6163,7 @@
0
- -18
+ -19
2
@@ -6141,7 +6172,7 @@
0
- -41
+ -42
2
@@ -6152,7 +6183,7 @@
0
- -18
+ -19
@@ -6163,7 +6194,7 @@
0
- -42
+ -25
2
@@ -6181,7 +6212,7 @@
0
- -38
+ -40
2
@@ -6190,7 +6221,7 @@
0
- -38
+ -40
2
@@ -6206,19 +6237,6 @@
:).
-
-
- 0
-
- -19
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
0
@@ -6226,183 +6244,6 @@
-20
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -21
-
-
-
- 5
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Definition:
The expression
- 1
-
- 0
-
- -14
-
-
- 2
- <Tag,T>::(:link
- 1
-
- 0
-
- -21
-
-
- 2
- mod="m":) evaluates to T.
-
-
-
-
- 0
-
- -22
-
-
-
- 5
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Description:
Returns a const reference to the copy of the value passed to (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)'s constructor stored in the (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :) object.
!!!!Throws:
Nothing.
-
-
-
-
- 0
-
- -23
-
-
-
- 13
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
* ErrorInfo must be an instance of the (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :) template.
* E must be polymorphic.
!!!!Returns:
* If dynamic_cast<boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) 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
- 1
-
- 0
-
- -52
-
-
- 2
- mod="/":) to store values in exception objects.) When x is destroyed, any pointers returned by (:link
- 1
-
- 0
-
- -23
-
-
- 2
- :) become invalid.
!!!!Throws:
Nothing.
!!!!Note:
The interface of (:link
- 1
-
- 0
-
- -23
-
-
- 2
- :) may be affected by the build (:link
- 1
-
- 0
-
- -32
-
-
- 2
- :).
-
-
-
-
- 0
-
- -24
-
-
-
- 1
- 2
- (:auto !!!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -25
-
-
-
- 3
- 2
- !!!!Example:
this is a possible output from the (:link
- 1
-
- 0
-
- -31
-
-
- 2
- :) function, as used in ''libs/exception/example/example_io.cpp:''
[@example_io.cpp(83): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct tag_errno *] = 2, OS says "No such file or directory"
[struct tag_file_name *] = tmp1.txt
[struct tag_function *] = fopen
[struct tag_open_mode *] = rb@]
-
-
-
-
- 0
-
- -26
-
-
5
2
@@ -6427,6 +6268,201 @@
:). The T sub-object is initialized from x by the T copy constructor.
!!!!Throws:
Nothing.
+
+
+ 0
+
+ -21
+
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -22
+
+
+
+ 7
+ 2
+ (:auto !!!:)
(:include synopsis:)
This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ . To recover this information at the catch site, use
+ 1
+
+ 0
+
+ -26
+
+
+ 2
+ ; the information is also included in the message returned by
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ .
+
+
+
+
+ 0
+
+ -23
+
+
+
+ 5
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Definition:
The expression
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ <Tag,T>::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ mod="m":) evaluates to T.
+
+
+
+
+ 0
+
+ -24
+
+
+
+ 5
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Description:
Returns a const reference to the copy of the value passed to (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)'s constructor stored in the (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :) object.
!!!!Throws:
Nothing.
+
+
+
+
+ 0
+
+ -25
+
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -26
+
+
+
+ 13
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
* ErrorInfo must be an instance of the (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :) template.
* E must be polymorphic.
!!!!Returns:
* If dynamic_cast<boost::(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) 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
+ 1
+
+ 0
+
+ -52
+
+
+ 2
+ mod="/":) to store values in exception objects.) When x is destroyed, any pointers returned by (:link
+ 1
+
+ 0
+
+ -26
+
+
+ 2
+ :) become invalid.
!!!!Throws:
Nothing.
!!!!Note:
The interface of (:link
+ 1
+
+ 0
+
+ -26
+
+
+ 2
+ :) may be affected by the build (:link
+ 1
+
+ 0
+
+ -36
+
+
+ 2
+ :).
+
+
0
@@ -6434,6 +6470,54 @@
-27
+
+ 1
+ 2
+ (:auto !!!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -28
+
+
+
+ 3
+ 2
+ !!!!Example:
this is a possible output from the (:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :) function, as used in ''libs/exception/example/example_io.cpp:''
[@example_io.cpp(83): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct tag_errno *] = 2, OS says "No such file or directory"
[struct tag_file_name *] = tmp1.txt
[struct tag_function *] = fopen
[struct tag_open_mode *] = rb@]
+
+
+
+
+ 0
+
+ -29
+
+
+
+ 1
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Precondition:
ep shall not be null.
!!!!Throws:
The exception to which ep refers.
+
+
+
+
+ 0
+
+ -30
+
+
17
2
@@ -6442,7 +6526,7 @@
0
- -20
+ -21
2
@@ -6451,7 +6535,7 @@
0
- -14
+ -15
2
@@ -6469,7 +6553,7 @@
0
- -14
+ -15
2
@@ -6496,7 +6580,7 @@
0
- -23
+ -26
2
@@ -6505,7 +6589,7 @@
0
- -23
+ -26
2
@@ -6516,7 +6600,7 @@
0
- -28
+ -31
@@ -6527,7 +6611,7 @@
0
- -34
+ -32
2
@@ -6536,7 +6620,7 @@
0
- -35
+ -37
2
@@ -6547,7 +6631,128 @@
0
- -29
+ -32
+
+
+
+ 25
+ 2
+ (:auto !!!:)
(:include synopsis:)
The (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 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
+
+ -32
+
+
+ 2
+ :)'s operations do not throw.
The referenced object remains valid at least as long as there is an (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) object that refers to it.
Two instances of (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) are equivalent and compare equal if and only if they refer to the same exception.
The default constructor of (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 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
+
+ -32
+
+
+ 2
+ :) references to the same exception object.
* It is illegal for multiple threads to modify the same (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) object concurrently.
* While calling (:link
+ 1
+
+ 0
+
+ -37
+
+
+ 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 (:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :) concurrently to throw the same exception object into multiple threads.
!!!!Nesting of exceptions:
An (:link
+ 1
+
+ 0
+
+ -32
+
+
+ 2
+ :) can be added as (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :) to any boost::(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :). 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.
+
+
+
+
+ 0
+
+ -33
@@ -6560,7 +6765,7 @@
0
- -30
+ -34
@@ -6571,7 +6776,7 @@
0
- -31
+ -35
2
@@ -6607,7 +6812,7 @@
0
- -20
+ -21
2
@@ -6634,7 +6839,7 @@
0
- -31
+ -35
2
@@ -6643,7 +6848,7 @@
0
- -25
+ -28
2
@@ -6654,13 +6859,13 @@
0
- -31
+ -35
- 29
+ 37
2
- (:auto !!!:)
(:include synopsis:)
!!!!Returns:
A string value that contains varying amount of implementation-specific diagnostic information about the passed exception object:
*If E can be statically converted to boost::(:link
+ (: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
1
0
@@ -6674,7 +6879,7 @@
0
- -14
+ -15
2
@@ -6705,21 +6910,21 @@
2
- :);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::
+ :);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link
1
0
- -31
+ -35
2
- template is not available.
The string representation of each (:link
+ :) template is not available.
The string representation of each (:link
1
0
- -14
+ -15
2
@@ -6728,7 +6933,7 @@
0
- -14
+ -15
2
@@ -6737,7 +6942,7 @@
0
- -14
+ -15
2
@@ -6746,7 +6951,7 @@
0
- -22
+ -24
2
@@ -6755,7 +6960,7 @@
0
- -22
+ -24
2
@@ -6764,7 +6969,7 @@
0
- -31
+ -35
2
@@ -6773,27 +6978,63 @@
0
- -14
+ -15
2
- :) object to string, and ''an unspecified stub string value is used without issuing a compile error.''
!!!!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
+ :) object to string, and ''an unspecified stub string value is used without issuing a compile error.''
The
1
0
- -25
+ -32
2
- :)
+ overload of
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ is equivalent to:
[@if( p )
try
{
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ (p);
}
catch(...)
{
return
+ 1
+
+ 0
+
+ -60
+
+
+ 2
+ ();
}
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
+ 1
+
+ 0
+
+ -28
+
+
+ 2
+ :)
0
- -32
+ -36
@@ -6804,7 +7045,7 @@
0
- -23
+ -26
2
@@ -6813,7 +7054,7 @@
0
- -23
+ -26
2
@@ -6831,7 +7072,7 @@
0
- -38
+ -40
2
@@ -6840,7 +7081,7 @@
0
- -26
+ -20
2
@@ -6849,7 +7090,7 @@
0
- -36
+ -38
2
@@ -6858,7 +7099,7 @@
0
- -10
+ -12
2
@@ -6867,7 +7108,7 @@
0
- -36
+ -38
2
@@ -6876,7 +7117,7 @@
0
- -31
+ -35
2
@@ -6887,168 +7128,7 @@
0
- -33
-
-
-
- 7
- 2
- (:auto !!!:)
(:include synopsis:)
This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to
- 1
-
- 0
-
- -36
-
-
- 2
- . To recover this information at the catch site, use
- 1
-
- 0
-
- -23
-
-
- 2
- ; the information is also included in the message returned by
- 1
-
- 0
-
- -31
-
-
- 2
- .
-
-
-
-
- 0
-
- -34
-
-
-
- 25
- 2
- (:auto !!!:)
(:include synopsis:)
The (:link
- 1
-
- 0
-
- -34
-
-
- 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
-
- -34
-
-
- 2
- :)'s operations do not throw.
The referenced object remains valid at least as long as there is an (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) object that refers to it.
Two instances of (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) are equivalent and compare equal if and only if they refer to the same exception.
The default constructor of (:link
- 1
-
- 0
-
- -34
-
-
- 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
-
- -34
-
-
- 2
- :) references to the same exception object.
* It is illegal for multiple threads to modify the same (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) object concurrently.
* While calling (:link
- 1
-
- 0
-
- -35
-
-
- 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 (:link
- 1
-
- 0
-
- -40
-
-
- 2
- :) concurrently to throw the same exception object into multiple threads.
!!!!Nesting of exceptions:
An (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) can be added as (:link
- 1
-
- 0
-
- -14
-
-
- 2
- :) to any boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :). 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.
-
-
-
-
- 0
-
- -35
+ -37
@@ -7059,7 +7139,7 @@
0
- -35
+ -37
2
@@ -7068,7 +7148,7 @@
0
- -34
+ -32
2
@@ -7077,7 +7157,7 @@
0
- -34
+ -32
2
@@ -7086,7 +7166,7 @@
0
- -35
+ -37
2
@@ -7095,7 +7175,7 @@
0
- -35
+ -37
2
@@ -7104,7 +7184,7 @@
0
- -38
+ -40
2
@@ -7113,7 +7193,7 @@
0
- -35
+ -37
2
@@ -7122,7 +7202,7 @@
0
- -34
+ -32
2
@@ -7131,7 +7211,7 @@
0
- -28
+ -31
2
@@ -7167,7 +7247,7 @@
0
- -34
+ -32
2
@@ -7185,7 +7265,7 @@
0
- -23
+ -26
2
@@ -7194,7 +7274,7 @@
0
- -11
+ -5
2
@@ -7205,7 +7285,7 @@
0
- -36
+ -38
@@ -7216,7 +7296,7 @@
0
- -36
+ -38
2
@@ -7225,7 +7305,7 @@
0
- -38
+ -40
2
@@ -7234,7 +7314,7 @@
0
- -26
+ -20
2
@@ -7243,7 +7323,7 @@
0
- -36
+ -38
2
@@ -7252,7 +7332,7 @@
0
- -36
+ -38
2
@@ -7261,7 +7341,7 @@
0
- -36
+ -38
2
@@ -7270,7 +7350,7 @@
0
- -23
+ -26
2
@@ -7279,7 +7359,7 @@
0
- -31
+ -35
2
@@ -7290,7 +7370,7 @@
0
- -37
+ -39
@@ -7312,7 +7392,7 @@
0
- -38
+ -40
@@ -7323,7 +7403,7 @@
0
- -34
+ -32
2
@@ -7332,7 +7412,7 @@
0
- -38
+ -40
2
@@ -7341,7 +7421,7 @@
0
- -38
+ -40
2
@@ -7350,7 +7430,7 @@
0
- -35
+ -37
2
@@ -7359,7 +7439,7 @@
0
- -34
+ -32
2
@@ -7368,7 +7448,7 @@
0
- -28
+ -31
2
@@ -7377,7 +7457,7 @@
0
- -35
+ -37
2
@@ -7386,7 +7466,7 @@
0
- -36
+ -38
2
@@ -7404,7 +7484,7 @@
0
- -34
+ -32
2
@@ -7415,7 +7495,7 @@
0
- -39
+ -41
@@ -7426,7 +7506,7 @@
0
- -9
+ -11
2
@@ -7435,7 +7515,7 @@
0
- -14
+ -15
2
@@ -7444,7 +7524,7 @@
0
- -14
+ -15
2
@@ -7453,7 +7533,7 @@
0
- -14
+ -15
2
@@ -7471,7 +7551,7 @@
0
- -23
+ -26
2
@@ -7482,20 +7562,7 @@
0
- -40
-
-
-
- 1
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Precondition:
ep shall not be null.
!!!!Throws:
The exception to which ep refers.
-
-
-
-
- 0
-
- -41
+ -42
@@ -7506,7 +7573,7 @@
0
- -35
+ -37
2
@@ -7515,7 +7582,7 @@
0
- -34
+ -32
2
@@ -7542,7 +7609,7 @@
0
- -34
+ -32
2
@@ -7551,7 +7618,7 @@
0
- -34
+ -32
2
@@ -7560,7 +7627,7 @@
0
- -35
+ -37
2
@@ -7569,7 +7636,7 @@
0
- -35
+ -37
2
@@ -7578,7 +7645,7 @@
0
- -40
+ -29
2
@@ -7587,7 +7654,7 @@
0
- -34
+ -32
2
@@ -7596,7 +7663,7 @@
0
- -40
+ -29
2
@@ -7605,7 +7672,7 @@
0
- -35
+ -37
2
@@ -7614,7 +7681,7 @@
0
- -34
+ -32
2
@@ -7623,7 +7690,7 @@
0
- -38
+ -40
2
@@ -7632,7 +7699,7 @@
0
- -34
+ -32
2
@@ -7641,7 +7708,7 @@
0
- -28
+ -31
2
@@ -7650,7 +7717,7 @@
0
- -35
+ -37
2
@@ -7659,26 +7726,13 @@
0
- -40
+ -29
2
:) in the above examples is well-formed.
-
-
- 0
-
- -42
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
0
@@ -7707,7 +7761,7 @@
0
- -14
+ -15
2
@@ -7738,7 +7792,7 @@
0
- -7
+ -9
2
@@ -7760,7 +7814,7 @@
0
- -19
+ -6
2
@@ -7769,7 +7823,7 @@
0
- -19
+ -6
2
@@ -7778,7 +7832,7 @@
0
- -5
+ -7
2
@@ -7787,7 +7841,7 @@
0
- -5
+ -7
2
@@ -7796,7 +7850,7 @@
0
- -42
+ -25
2
@@ -7805,7 +7859,7 @@
0
- -42
+ -25
2
@@ -7814,7 +7868,7 @@
0
- -9
+ -11
2
@@ -7823,7 +7877,7 @@
0
- -9
+ -11
2
@@ -7832,7 +7886,7 @@
0
- -24
+ -27
2
@@ -7841,7 +7895,7 @@
0
- -24
+ -27
2
@@ -7850,7 +7904,7 @@
0
- -15
+ -16
2
@@ -7859,7 +7913,7 @@
0
- -15
+ -16
2
@@ -7922,7 +7976,7 @@
0
- -10
+ -12
2
@@ -7931,7 +7985,7 @@
0
- -10
+ -12
2
@@ -7940,7 +7994,7 @@
0
- -20
+ -21
2
@@ -7949,7 +8003,7 @@
0
- -20
+ -21
2
@@ -7980,7 +8034,7 @@
0
- -26
+ -20
2
@@ -7998,7 +8052,7 @@
0
- -20
+ -21
2
@@ -8007,7 +8061,7 @@
0
- -14
+ -15
2
@@ -8016,7 +8070,7 @@
0
- -14
+ -15
2
@@ -8025,7 +8079,7 @@
0
- -14
+ -15
2
@@ -8034,7 +8088,7 @@
0
- -26
+ -20
2
@@ -8043,7 +8097,7 @@
0
- -26
+ -20
2
@@ -8150,7 +8204,7 @@
0
- -27
+ -30
2
@@ -8168,7 +8222,7 @@
0
- -39
+ -41
2
@@ -8208,7 +8262,7 @@
0
- -14
+ -15
2
@@ -8235,7 +8289,7 @@
0
- -23
+ -26
2
@@ -8266,7 +8320,7 @@
0
- -20
+ -21
2
@@ -8275,7 +8329,7 @@
0
- -14
+ -15
2
@@ -8293,7 +8347,7 @@
0
- -20
+ -21
2
@@ -8302,7 +8356,7 @@
0
- -14
+ -15
2
@@ -8369,7 +8423,7 @@
0
- -14
+ -15
2
@@ -8474,7 +8528,7 @@
0
- -14
+ -15
2
@@ -8501,7 +8555,7 @@
0
- -14
+ -15
2
@@ -8555,7 +8609,7 @@
0
- -23
+ -26
2
@@ -8564,7 +8618,7 @@
0
- -23
+ -26
2
@@ -8573,7 +8627,7 @@
0
- -31
+ -35
2
@@ -8582,7 +8636,7 @@
0
- -14
+ -15
2
@@ -8613,7 +8667,7 @@
0
- -17
+ -18
2
@@ -8622,7 +8676,7 @@
0
- -36
+ -38
2
@@ -8658,7 +8712,7 @@
0
- -17
+ -18
2
@@ -8667,7 +8721,7 @@
0
- -7
+ -9
2
@@ -8685,7 +8739,7 @@
0
- -30
+ -34
2
@@ -8703,7 +8757,7 @@
0
- -33
+ -22
2
@@ -8712,7 +8766,7 @@
0
- -36
+ -38
2
@@ -8721,7 +8775,7 @@
0
- -14
+ -15
2
@@ -8748,7 +8802,7 @@
0
- -23
+ -26
2
@@ -8757,7 +8811,7 @@
0
- -26
+ -20
2
@@ -8766,34 +8820,7 @@
0
- -34
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -38
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -35
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -12
+ -32
2
@@ -8811,7 +8838,34 @@
0
- -28
+ -37
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -31
2
@@ -8820,7 +8874,7 @@
0
- -31
+ -35
2
@@ -8856,7 +8910,7 @@
0
- -8
+ -10
2
@@ -8883,7 +8937,7 @@
0
- -29
+ -33
2
@@ -8892,7 +8946,7 @@
0
- -32
+ -36
2
@@ -8901,7 +8955,7 @@
0
- -6
+ -8
2
@@ -8941,7 +8995,7 @@
0
- -31
+ -35
2
@@ -9648,9 +9702,18 @@
- 1
+ 3
2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+ `#include <
+ 1
+
+ 0
+
+ -53
+
+
+ 2
+ >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -9661,7 +9724,9 @@
- 0
+ 1
+ 2
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -9672,7 +9737,9 @@
- 0
+ 1
+ 2
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -9694,18 +9761,7 @@
- 3
- 2
- [@#include <
- 1
-
- 0
-
- -42
-
-
- 2
- >
#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ 0
@@ -9716,9 +9772,7 @@
- 1
- 2
- (:include api:)
+ 0
@@ -9731,16 +9785,16 @@
3
2
- `#include <
+ [@#include <
1
0
- -53
+ -25
2
- >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ >
#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -9751,18 +9805,9 @@
- 3
+ 1
2
- `#include <(:link
- 1
-
- 0
-
- -53
-
-
- 2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ (:include api:)
@@ -9793,7 +9838,29 @@
0
- -42
+ -53
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
+
+
+
+ 0
+
+ -15
+
+
+
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -25
2
@@ -9804,7 +9871,7 @@
0
- -15
+ -16
@@ -9822,17 +9889,6 @@
decl pre_indent="4":)
(:include api pre_indent="4":)
}@]
-
-
- 0
-
- -16
-
-
-
- 0
-
-
0
@@ -9863,9 +9919,7 @@
- 1
- 2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+ 0
@@ -9875,34 +9929,34 @@
-20
+
+ 3
+ 2
+ `#include <
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
+
+
+
+ 0
+
+ -21
+
+
1
2
[@(:include api:)@]
-
-
- 0
-
- -21
-
-
-
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -42
-
-
- 2
- :)>
[@(:include decl:)@]
-
-
0
@@ -9913,16 +9967,16 @@
3
2
- `#include <(:link
+ `#include <
1
0
- -42
+ -12
2
- :)>
[@(:include decl:)@]
+ >
(:include decl:)
@@ -9933,9 +9987,18 @@
- 1
+ 3
2
- [@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ `#include <(:link
+ 1
+
+ 0
+
+ -25
+
+
+ 2
+ :)>
[@(:include decl:)@]
@@ -9948,16 +10011,16 @@
3
2
- [@#include <
+ `#include <(:link
1
0
- -19
+ -25
2
- >
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ :)>
[@(:include decl:)@]
@@ -9968,7 +10031,18 @@
- 0
+ 3
+ 2
+ [@#include <(:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -9979,18 +10053,9 @@
- 3
+ 1
2
- `#include <
- 1
-
- 0
-
- -24
-
-
- 2
- >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ [@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -10001,7 +10066,18 @@
- 0
+ 3
+ 2
+ [@#include <
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ >
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -10011,6 +10087,17 @@
-28
+
+ 0
+
+
+
+
+ 0
+
+ -29
+
+
3
2
@@ -10026,17 +10113,6 @@
:)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
-
-
- 0
-
- -29
-
-
-
- 0
-
-
0
@@ -10063,11 +10139,11 @@
0
- -15
+ -53
2
- :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -10077,39 +10153,6 @@
-32
-
- 0
-
-
-
-
- 0
-
- -33
-
-
-
- 3
- 2
- `#include <
- 1
-
- 0
-
- -10
-
-
- 2
- >
(:include decl:)
-
-
-
-
- 0
-
- -34
-
-
3
2
@@ -10125,6 +10168,28 @@
:)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
+
+ 0
+
+ -33
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -34
+
+
+
+ 0
+
+
0
@@ -10140,11 +10205,11 @@
0
- -53
+ -16
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -10155,18 +10220,7 @@
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -10
-
-
- 2
- :)>
[@namespace
boost
{
(:include decl:)
}@]
+ 0
@@ -10177,7 +10231,18 @@
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -53
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -10190,16 +10255,16 @@
3
2
- `#include <
+ `#include <(:link
1
0
- -55
+ -12
2
- >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>
[@namespace
boost
{
(:include decl:)
}@]
@@ -10223,16 +10288,16 @@
3
2
- `#include <(:link
+ `#include <
1
0
- -53
+ -55
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -10254,18 +10319,7 @@
- 3
- 2
- [@#include <(:link
- 1
-
- 0
-
- -19
-
-
- 2
- :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ 0
@@ -10294,7 +10348,7 @@
0
- -42
+ -25
2
@@ -10349,7 +10403,7 @@
0
- -9
+ -11
2
@@ -10391,7 +10445,7 @@
0
- -19
+ -6
2
@@ -10424,7 +10478,7 @@
0
- -42
+ -25
2
@@ -10446,7 +10500,7 @@
0
- -19
+ -6
2
@@ -10490,7 +10544,7 @@
0
- -19
+ -6
2
@@ -10558,7 +10612,7 @@
0
- -15
+ -16
2
@@ -10801,7 +10855,7 @@
- -17
+ -18
@@ -10852,7 +10906,7 @@
- -24
+ -27
@@ -10920,41 +10974,7 @@
- -7
-
-
-
-
-
-
- 0
-
-
-
-
-
- 1
-
-
-
- -6
-
-
-
-
-
-
- 0
-
-
-
-
-
- 1
-
-
-
- -43
+ -9
@@ -10974,6 +10994,40 @@
-8
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+ -43
+
+
+
+
+
+
+ 0
+
+
+
+
+
+ 1
+
+
+
+ -10
+
+
@@ -11005,7 +11059,7 @@
- -29
+ -33
@@ -11046,7 +11100,7 @@
- -15
+ -16
@@ -11098,7 +11152,7 @@
- -28
+ -31
@@ -11126,7 +11180,7 @@
- -35
+ -37
@@ -11154,7 +11208,7 @@
- -34
+ -32
@@ -11182,7 +11236,7 @@
- -11
+ -5
@@ -11210,7 +11264,7 @@
- -40
+ -29
@@ -11238,7 +11292,7 @@
- -12
+ -14
@@ -11262,7 +11316,7 @@
- -41
+ -42
@@ -11286,7 +11340,7 @@
- -25
+ -28
@@ -11422,7 +11476,7 @@
- -23
+ -26
@@ -11450,7 +11504,7 @@
- -31
+ -35
@@ -11502,7 +11556,7 @@
- -30
+ -34
@@ -11526,7 +11580,7 @@
- -20
+ -21
@@ -11550,7 +11604,7 @@
- -27
+ -30
@@ -11578,7 +11632,7 @@
- -36
+ -38
@@ -11610,7 +11664,7 @@
- -32
+ -36
@@ -11662,7 +11716,7 @@
- -14
+ -15
@@ -11694,7 +11748,7 @@
- -21
+ -23
@@ -11726,7 +11780,7 @@
- -22
+ -24
@@ -11774,7 +11828,7 @@
- -42
+ -25
@@ -11798,7 +11852,7 @@
- -19
+ -6
@@ -11826,7 +11880,7 @@
- -37
+ -39
@@ -11854,7 +11908,7 @@
- -38
+ -40
@@ -11882,7 +11936,7 @@
- -26
+ -20
@@ -11942,7 +11996,7 @@
- -16
+ -17
@@ -11966,7 +12020,7 @@
- -9
+ -11
@@ -11990,7 +12044,7 @@
- -18
+ -19
@@ -12014,7 +12068,7 @@
- -33
+ -22
@@ -12038,7 +12092,7 @@
- -10
+ -12
@@ -12090,7 +12144,7 @@
- -5
+ -7
@@ -12142,7 +12196,7 @@
- -39
+ -41
@@ -12173,13 +12227,13 @@
-5
-
+ type
0
- -9
+ -6
@@ -12188,7 +12242,7 @@
0
- -10
+ -7
@@ -12200,7 +12254,7 @@
-11
- type
+
@@ -12209,7 +12263,7 @@
-12
- exception_ptr free function
+
@@ -12227,7 +12281,7 @@
-14
- type
+ exception_ptr free function
@@ -12236,7 +12290,7 @@
-15
-
+ type
@@ -12245,7 +12299,7 @@
-16
- function
+
@@ -12254,7 +12308,7 @@
-17
- tutorial
+ function
@@ -12263,7 +12317,7 @@
-18
- noindex tutorial
+ tutorial
@@ -12272,7 +12326,7 @@
-19
-
+ noindex tutorial
@@ -12281,7 +12335,7 @@
-20
-
+ error_info free function
@@ -12290,7 +12344,7 @@
-21
- type
+
@@ -12299,7 +12353,7 @@
-22
- function member
+ macro
@@ -12308,7 +12362,7 @@
-23
- error_info free function
+ type
@@ -12317,7 +12371,16 @@
-24
- error_info
+ function member
+
+
+
+ 0
+
+ -25
+
+
+
@@ -12335,16 +12398,16 @@
-27
- noalso noindex tutorial
+ error_info
0
- -28
+ -29
- exception_ptr type
+ exception_ptr free function
@@ -12353,7 +12416,7 @@
-30
- diagnostic_information tutorial
+ noalso noindex tutorial
@@ -12362,22 +12425,13 @@
-31
- diagnostic_information free function
+ exception_ptr type
0
- -33
-
-
- macro
-
-
-
- 0
-
- -34
+ -32
type
@@ -12386,19 +12440,19 @@
0
- -35
+ -34
- exception_ptr free function
+ diagnostic_information tutorial
0
- -36
+ -35
- free function
+ diagnostic_information free function
@@ -12407,7 +12461,7 @@
-37
- function
+ exception_ptr free function
@@ -12416,7 +12470,7 @@
-38
- exception_ptr free function
+ free function
@@ -12425,7 +12479,7 @@
-39
- noalso noindex tutorial
+ function
@@ -12443,7 +12497,7 @@
-41
- noindex tutorial
+ noalso noindex tutorial
@@ -12452,7 +12506,7 @@
-42
-
+ noindex tutorial
diff --git a/doc/synopsis.html b/doc/synopsis.html
index 2cfce46..c617031 100644
--- a/doc/synopsis.html
+++ b/doc/synopsis.html
@@ -102,7 +102,9 @@ boost
class exception ;
template <class E>
- std::string diagnostic_information ( E const & e );
+ std::string diagnostic_information ( E const & e );
+
+ std::string diagnostic_information ( exception_ptr const & p );
std::string current_exception_diagnostic_information ();
}