diff --git a/doc/source/boost-exception.reno b/doc/source/boost-exception.reno
index d7dd957..f4f200a 100644
--- a/doc/source/boost-exception.reno
+++ b/doc/source/boost-exception.reno
@@ -56,608 +56,6 @@
reno_context
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 6
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 7
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 8
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 9
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 10
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 11
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 12
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 13
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
-
-
-
-
- 0
-
- 14
-
- reno_context
-
-
-
-
-
- 1
- 2
- !!!boost/exception.hpp
This header file includes all other header files of Boost Exception:
(:pagelist tags="header":)
-
-
-
-
- 0
-
- 15
-
- reno_context
-
-
-
-
-
- 1
- 2
- !!!boost/exception_ptr.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
-
-
-
-
- 0
-
- 16
-
- reno_context
-
-
-
-
-
- 1
- 2
- !!!boost/exception/throw_exception.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
-
-
-
-
- 0
-
- 17
-
- reno_context
-
-
-
-
-
- 1
- 2
- !!!boost/exception/exception.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
-
-
-
-
- 0
-
- 18
-
- reno_context
-
+
+
+ 0
+
+ -18
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -19
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -20
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -21
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -22
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -23
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -24
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -25
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -26
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -27
+
+
+
+ 1
+ 2
+ (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+
+
+
+
+ 0
+
+ -28
+
+
+
+ 1
+ 2
+ !!!boost/exception.hpp
This header file includes all other header files of Boost Exception:
(:pagelist tags="header":)
+
+
+
+
+ 0
+
+ -29
+
+
+
+ 1
+ 2
+ !!!boost/exception_ptr.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
+
+
0
@@ -1825,7 +1812,20 @@
1
2
- (:include include:)
!!!See also:
(:pagelist link="backlink" except_tags="noalso":)
+ !!!boost/exception/exception.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
+
+
+
+
+ 0
+
+ -30
+
+
+
+ 1
+ 2
+ !!!boost/exception/throw_exception.hpp
This header file contains the following definitions/declarations:
(:pagelist link="backlink" layer="synopsis":)
@@ -1944,15 +1944,19 @@
- 2
- 4DA932D1993B771C5283379491E9425AAE1E6D132B21E074D08BAADF069A2B23
- 280314796
- 2045
- 434
- 88F7292786F7625A38638650D1EE2677F961CFA644FEAEC1B0315F6B8BE13128
- 3570030120
- 397
- 1642
+ 3
+ 49EA85868C2355F4F7ED6CF9D05FDC08547EF85F76913E1FDBBC96F8712C6C83
+ 385672468
+ 2694
+ 503
+ 041A9EA55D30804689CD4DEB864994D595EDF33378B25EA81DB5DA2CF402E542
+ 1211481835
+ 1683
+ 846
+ 59711C7B9D807F0C41EF49B8AAC509CDB449D81C392B5FF5988DEDE47026E856
+ 1948539350
+ 445
+ 57
@@ -2031,15 +2035,23 @@
- 2
- 4DA932D1993B771C5283379491E9425AAE1E6D132B21E074D08BAADF069A2B23
- 280314796
- 2045
- 434
- 17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E
- 765399792
- 77
- 1563
+ 4
+ 49EA85868C2355F4F7ED6CF9D05FDC08547EF85F76913E1FDBBC96F8712C6C83
+ 385672468
+ 2694
+ 503
+ 041A9EA55D30804689CD4DEB864994D595EDF33378B25EA81DB5DA2CF402E542
+ 1211481835
+ 1683
+ 846
+ 85EE1980CFB24E054EDB1B3BDFA61FD4D65AD0EF248A1A42D4C2552700459327
+ 2238151539
+ 428
+ 682
+ AD3F339F7126003907BCBDB3EF846FCACA895132E1100D202DA67D2B7846EE65
+ 3032091776
+ 60
+ 369
@@ -2290,7 +2302,15 @@
- 0
+ 3
+ 2
+ [@#include <
+ 1
+
+ 1
+
+ 2
+ >@]
@@ -2314,13 +2334,16 @@
3
2
- [@#include <
+ [@#include <(:link
1
- 1
+ 0
+
+ -5
+
2
- >@]
+ :)>
@@ -2331,7 +2354,15 @@
- 0
+ 3
+ 2
+ [@#include <
+ 1
+
+ 1
+
+ 2
+ >@]
@@ -2441,15 +2472,7 @@
- 3
- 2
- [@#include <
- 1
-
- 1
-
- 2
- >@]
+ 0
@@ -2471,18 +2494,7 @@
- 3
- 2
- [@#include <(:link
- 1
-
- 0
-
- -18
-
-
- 2
- :)>
+ 0
@@ -2530,7 +2542,7 @@
0
- -30
+ -31
@@ -2541,7 +2553,7 @@
0
- -31
+ -30
@@ -2940,7 +2952,7 @@
0
- -30
+ -31
@@ -2951,7 +2963,7 @@
0
- -31
+ -30
@@ -3350,7 +3362,7 @@
0
- -30
+ -31
@@ -3361,7 +3373,7 @@
0
- -31
+ -30
@@ -3489,27 +3501,7 @@
- 5
- 2
- [@#ifdef BOOST_NO_EXCEPTIONS
void (:link
- 1
-
- 0
-
- -5
-
-
- 2
- :)( std::exception const & e ); // user defined
#else
template <class E>
void (:link
- 1
-
- 0
-
- -5
-
-
- 2
- :)( E const & e );
#endif@]
+ 0
@@ -3552,6 +3544,302 @@
-9
+
+ 3
+ 2
+ [@ template <class Tag,class T>
class
(:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)
{
public:
typedef T value_type;
error_info( value_type const & );
private:
---unspecified---
};@]
+
+
+
+
+ 0
+
+ -10
+
+
+
+ 9
+ 2
+ [@ typedef (:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)<struct tag_throw_function,char const *> throw_function;
typedef (:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)<struct tag_throw_file,char const *> throw_file;
typedef (:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)<struct tag_throw_line,int> throw_line;
#define (:link
+ 1
+
+ 0
+
+ -10
+
+
+ 2
+ :)\
::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
::boost::throw_file(__FILE__) <<\
::boost::throw_line((int)__LINE__)@]
+
+
+
+
+ 0
+
+ -11
+
+
+
+ 3
+ 2
+ [@ typedef ---unspecified--- (:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :);@]
+
+
+
+
+ 0
+
+ -12
+
+
+
+ 5
+ 2
+ [@ template <class T>
(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :) (:link
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ :)( T const & e );@]
+
+
+
+
+ 0
+
+ -13
+
+
+
+ 3
+ 2
+ [@ template <class T>
---unspecified--- (:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)( T const & e );
+
+
+
+
+ 0
+
+ -14
+
+
+
+ 5
+ 2
+ [@ (:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :) (:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)();@]
+
+
+
+
+ 0
+
+ -15
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -16
+
+
+
+ 3
+ 2
+ [@ class
(:link
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ :):
public std::exception
public boost::exception
{
---unspecified---
};@]
+
+
+
+
+ 0
+
+ -17
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -18
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -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
+
+ -20
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -21
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -22
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -23
+
+
9
2
@@ -3560,7 +3848,7 @@
0
- -9
+ -23
2
@@ -3598,7 +3886,7 @@
0
- -10
+ -24
@@ -3609,7 +3897,7 @@
0
- -22
+ -9
2
@@ -3618,7 +3906,7 @@
0
- -22
+ -9
2
@@ -3627,7 +3915,7 @@
0
- -22
+ -9
2
@@ -3638,7 +3926,7 @@
0
- -11
+ -25
@@ -3646,271 +3934,6 @@
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
1
-
- 0
-
- -11
-
-
- 2
- :)( E const & x );
-
-
-
-
- 0
-
- -12
-
-
-
- 3
- 2
- [@ template <class T>
---unspecified--- (:link
- 1
-
- 0
-
- -12
-
-
- 2
- :)( T const & x );@]
-
-
-
-
- 0
-
- -13
-
-
-
- 5
- 2
- [@ void (:link
- 1
-
- 0
-
- -13
-
-
- 2
- :)( (:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) const & ep );
-
-
-
-
- 0
-
- -14
-
-
-
- 0
-
-
-
-
- 0
-
- -15
-
-
-
- 0
-
-
-
-
- 0
-
- -16
-
-
-
- 0
-
-
-
-
- 0
-
- -17
-
-
-
- 0
-
-
-
-
- 0
-
- -18
-
-
-
- 0
-
-
-
-
- 0
-
- -19
-
-
-
- 0
-
-
-
-
- 0
-
- -20
-
-
-
- 0
-
-
-
-
- 0
-
- -21
-
-
-
- 0
-
-
-
-
- 0
-
- -22
-
-
-
- 3
- 2
- [@ template <class Tag,class T>
class
(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)
{
public:
typedef T value_type;
error_info( value_type const & );
private:
---unspecified---
};@]
-
-
-
-
- 0
-
- -23
-
-
-
- 9
- 2
- [@ typedef (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_throw_function,char const *> throw_function;
typedef (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_throw_file,char const *> throw_file;
typedef (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_throw_line,int> throw_line;
#define (:link
- 1
-
- 0
-
- -23
-
-
- 2
- :)\
::boost::throw_function(BOOST_CURRENT_FUNCTION) <<\
::boost::throw_file(__FILE__) <<\
::boost::throw_line((int)__LINE__)@]
-
-
-
-
- 0
-
- -24
-
-
-
- 3
- 2
- [@ typedef ---unspecified--- (:link
- 1
-
- 0
-
- -24
-
-
- 2
- :);@]
-
-
-
-
- 0
-
- -25
-
-
-
- 5
- 2
- [@ template <class T>
(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) (:link
- 1
0
@@ -3918,7 +3941,7 @@
2
- :)( T const & e );@]
+ :)( E const & x );
@@ -3940,7 +3963,7 @@
2
- :)( T const & e );
+ :)( T const & x );@]
@@ -3953,16 +3976,7 @@
5
2
- [@ (:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) (:link
+ [@ void (:link
1
0
@@ -3971,7 +3985,16 @@
2
- :)();@]
+ :)( (:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :) const & ep );
@@ -3993,25 +4016,14 @@
- 3
- 2
- [@ class
(:link
- 1
-
- 0
-
- -29
-
-
- 2
- :):
public std::exception
public boost::exception
{
---unspecified---
};@]
+ 0
0
- -30
+ -31
@@ -4022,7 +4034,7 @@
0
- -31
+ -30
@@ -4117,7 +4129,7 @@
0
- -9
+ -23
2
@@ -4201,45 +4213,7 @@
- 9
- 2
- !!!throw_exception()
(:include synopsis:)
!!!!Requirements:
@@E@@ must derive publicly from @@std::exception@@.
!!!!Effects:
* If @@BOOST_NO_EXCEPTIONS@@ is not defined, @@boost::(:link
- 1
-
- 0
-
- -5
-
-
- 2
- :)(e)@@ is equivalent to @@throw boost::(:link
- 1
-
- 0
-
- -26
-
-
- 2
- :)(boost::(:link
- 1
-
- 0
-
- -12
-
-
- 2
- :)(e))@@, unless @@BOOST_EXCEPTION_DISABLE@@ is defined, in which case @@boost::(:link
- 1
-
- 0
-
- -5
-
-
- 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 @@throw_exception@@ are allowed to assume that the function never returns; therefore, if the user-defined @@throw_exception@@ returns, the behavior is undefined.
+ 0
@@ -4250,9 +4224,42 @@
- 11
+ 0
+
+
+
+
+ 0
+
+ -7
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -8
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -9
+
+
+
+ 21
2
- !!Transporting of Arbitrary Data to the Catch Site
All exception types that derive from @@boost::(:link
+ !!!error_info
(:include synopsis:)
!!!!Requirements:
@@T@@ must have accessible copy constructor and must not be a reference.
!!!!Description:
This class template is used to associate a @@Tag@@ type with a value type @@T@@. Objects of type @@(:link
1
0
@@ -4261,7 +4268,34 @@
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 classes. Data can be added to a @@boost::(:link
+ :)<Tag,T>@@ can be passed to @@(:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:)()@@ to be stored in objects of type @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)@@.
!!!!Note:
The header @@<(:link
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ :)>@@ provides a declaration of the @@(:link
1
0
@@ -4270,6 +4304,604 @@
2
+ :)@@ template, which is sufficient for the purpose of @@typedef@@ing an instance for specific @@Tag@@ and @@T@@, like this:
[@#include <(:link
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ :)>
typedef boost::(:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)<struct tag_errno,int> errno_info;@]
Of course, to actually add an @@errno_info@@ object to exceptions using @@(:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:)()@@, or to retrieve it using @@(:link
+ 1
+
+ 0
+
+ -25
+
+
+ 2
+ :)()@@, you must first @@#include <(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)>@@.
+
+
+
+
+ 0
+
+ -10
+
+
+
+ 7
+ 2
+ !!!BOOST_ERROR_INFO
(:include synopsis:)
This macro is designed to be used with @@(:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:)()@@ when throwing a @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)@@, to store information about the location of the throw statement. It can be chained with other @@(:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)@@s in a single throw expression.
+
+
+
+
+ 0
+
+ -11
+
+
+
+ 15
+ 2
+ !!!exception_ptr
(:include synopsis:)
The @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 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
+
+ -11
+
+
+ 2
+ :)@@'s operations do not throw.
Two instances of @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ are equivalent and compare equal if and only if they refer to the same exception.
The default constructor of @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ produces the null value of the type. The null value is equivalent only to itself.
!!!!Note:
@@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ objects are returned by @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ and @@(:link
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ :)()@@.
+
+
+
+
+ 0
+
+ -12
+
+
+
+ 3
+ 2
+ !!!copy_exception()
(:include synopsis:)
!!!!Effects:
As if @@try { throw e; } catch( ... ) { return
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ (); }@@
+
+
+
+
+ 0
+
+ -13
+
+
+
+ 17
+ 2
+ !!!enable_current_exception()
(:include synopsis:)
!!!!Requirements:
@@T@@ must have 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 cloning support in Boost Exception. For example:
[@class
my_exception:
public std::exception
{
};
....
throw boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)(my_exception());@]
Unless @@(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)()@@ is called at the time an exception object is used in a throw-expression, an attempt to copy it using @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ may return an @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ which refers to an instance of @@(:link
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ :)@@. See @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 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
+
+ -23
+
+
+ 2
+ :)@@ and supports cloning.
+
+
+
+
+ 0
+
+ -14
+
+
+
+ 29
+ 2
+ !!!current_exception()
(:include synopsis:)
!!!!Requirements:
The @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ function must not be called outside of a @@catch@@ block.
!!!!Returns:
* An @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ that refers to the currently handled exception or a copy of the currently handled exception.
* If the function needs to allocate memory and the attempt fails, it returns an @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ that refers to an instance of @@std::bad_alloc@@.
!!!!Notes:
* It is unspecified whether the return values of two successive calls to @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ refer to the same exception object.
* Correct implementation of @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ may require compiler support, unless @@(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)()@@ is used at the time the currently handled exception object was passed to @@throw@@. If @@(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)()@@ is not used, and if the compiler does not provide the necessary support, then @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@ may return an @@(:link
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)@@ that refers to an instance of @@(:link
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ :)@@. In this case, if the original exception object derives from @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)@@, then the @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)@@ sub-object of the @@(:link
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ :)@@ object is initialized by the @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)@@ copy constructor.
+
+
+
+
+ 0
+
+ -15
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -16
+
+
+
+ 5
+ 2
+ !!!unknown_exception
(:include synopsis:)
This type is used by the (:link
+ 1
+
+ 0
+
+ -18
+
+
+ 2
+ |cloning:) support in Boost Exception. Please see @@(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)()@@.
+
+
+
+
+ 0
+
+ -17
+
+
+
+ 0
+
+
+
+
+ 0
+
+ -18
+
+
+
+ 11
+ 2
+ !!Transporting of Exceptions between Threads
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
+
+ -13
+
+
+ 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
+
+ -23
+
+
+ 2
+ :)@@ and to support cloning.
(:include
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -39
+
+
+ 2
+ :)
+
+
+
+
+ 0
+
+ -19
+
+
+
+ 9
+ 2
+ !!!throw_exception()
(: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
+
+ -13
+
+
+ 2
+ :)(boost::(:link
+ 1
+
+ 0
+
+ -26
+
+
+ 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 @@throw_exception@@ are allowed to assume that the function never returns; therefore, if the user-defined @@throw_exception@@ returns, the behavior is undefined.
+
+
+
+
+ 0
+
+ -20
+
+
+
+ 11
+ 2
+ !!Transporting of Arbitrary Data to the Catch Site
All exception types that derive from @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 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 classes. Data can be added to a @@boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
:)@@ at the time of the throw, or at a later time.
(:include
1
@@ -4304,7 +4936,7 @@
0
- -7
+ -21
@@ -4315,7 +4947,7 @@
0
- -9
+ -23
2
@@ -4324,7 +4956,7 @@
0
- -12
+ -26
2
@@ -4333,7 +4965,7 @@
0
- -9
+ -23
2
@@ -4342,7 +4974,7 @@
0
- -14
+ -28
2
@@ -4351,7 +4983,7 @@
0
- -22
+ -9
2
@@ -4360,7 +4992,7 @@
0
- -22
+ -9
2
@@ -4369,7 +5001,7 @@
0
- -22
+ -9
2
@@ -4378,7 +5010,7 @@
0
- -12
+ -26
2
@@ -4387,7 +5019,7 @@
0
- -12
+ -26
2
@@ -4396,7 +5028,7 @@
0
- -9
+ -23
2
@@ -4405,7 +5037,7 @@
0
- -10
+ -24
2
@@ -4414,7 +5046,7 @@
0
- -9
+ -23
2
@@ -4423,7 +5055,7 @@
0
- -6
+ -20
2
@@ -4434,7 +5066,7 @@
0
- -8
+ -22
@@ -4445,7 +5077,7 @@
0
- -9
+ -23
2
@@ -4463,7 +5095,7 @@
0
- -14
+ -28
2
@@ -4472,7 +5104,7 @@
0
- -9
+ -23
2
@@ -4481,7 +5113,7 @@
0
- -9
+ -23
2
@@ -4508,7 +5140,7 @@
0
- -9
+ -23
2
@@ -4517,7 +5149,7 @@
0
- -10
+ -24
2
@@ -4526,7 +5158,7 @@
0
- -22
+ -9
2
@@ -4537,7 +5169,7 @@
0
- -9
+ -23
@@ -4548,7 +5180,7 @@
0
- -9
+ -23
2
@@ -4557,7 +5189,7 @@
0
- -9
+ -23
2
@@ -4566,7 +5198,7 @@
0
- -22
+ -9
2
@@ -4575,7 +5207,7 @@
0
- -10
+ -24
2
@@ -4584,7 +5216,7 @@
0
- -9
+ -23
2
@@ -4593,7 +5225,7 @@
0
- -11
+ -25
2
@@ -4604,7 +5236,7 @@
0
- -10
+ -24
@@ -4615,7 +5247,7 @@
0
- -9
+ -23
2
@@ -4624,7 +5256,7 @@
0
- -9
+ -23
2
@@ -4633,7 +5265,7 @@
0
- -22
+ -9
2
@@ -4644,7 +5276,7 @@
0
- -11
+ -25
@@ -4655,7 +5287,7 @@
0
- -9
+ -23
2
@@ -4664,7 +5296,7 @@
0
- -22
+ -9
2
@@ -4673,7 +5305,7 @@
0
- -10
+ -24
2
@@ -4684,7 +5316,7 @@
0
- -12
+ -26
@@ -4695,7 +5327,7 @@
0
- -9
+ -23
2
@@ -4704,7 +5336,7 @@
0
- -9
+ -23
2
@@ -4713,7 +5345,7 @@
0
- -9
+ -23
2
@@ -4724,7 +5356,7 @@
0
- -13
+ -27
@@ -4733,559 +5365,6 @@
!!!rethrow_exception()
(:include synopsis:)
!!!!Precondition:
@@ep@@ shall not be null.
!!!!Throws:
The exception to which @@ep@@ refers.
-
-
- 0
-
- -14
-
-
-
- 0
-
-
-
-
- 0
-
- -15
-
-
-
- 0
-
-
-
-
- 0
-
- -16
-
-
-
- 0
-
-
-
-
- 0
-
- -17
-
-
-
- 0
-
-
-
-
- 0
-
- -18
-
-
-
- 0
-
-
-
-
- 0
-
- -19
-
-
-
- 0
-
-
-
-
- 0
-
- -20
-
-
-
- 0
-
-
-
-
- 0
-
- -21
-
-
-
- 0
-
-
-
-
- 0
-
- -22
-
-
-
- 21
- 2
- !!!error_info
(:include synopsis:)
!!!!Requirements:
@@T@@ must have accessible copy constructor and must not be a reference.
!!!!Description:
This class template is used to associate a @@Tag@@ type with a value type @@T@@. Objects of type @@(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<Tag,T>@@ can be passed to @@(:link
- 1
-
- 0
-
- -10
-
-
- 2
- |operator<<:)()@@ to be stored in objects of type @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@.
!!!!Note:
The header @@<(:link
- 1
-
- 0
-
- -21
-
-
- 2
- :)>@@ provides a declaration of the @@(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)@@ template, which is sufficient for the purpose of @@typedef@@ing an instance for specific @@Tag@@ and @@T@@, like this:
[@#include <(:link
- 1
-
- 0
-
- -21
-
-
- 2
- :)>
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_errno,int> errno_info;@]
Of course, to actually add an @@errno_info@@ object to exceptions using @@(:link
- 1
-
- 0
-
- -10
-
-
- 2
- |operator<<:)()@@, or to retrieve it using @@(:link
- 1
-
- 0
-
- -11
-
-
- 2
- :)()@@, you must first @@#include <(:link
- 1
-
- 0
-
- -28
-
-
- 2
- :)>@@.
-
-
-
-
- 0
-
- -23
-
-
-
- 7
- 2
- !!!BOOST_ERROR_INFO
(:include synopsis:)
This macro is designed to be used with @@(:link
- 1
-
- 0
-
- -10
-
-
- 2
- |operator<<:)()@@ when throwing a @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@, to store information about the location of the throw statement. It can be chained with other @@(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)@@s in a single throw expression.
-
-
-
-
- 0
-
- -24
-
-
-
- 15
- 2
- !!!exception_ptr
(:include synopsis:)
The @@(:link
- 1
-
- 0
-
- -24
-
-
- 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
-
- -24
-
-
- 2
- :)@@'s operations do not throw.
Two instances of @@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ are equivalent and compare equal if and only if they refer to the same exception.
The default constructor of @@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ produces the null value of the type. The null value is equivalent only to itself.
!!!!Note:
@@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ objects are returned by @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@ and @@(:link
- 1
-
- 0
-
- -25
-
-
- 2
- :)()@@.
-
-
-
-
- 0
-
- -25
-
-
-
- 3
- 2
- !!!copy_exception()
(:include synopsis:)
!!!!Effects:
As if @@try { throw e; } catch( ... ) { return
- 1
-
- 0
-
- -27
-
-
- 2
- (); }@@
-
-
-
-
- 0
-
- -26
-
-
-
- 17
- 2
- !!!enable_current_exception()
(:include synopsis:)
!!!!Requirements:
@@T@@ must have 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 cloning 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
-
- -24
-
-
- 2
- :)@@ which refers to an instance of @@(:link
- 1
-
- 0
-
- -29
-
-
- 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
-
- -5
-
-
- 2
- :)()@@. This is guaranteed to throw an exception that derives from @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@ and supports cloning.
-
-
-
-
- 0
-
- -27
-
-
-
- 29
- 2
- !!!current_exception()
(:include synopsis:)
!!!!Requirements:
The @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@ function must not be called outside of a @@catch@@ block.
!!!!Returns:
* An @@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ that refers to the currently handled exception or a copy of the currently handled exception.
* If the function needs to allocate memory and the attempt fails, it returns an @@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ that refers to an instance of @@std::bad_alloc@@.
!!!!Notes:
* It is unspecified whether the return values of two successive calls to @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@ refer to the same exception object.
* Correct implementation of @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@ may require compiler support, unless @@(:link
- 1
-
- 0
-
- -26
-
-
- 2
- :)()@@ is used at the time the currently handled exception object was passed to @@throw@@. If @@(:link
- 1
-
- 0
-
- -26
-
-
- 2
- :)()@@ is not used, and if the compiler does not provide the necessary support, then @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@ may return an @@(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)@@ that refers to an instance of @@(:link
- 1
-
- 0
-
- -29
-
-
- 2
- :)@@. In this case, if the original exception object derives from @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@, then the @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@ sub-object of the @@(:link
- 1
-
- 0
-
- -29
-
-
- 2
- :)@@ object is initialized by the @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@ copy constructor.
-
-
0
@@ -5304,37 +5383,6 @@
-29
-
- 5
- 2
- !!!unknown_exception
(:include synopsis:)
This type is used by the (:link
- 1
-
- 0
-
- -31
-
-
- 2
- |cloning:) support in Boost Exception. Please see @@(:link
- 1
-
- 0
-
- -27
-
-
- 2
- :)()@@.
-
-
-
-
- 0
-
- -30
-
-
0
@@ -5347,54 +5395,18 @@
- 11
- 2
- !!Transporting of Exceptions between Threads
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
-
- -5
-
-
- 2
- :)()@@ are guaranteed to derive from @@boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)@@ and to support cloning.
(:include
- 1
-
- 0
-
- -33
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -39
-
-
- 2
- :)
+ 0
+
+
+
+
+ 0
+
+ -30
+
+
+
+ 0
@@ -5423,7 +5435,7 @@
0
- -18
+ -5
2
@@ -5432,7 +5444,7 @@
0
- -28
+ -15
2
@@ -5441,7 +5453,7 @@
0
- -9
+ -23
2
@@ -5450,7 +5462,7 @@
0
- -26
+ -13
2
@@ -5472,7 +5484,7 @@
0
- -14
+ -28
2
@@ -5481,7 +5493,7 @@
0
- -22
+ -9
2
@@ -5490,7 +5502,7 @@
0
- -9
+ -23
2
@@ -5499,7 +5511,7 @@
0
- -22
+ -9
2
@@ -5508,7 +5520,7 @@
0
- -9
+ -23
2
@@ -5517,7 +5529,7 @@
0
- -10
+ -24
2
@@ -5526,7 +5538,7 @@
0
- -11
+ -25
2
@@ -5535,7 +5547,7 @@
0
- -11
+ -25
2
@@ -5544,7 +5556,7 @@
0
- -9
+ -23
2
@@ -5566,7 +5578,7 @@
0
- -9
+ -23
2
@@ -5575,7 +5587,7 @@
0
- -10
+ -24
2
@@ -5584,7 +5596,7 @@
0
- -8
+ -22
2
@@ -5606,7 +5618,7 @@
0
- -9
+ -23
2
@@ -5615,7 +5627,7 @@
0
- -9
+ -23
2
@@ -5624,7 +5636,7 @@
0
- -10
+ -24
2
@@ -5646,7 +5658,7 @@
0
- -9
+ -23
2
@@ -5668,7 +5680,7 @@
0
- -20
+ -7
2
@@ -5677,7 +5689,7 @@
0
- -22
+ -9
2
@@ -5686,7 +5698,7 @@
0
- -22
+ -9
2
@@ -5695,7 +5707,7 @@
0
- -22
+ -9
2
@@ -5704,7 +5716,7 @@
0
- -9
+ -23
2
@@ -5713,7 +5725,7 @@
0
- -11
+ -25
2
@@ -5735,7 +5747,7 @@
0
- -9
+ -23
2
@@ -5744,7 +5756,7 @@
0
- -27
+ -14
2
@@ -5753,7 +5765,7 @@
0
- -24
+ -11
2
@@ -5762,7 +5774,7 @@
0
- -15
+ -29
2
@@ -5771,7 +5783,7 @@
0
- -9
+ -23
2
@@ -5780,7 +5792,7 @@
0
- -24
+ -11
2
@@ -5789,7 +5801,7 @@
0
- -24
+ -11
2
@@ -5798,7 +5810,7 @@
0
- -27
+ -14
2
@@ -5807,7 +5819,7 @@
0
- -27
+ -14
2
@@ -5816,7 +5828,7 @@
0
- -13
+ -27
2
@@ -5825,7 +5837,7 @@
0
- -24
+ -11
2
@@ -5834,7 +5846,7 @@
0
- -13
+ -27
2
@@ -5843,7 +5855,7 @@
0
- -27
+ -14
2
@@ -5852,7 +5864,7 @@
0
- -24
+ -11
2
@@ -5861,7 +5873,7 @@
0
- -26
+ -13
2
@@ -5870,7 +5882,7 @@
0
- -24
+ -11
2
@@ -5879,7 +5891,7 @@
0
- -29
+ -16
2
@@ -5888,7 +5900,7 @@
0
- -27
+ -14
2
@@ -5897,7 +5909,7 @@
0
- -13
+ -27
2
@@ -5919,7 +5931,7 @@
0
- -9
+ -23
2
@@ -5928,7 +5940,7 @@
0
- -14
+ -28
2
@@ -5937,7 +5949,7 @@
0
- -22
+ -9
2
@@ -5946,7 +5958,7 @@
0
- -9
+ -23
2
@@ -5955,7 +5967,7 @@
0
- -14
+ -28
2
@@ -5964,7 +5976,7 @@
0
- -22
+ -9
2
@@ -5973,7 +5985,7 @@
0
- -9
+ -23
2
@@ -5982,7 +5994,7 @@
0
- -9
+ -23
2
@@ -5991,7 +6003,7 @@
0
- -9
+ -23
2
@@ -6000,7 +6012,7 @@
0
- -11
+ -25
2
@@ -6073,7 +6085,18 @@
- 0
+ 3
+ 2
+ !!!!Throws:
@@std::bad_alloc@@, or any other exception resulting from copying any of the arguments of @@(:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)()@@.
@@ -6084,9 +6107,7 @@
- 1
- 2
- !!!!Throws:
@@std::bad_alloc@@, or any exception emitted by @@T1..TN@@ copy constructor.
+ 0
@@ -6218,18 +6239,7 @@
- 3
- 2
- !!!!Throws:
@@std::bad_alloc@@, or any other exception resulting from copying any of the arguments of @@(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)()@@.
+ 0
@@ -6251,7 +6261,9 @@
- 0
+ 1
+ 2
+ !!!!Throws:
@@std::bad_alloc@@, or any exception emitted by @@T1..TN@@ copy constructor.
@@ -6313,7 +6325,7 @@
0
- -30
+ -31
@@ -6324,7 +6336,7 @@
0
- -31
+ -30
@@ -6496,36 +6508,7 @@
- 7
- 2
- (:include
- 1
-
- 0
-
- -36
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -37
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -35
-
-
- 2
- :)
+ 0
@@ -6679,7 +6662,36 @@
- 0
+ 7
+ 2
+ (:include
+ 1
+
+ 0
+
+ -36
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)
@@ -6752,7 +6764,7 @@
0
- -30
+ -31
@@ -6763,7 +6775,7 @@
0
- -31
+ -30
@@ -6891,18 +6903,7 @@
- 3
- 2
- @@#include <(:link
- 1
-
- 0
-
- -16
-
-
- 2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+ 0
@@ -6953,7 +6954,7 @@
0
- -17
+ -15
2
@@ -6967,81 +6968,6 @@
-10
-
- 5
- 2
- @@#include <(:link
- 1
-
- 0
-
- -28
-
-
- 2
- :)>@@\\
@@#include <(:link
- 1
-
- 0
-
- -20
-
-
- 2
- :)>
[@namespace
boost
{
(:include decl:)
}@]
-
-
-
-
- 0
-
- -11
-
-
-
- 3
- 2
- @@#include <(:link
- 1
-
- 0
-
- -28
-
-
- 2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
-
-
-
-
- 0
-
- -12
-
-
-
- 3
- 2
- @@#include <(:link
- 1
-
- 0
-
- -19
-
-
- 2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
-
-
-
-
- 0
-
- -13
-
-
3
2
@@ -7057,6 +6983,72 @@
:)>@@
[@namespace
boost
{
(:include decl:)
}@]
+
+
+ 0
+
+ -11
+
+
+
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+
+
+
+
+ 0
+
+ -12
+
+
+
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+
+
+
+
+ 0
+
+ -13
+
+
+
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -5
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+
+
0
@@ -7065,7 +7057,18 @@
- 0
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
@@ -7087,7 +7090,18 @@
- 0
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
@@ -7120,7 +7134,18 @@
- 0
+ 3
+ 2
+ @@#include <(:link
+ 1
+
+ 0
+
+ -30
+
+
+ 2
+ :)>@@
[@namespace
boost
{
(:include decl:)
}@]
@@ -7153,18 +7178,7 @@
- 3
- 2
- @@#include <(:link
- 1
-
- 0
-
- -28
-
-
- 2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+ 0
@@ -7182,7 +7196,7 @@
0
- -28
+ -31
2
@@ -7197,7 +7211,7 @@
- 3
+ 5
2
@@#include <(:link
1
@@ -7208,7 +7222,16 @@
2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+ :)>@@\\
@@#include <(:link
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl:)
}@]
@@ -7248,7 +7271,7 @@
0
- -18
+ -6
2
@@ -7270,7 +7293,7 @@
0
- -15
+ -29
2
@@ -7296,25 +7319,14 @@
- 3
- 2
- @@#include <(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :)>@@
[@namespace
boost
{
(:include decl:)
}@]
+ 0
0
- -30
+ -31
@@ -7325,7 +7337,7 @@
0
- -31
+ -30
@@ -7525,10 +7537,10 @@
-29
- -30
+ -31
- -31
+ -30
-32
@@ -7576,7 +7588,7 @@
- -30
+ -17
@@ -7610,7 +7622,7 @@
- -31
+ -18
@@ -7627,7 +7639,7 @@
- -6
+ -20
@@ -7671,90 +7683,6 @@
-39
-
-
-
-
- 2
- 4DA932D1993B771C5283379491E9425AAE1E6D132B21E074D08BAADF069A2B23
- 280314796
- 2045
- 434
- 88F7292786F7625A38638650D1EE2677F961CFA644FEAEC1B0315F6B8BE13128
- 3570030120
- 397
- 1642
-
-
-
-
-
- 0
- ../../../../boost/exception/exception.hpp
- 0
- 0
-
-
-
- -35
-
-
-
-
-
-
- 2
- 4DA932D1993B771C5283379491E9425AAE1E6D132B21E074D08BAADF069A2B23
- 280314796
- 2045
- 434
- 17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E
- 765399792
- 77
- 1563
-
-
-
-
-
- 0
- ../../../../boost/exception/exception.hpp
- 0
- 0
-
-
-
- -37
-
-
-
-
-
-
- 2
- 4DA932D1993B771C5283379491E9425AAE1E6D132B21E074D08BAADF069A2B23
- 280314796
- 2045
- 434
- 6C36EC2567753CC18222000D43FD485704631A9F79F4B5C1BE9DE4D8282D4AE5
- 2163400011
- 715
- 846
-
-
-
-
-
- 0
- ../../../../boost/exception/exception.hpp
- 0
- 0
-
-
-
- -9
-
-
@@ -7776,91 +7704,7 @@
- -14
-
-
-
-
-
-
- 2
- F2625EB427DE44F90BD9E85E4E593BFF0FA732700934105770F16C8224BAA525
- 1648371423
- 6100
- 737
- 65D13C1BB0A16823F69A32BAB56A51CA317075C7FC8B7441EE0D9B57AF5AB2AC
- 2592266329
- 712
- 1750
-
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
- -11
-
-
-
-
-
-
- 2
- F2625EB427DE44F90BD9E85E4E593BFF0FA732700934105770F16C8224BAA525
- 1648371423
- 6100
- 737
- 865A7E598C4F2EDA41CCDFAD253F5E4699012898C97E29E3CB1C68DABA0C62B1
- 2395321958
- 721
- 626
-
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
- -22
-
-
-
-
-
-
- 2
- F2625EB427DE44F90BD9E85E4E593BFF0FA732700934105770F16C8224BAA525
- 1648371423
- 6100
- 737
- 27AC1164E0A824D548386BEDCDC81DCAC283F3D286B0ECEE05B039BB8C392BFC
- 1247954090
- 249
- 1499
-
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
- -10
+ -28
@@ -7884,7 +7728,7 @@
- -19
+ -6
@@ -7908,7 +7752,7 @@
- -7
+ -21
@@ -7935,6 +7779,90 @@
-33
+
+
+
+
+ 2
+ 427FFBF157B284A9FB0CF4FAEC4A9BB2ADA8AC6CB4F4C329FAE0FED649640E3E
+ 2573550761
+ 6200
+ 737
+ 65D13C1BB0A16823F69A32BAB56A51CA317075C7FC8B7441EE0D9B57AF5AB2AC
+ 2592266329
+ 712
+ 1850
+
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+ -25
+
+
+
+
+
+
+ 2
+ 427FFBF157B284A9FB0CF4FAEC4A9BB2ADA8AC6CB4F4C329FAE0FED649640E3E
+ 2573550761
+ 6200
+ 737
+ 865A7E598C4F2EDA41CCDFAD253F5E4699012898C97E29E3CB1C68DABA0C62B1
+ 2395321958
+ 721
+ 726
+
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+ -9
+
+
+
+
+
+
+ 2
+ 427FFBF157B284A9FB0CF4FAEC4A9BB2ADA8AC6CB4F4C329FAE0FED649640E3E
+ 2573550761
+ 6200
+ 737
+ 27AC1164E0A824D548386BEDCDC81DCAC283F3D286B0ECEE05B039BB8C392BFC
+ 1247954090
+ 249
+ 1599
+
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+ -24
+
+
@@ -7956,7 +7884,7 @@
- -16
+ -30
@@ -7984,7 +7912,7 @@
- -25
+ -12
@@ -8012,7 +7940,7 @@
- -29
+ -16
@@ -8040,7 +7968,7 @@
- -27
+ -14
@@ -8068,7 +7996,7 @@
- -13
+ -27
@@ -8096,7 +8024,35 @@
- -24
+ -11
+
+
+
+
+
+
+ 2
+ 7B3C93C7263FD0FB201E2E279FE53520E47550B3C1497DCB5EE4F24832F8235C
+ 2778337684
+ 1947
+ 407
+ 21F529F6CC88DB2566F36223A07F700BD043680083D73ABA1A7444A663AAFCFF
+ 4141043385
+ 241
+ 1700
+
+
+
+
+
+ 0
+ ../../../../boost/exception/enable_error_info.hpp
+ 0
+ 0
+
+
+
+ -26
@@ -8120,7 +8076,7 @@
- -23
+ -10
@@ -8144,7 +8100,7 @@
- -18
+ -5
@@ -8172,7 +8128,7 @@
- -26
+ -13
@@ -8180,14 +8136,110 @@
2
- 33C9C03A97DEE6FC1B9B36E8832FF546419173B8389B8488206E7A3DE9C7CA88
- 2998452034
- 583
- 867
- 99278A58AB0ED511046D5EBEE4B616E145C9D69033CD5577EC8BF3761227A46A
- 1992783533
- 359
- 211
+ 49EA85868C2355F4F7ED6CF9D05FDC08547EF85F76913E1FDBBC96F8712C6C83
+ 385672468
+ 2694
+ 503
+ 041A9EA55D30804689CD4DEB864994D595EDF33378B25EA81DB5DA2CF402E542
+ 1211481835
+ 1683
+ 846
+
+
+
+
+
+ 0
+ ../../../../boost/exception/exception.hpp
+ 0
+ 0
+
+
+
+ -23
+
+
+
+
+
+
+ 4
+ 49EA85868C2355F4F7ED6CF9D05FDC08547EF85F76913E1FDBBC96F8712C6C83
+ 385672468
+ 2694
+ 503
+ 041A9EA55D30804689CD4DEB864994D595EDF33378B25EA81DB5DA2CF402E542
+ 1211481835
+ 1683
+ 846
+ 85EE1980CFB24E054EDB1B3BDFA61FD4D65AD0EF248A1A42D4C2552700459327
+ 2238151539
+ 428
+ 682
+ AD3F339F7126003907BCBDB3EF846FCACA895132E1100D202DA67D2B7846EE65
+ 3032091776
+ 60
+ 369
+
+
+
+
+
+ 0
+ ../../../../boost/exception/exception.hpp
+ 0
+ 0
+
+
+
+ -37
+
+
+
+
+
+
+ 3
+ 49EA85868C2355F4F7ED6CF9D05FDC08547EF85F76913E1FDBBC96F8712C6C83
+ 385672468
+ 2694
+ 503
+ 041A9EA55D30804689CD4DEB864994D595EDF33378B25EA81DB5DA2CF402E542
+ 1211481835
+ 1683
+ 846
+ 59711C7B9D807F0C41EF49B8AAC509CDB449D81C392B5FF5988DEDE47026E856
+ 1948539350
+ 445
+ 57
+
+
+
+
+
+ 0
+ ../../../../boost/exception/exception.hpp
+ 0
+ 0
+
+
+
+ -35
+
+
+
+
+
+
+ 2
+ 612485E090D76B2CC43C1A296F813075BA165C2496082E78E939F10B3DA8E09A
+ 1770110914
+ 587
+ 1207
+ 60F3F48B87487FA6E0D2CCC0750AF435CC92CEC80BBBF609AC71295031AADD0D
+ 3929437933
+ 361
+ 213
@@ -8200,7 +8252,7 @@
- -5
+ -19
@@ -8224,7 +8276,7 @@
- -17
+ -31
@@ -8248,7 +8300,7 @@
- -15
+ -29
@@ -8272,7 +8324,7 @@
- -28
+ -15
@@ -8296,35 +8348,7 @@
- -20
-
-
-
-
-
-
- 2
- C4D33E012F1FD360A08BE7032246E4361A8D8A3E1D316D454707AD9484C9F8C0
- 2765396103
- 1505
- 367
- 21F529F6CC88DB2566F36223A07F700BD043680083D73ABA1A7444A663AAFCFF
- 4141043385
- 241
- 1258
-
-
-
-
-
- 0
- ../../../../boost/exception/enable_error_info.hpp
- 0
- 0
-
-
-
- -12
+ -7
@@ -8348,7 +8372,7 @@
- -21
+ -8
@@ -8444,7 +8468,7 @@
- -8
+ -22
@@ -8475,7 +8499,7 @@
-5
- cloning,exception,free,function,template,throw_exception
+ boost/exception/enable_current_exception.hpp,exception,header
@@ -8484,7 +8508,7 @@
-6
- error_info,exception,noindex,tutorial
+ boost/exception/enable_error_info.hpp,exception,header
@@ -8493,7 +8517,7 @@
-7
- noindex,tutorial
+ boost/exception/info_tuple.hpp,exception,header
@@ -8502,7 +8526,7 @@
-8
- noindex,tutorial
+ boost/exception/error_info.hpp,exception,header
@@ -8511,7 +8535,7 @@
-9
- exception,type
+ error_info,exception,free,function,template
@@ -8520,7 +8544,7 @@
-10
- error_info,exception,free,function,operator<</exception,template
+ BOOST_ERROR_INFO,error_info,exception,macro
@@ -8529,7 +8553,7 @@
-11
- error_info,exception,free,function,get_error_info,template
+ cloning,exception,exception_ptr,type
@@ -8538,7 +8562,7 @@
-12
- enable_error_info,error_info,exception,free,function,template
+ cloning,copy_exception,exception,free,function
@@ -8547,7 +8571,7 @@
-13
- cloning,exception,free,function,rethrow_exception
+ cloning,enable_current_exception,exception,free,function,template
@@ -8556,7 +8580,7 @@
-14
- boost/exception.hpp,exception,header
+ cloning,current_exception,exception,free,function
@@ -8565,7 +8589,7 @@
-15
- boost/exception_ptr.hpp,header
+ boost/exception/info.hpp,exception,header
@@ -8574,7 +8598,7 @@
-16
- boost/throw_exception.hpp,header
+ cloning,exception,type,unknown_exception
@@ -8583,7 +8607,7 @@
-17
- boost/exception/exception.hpp,exception,header
+ exception,noindex
@@ -8592,7 +8616,7 @@
-18
- boost/exception/enable_current_exception.hpp,exception,header
+ cloning,exception,noindex,tutorial
@@ -8601,7 +8625,7 @@
-19
- boost/exception/enable_error_info.hpp,exception,header
+ cloning,exception,free,function,template,throw_exception
@@ -8610,7 +8634,7 @@
-20
- boost/exception/info_tuple.hpp,exception,header
+ error_info,exception,noindex,tutorial
@@ -8619,7 +8643,7 @@
-21
- boost/exception/error_info.hpp,exception,header
+ noindex,tutorial
@@ -8628,7 +8652,7 @@
-22
- error_info,exception,free,function,template
+ noindex,tutorial
@@ -8637,7 +8661,7 @@
-23
- BOOST_ERROR_INFO,error_info,exception,macro
+ exception,type
@@ -8646,7 +8670,7 @@
-24
- cloning,exception,exception_ptr,type
+ error_info,exception,free,function,operator<</exception,template
@@ -8655,7 +8679,7 @@
-25
- cloning,copy_exception,exception,free,function
+ error_info,exception,free,function,get_error_info,template
@@ -8664,7 +8688,7 @@
-26
- cloning,enable_current_exception,exception,free,function,template
+ enable_error_info,error_info,exception,free,function,template
@@ -8673,7 +8697,7 @@
-27
- cloning,current_exception,exception,free,function
+ cloning,exception,free,function,rethrow_exception
@@ -8682,7 +8706,7 @@
-28
- boost/exception/info.hpp,exception,header
+ boost/exception.hpp,exception,header
@@ -8691,16 +8715,7 @@
-29
- cloning,exception,type,unknown_exception
-
-
-
- 0
-
- -30
-
-
- exception,noindex
+ boost/exception_ptr.hpp,header
@@ -8709,7 +8724,16 @@
-31
- cloning,exception,noindex,tutorial
+ boost/exception/exception.hpp,exception,header
+
+
+
+ 0
+
+ -30
+
+
+ boost/throw_exception.hpp,header
diff --git a/include/boost/exception/enable_error_info.hpp b/include/boost/exception/enable_error_info.hpp
index 2057877..34c3e1a 100644
--- a/include/boost/exception/enable_error_info.hpp
+++ b/include/boost/exception/enable_error_info.hpp
@@ -7,6 +7,7 @@
#define UUID_0C5D492E909711DCB658AD4556D89593
#include
+#include
namespace
boost
@@ -54,12 +55,28 @@ boost
typedef error_info_injector type;
};
+ #if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x582))
+ template
+ struct
+ sizeof_dispatch
+ {
+ enum e { value=sizeof(dispatch((T*)0)) };
+ };
+
+ template
+ struct
+ enable_error_info_return_type
+ {
+ typedef typename enable_error_info_helper::value>::type type;
+ };
+#else
template
struct
enable_error_info_return_type
{
typedef typename enable_error_info_helper::type type;
};
+#endif
}
template
diff --git a/include/boost/exception/exception.hpp b/include/boost/exception/exception.hpp
index e57d865..4129833 100644
--- a/include/boost/exception/exception.hpp
+++ b/include/boost/exception/exception.hpp
@@ -47,45 +47,45 @@ boost
{
public:
- virtual
- char const *
- what() const throw()
- {
- if( data_ )
- try
- {
- char const * w = data_->what(typeid(*this));
- BOOST_ASSERT(0!=w);
- return w;
- }
- catch(...)
- {
- }
- return typeid(*this).name();
- }
+ virtual
+ char const *
+ what() const throw()
+ {
+ if( data_ )
+ try
+ {
+ char const * w = data_->what(typeid(*this));
+ BOOST_ASSERT(0!=w);
+ return w;
+ }
+ catch(...)
+ {
+ }
+ return typeid(*this).name();
+ }
- protected:
+ protected:
- exception()
- {
- }
+ exception()
+ {
+ }
- exception( exception const & e ):
- data_(e.data_)
- {
- }
+ exception( exception const & e ):
+ data_(e.data_)
+ {
+ }
#if BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1500) )
- //Force class exception to be abstract.
- //Otherwise, MSVC bug allows throw exception(), even though the copy constructor is protected.
- virtual ~exception() throw()=0;
+ //Force class exception to be abstract.
+ //Otherwise, MSVC bug allows throw exception(), even though the copy constructor is protected.
+ virtual ~exception() throw()=0;
#else
#if BOOST_WORKAROUND( __GNUC__, BOOST_TESTED_AT(4) )
- virtual //Disable bogus GCC warning.
+ virtual //Disable bogus GCC warning.
#endif
- ~exception() throw()
- {
- }
+ ~exception() throw()
+ {
+ }
#endif
private:
@@ -103,12 +103,12 @@ boost
};
#if BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1500) ) //See above.
- inline
- exception::
- ~exception() throw()
- {
- }
+ inline
+ exception::
+ ~exception() throw()
+ {
+ }
#endif
- }
+ }
#endif