diff --git a/doc/source/boost-exception.reno b/doc/source/boost-exception.reno
index b19a95e..815c96e 100644
--- a/doc/source/boost-exception.reno
+++ b/doc/source/boost-exception.reno
@@ -53,32 +53,28 @@
- 2
- D1AA2FC554CD67A50917905B0E9CCA2EBC1A9BA97368757B36ADF8419756ECF1
- 85276724
- 4917
- 514
- 156B870761DB092CE4269C1173B479A344A1041BA2B883765AF19A72B371D776
- 3239976720
- 117
- 4794
+ 1
+ A9C65F105342D728DE9C996079E82DF25408B94A272090039FAAC12D29659F69
+ 2378831669
+ 94
+ 227
0
- ../../../../boost/exception_ptr.hpp
+ ../../../../boost/exception/enable_current_exception.hpp
0
0
- rethrow_exception
+ boost/exception/enable_current_exception.hpp
-
+ exception_enable_exception_cloning_hpp
@@ -146,6 +142,55 @@
reno_context
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 8
+
+ reno_context
+
-
-
- 0
-
- 9
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
0
@@ -379,102 +379,10 @@
1
- E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3
- 94503238
- 773
- 374
-
-
-
-
-
- 0
- ../../example/info_tuple.cpp
- 0
- 0
-
-
-
-
- adding grouped data to exceptions
-
-
- grouping_data
-
-
-
-
-
- 0
-
-
-
-
- 0
-
- 13
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 14
-
- reno_context
-
-
@@ -506,7 +414,7 @@
0
- 15
+ 13
reno_context
@@ -555,7 +463,7 @@
0
- 16
+ 14
reno_context
@@ -565,245 +473,27 @@
1
- CE411E21EE9878B55B5906D033A0FC52574FB59D8A8CECB75405E9B1C9D782DB
- 1173443713
- 308
- 302
+ E444EE9697EEADFDE0767E1D0242FC0E70D98E61FB1F0FFA099648DE509B82F3
+ 94503238
+ 773
+ 374
0
- ../../example/logging.cpp
+ ../../example/info_tuple.cpp
0
0
- diagnostic information
+ adding grouped data to exceptions
- tutorial_diagnostic_information
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 17
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 18
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 19
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 20
-
- reno_context
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 21
-
- reno_context
-
-
@@ -816,7 +506,7 @@
0
- 22
+ 15
reno_context
@@ -861,6 +551,316 @@
(:include include:)
(:auto also:)
+
+
+ 0
+
+ 16
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 17
+
+ reno_context
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+ 18
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 19
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 20
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 21
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 22
+
+ reno_context
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
0
@@ -869,6 +869,51 @@
reno_context
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+
+ 0
+
+ 24
+
+ reno_context
+
+
+
+ 0
+
+ 26
reno_context
@@ -963,7 +1061,7 @@
0
- 25
+ 27
reno_context
@@ -1012,7 +1110,7 @@
0
- 26
+ 28
reno_context
@@ -1065,7 +1163,7 @@
0
- 27
+ 29
reno_context
@@ -1114,7 +1212,7 @@
0
- 28
+ 30
reno_context
@@ -1171,7 +1269,7 @@
0
- 29
+ 31
reno_context
@@ -1214,7 +1312,7 @@
0
- 30
+ 32
reno_context
@@ -1257,52 +1355,7 @@
0
- 31
-
- reno_context
-
-
-
-
-
-
- 1
- ECAD4A1E70A31D7F87F79F557D107AB0A3C5161CB370139974E08ECAFBE2D32F
- 1816954312
- 457
- 323
-
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
-
- boost/exception/diagnostic_information.hpp
-
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
-
- 0
-
- 32
+ 33
reno_context
@@ -1347,7 +1400,7 @@
0
- 33
+ 34
reno_context
@@ -1392,7 +1445,7 @@
0
- 34
+ 35
reno_context
@@ -1437,7 +1490,7 @@
0
- 35
+ 36
reno_context
@@ -1478,59 +1531,6 @@
(:include include:)
(:auto also:)
-
-
- 0
-
- 36
-
- reno_context
-
-
-
-
-
-
- 3
- 13F58566E4D9F20B49F3F30B28528AEE562CD709108ADC1AE19A2F01D86C62F4
- 1430141721
- 2967
- 503
- 09CB6839AC1E71887371FB8159C2BFCD273A397C54E07B25CEF2EEF2FA24286A
- 4111403263
- 1924
- 878
- BACD79DFB4C710C1A67687FC6344DF2251E2379613C2DF5B2729B2CD37E24EA3
- 458367129
- 154
- 246
-
-
-
-
-
- 0
- ../../../../boost/exception/exception.hpp
- 0
- 0
-
-
-
-
- exception::exception
-
-
- exception_constructors
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
0
@@ -1848,7 +1848,7 @@
0
- -18
+ -21
2
@@ -1857,7 +1857,7 @@
0
- -19
+ -22
2
@@ -1875,7 +1875,7 @@
0
- -16
+ -18
2
@@ -1884,7 +1884,7 @@
0
- -15
+ -13
2
@@ -1893,16 +1893,7 @@
0
- -22
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -23
+ -15
2
@@ -1920,7 +1911,16 @@
0
- -7
+ -26
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -8
2
@@ -1965,7 +1965,7 @@
0
- -25
+ -27
2
@@ -1974,7 +1974,7 @@
0
- -14
+ -16
2
@@ -1983,7 +1983,7 @@
0
- -5
+ -7
2
@@ -2001,7 +2001,7 @@
0
- -27
+ -29
2
@@ -2019,7 +2019,7 @@
0
- -17
+ -20
2
@@ -2028,7 +2028,7 @@
0
- -31
+ -19
2
@@ -2037,16 +2037,7 @@
0
- -13
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -32
+ -5
2
@@ -2061,24 +2052,6 @@
2
:)
###(:link
1
-
- 0
-
- -8
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -20
-
-
- 2
- :)
###(:link
- 1
0
@@ -2097,6 +2070,15 @@
2
:)
###(:link
1
+
+ 0
+
+ -23
+
+
+ 2
+ :)
###(:link
+ 1
0
@@ -2104,6 +2086,24 @@
2
+ :)
###(:link
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -36
+
+
+ 2
:)
#(:link
1
@@ -2115,24 +2115,6 @@
2
:)
!!Synopsis
`#include <(:link
1
-
- 0
-
- -17
-
-
- 2
- :)>
[@namespace
boost
{
(:include
- 1
-
- 0
-
- -8
-
-
- 2
- api pre_indent="4":)
(:include
- 1
0
@@ -2140,34 +2122,7 @@
2
- api pre_indent="4":)
(:include
- 1
-
- 0
-
- -34
-
-
- 2
- api pre_indent="4":)
(:include
- 1
-
- 0
-
- -32
-
-
- 2
- api pre_indent="4":)
(:include
- 1
-
- 0
-
- -31
-
-
- 2
- api pre_indent="4":)
(:include
+ :)>
[@namespace
boost
{
(:include
1
0
@@ -2181,7 +2136,7 @@
0
- -13
+ -23
2
@@ -2194,12 +2149,57 @@
2
+ api pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ api pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -19
+
+
+ 2
+ api pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ api pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -5
+
+
+ 2
+ api pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -36
+
+
+ 2
api pre_indent="4":)
}@]
!!Class exception
(:include
1
0
- -15
+ -13
2
@@ -2208,16 +2208,7 @@
0
- -22
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -23
+ -15
2
@@ -2235,7 +2226,16 @@
0
- -7
+ -26
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -8
2
@@ -2280,7 +2280,7 @@
0
- -25
+ -27
2
@@ -2289,7 +2289,7 @@
0
- -14
+ -16
2
@@ -2298,7 +2298,7 @@
0
- -5
+ -7
2
@@ -2316,7 +2316,7 @@
0
- -27
+ -29
2
@@ -2455,7 +2455,45 @@
- 0
+ 9
+ 2
+ [@class
(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)
{
public:
(:include
+ 1
+
+ 0
+
+ -28
+
+
+ 2
+ decl pre_indent="4":)
protected:
(:include
+ 1
+
+ 0
+
+ -25
+
+
+ 2
+ decl pre_indent="4":)
(:include
+ 1
+
+ 0
+
+ -30
+
+
+ 2
+ decl pre_indent="4":)
};@]
@@ -2477,9 +2515,9 @@
- 9
+ 3
2
- [@class
(:link
+ [@template <class Tag,class T>
class
(:link
1
0
@@ -2488,34 +2526,7 @@
2
- :)
{
public:
(:include
- 1
-
- 0
-
- -26
-
-
- 2
- decl pre_indent="4":)
protected:
(:include
- 1
-
- 0
-
- -36
-
-
- 2
- decl pre_indent="4":)
(:include
- 1
-
- 0
-
- -28
-
-
- 2
- decl pre_indent="4":)
};@]
+ :)
{
public:
typedef T value_type;
error_info( value_type const & );
};@]
@@ -2592,18 +2603,7 @@
- 3
- 2
- [@template <class Tag,class T>
class
(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)
{
public:
typedef T value_type;
error_info( value_type const & );
};@]
+ 0
@@ -2859,7 +2859,18 @@
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ decl:)@]
@@ -2892,18 +2903,7 @@
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -15
-
-
- 2
- def:)@]
+ 0
@@ -2914,54 +2914,18 @@
- 11
+ 3
2
[@(:include
1
0
- -37
+ -13
2
- decl:)
(:include
- 1
-
- 0
-
- -6
-
-
- 2
- decl:)
(:include
- 1
-
- 0
-
- -14
-
-
- 2
- decl:)
(:include
- 1
-
- 0
-
- -25
-
-
- 2
- decl:)
(:include
- 1
-
- 0
-
- -5
-
-
- 2
- decl:)@]
+ def:)@]
@@ -2994,7 +2958,54 @@
- 0
+ 11
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ decl:)@]
@@ -3005,18 +3016,7 @@
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -38
-
-
- 2
- decl:)@]
+ 0
@@ -3060,54 +3060,7 @@
- 11
- 2
- [@#include <(:link
- 1
-
- 0
-
- -20
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -31
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -35
-
-
- 2
- :)>@]
+ 0
@@ -3129,7 +3082,18 @@
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ decl:)@]
@@ -3140,36 +3104,9 @@
- 9
+ 11
2
- [@(:include
- 1
-
- 0
-
- -22
-
-
- 2
- def:)
(:include
- 1
-
- 0
-
- -7
-
-
- 2
- decl:)
(:include
- 1
-
- 0
-
- -10
-
-
- 2
- decl:)
(:include
+ [@#include <(:link
1
0
@@ -3178,7 +3115,43 @@
2
- decl:)@]
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -19
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -36
+
+
+ 2
+ :)>@]
@@ -3211,7 +3184,45 @@
- 0
+ 9
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ def:)
(:include
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -10
+
+
+ 2
+ decl:)
(:include
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ decl:)@]
@@ -3299,18 +3310,7 @@
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -27
-
-
- 2
- decl:)@]
+ 0
@@ -3320,6 +3320,17 @@
-32
+
+ 0
+
+
+
+
+ 0
+
+ -33
+
+
3
2
@@ -3335,28 +3346,6 @@
decl:)@]
-
-
- 0
-
- -33
-
-
-
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -22
-
-
- 2
- decl:)@]
-
-
0
@@ -3372,7 +3361,7 @@
0
- -24
+ -15
2
@@ -3394,7 +3383,7 @@
0
- -43
+ -26
2
@@ -3409,7 +3398,18 @@
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -43
+
+
+ 2
+ decl:)@]
@@ -3511,27 +3511,7 @@
- 5
- 2
- [@void (:link
- 1
-
- 0
-
- -5
-
-
- 2
- :)( (:link
- 1
-
- 0
-
- -6
-
-
- 2
- :) const & ep );
+ 0
@@ -3564,9 +3544,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
+ [@void (:link
1
0
@@ -3575,7 +3555,16 @@
2
- :)( E const & x );@]
+ :)( (:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ :) const & ep );
@@ -3586,7 +3575,18 @@
- 0
+ 3
+ 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
+
+ -8
+
+
+ 2
+ :)( E const & x );@]
@@ -3615,7 +3615,7 @@
0
- -22
+ -15
2
@@ -3624,7 +3624,7 @@
0
- -22
+ -15
2
@@ -3633,7 +3633,7 @@
0
- -22
+ -15
2
@@ -3679,7 +3679,18 @@
- 0
+ 3
+ 2
+ [@class
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ ;@]
@@ -3689,6 +3700,39 @@
-14
+
+ 0
+
+
+
+
+ 0
+
+ -15
+
+
+
+ 3
+ 2
+ [@template <class Tag,class T>
class (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :);@]
+
+
+
+
+ 0
+
+ -16
+
+
5
2
@@ -3706,46 +3750,13 @@
0
- -14
+ -16
2
:)( T const & e );@]
-
-
- 0
-
- -15
-
-
-
- 3
- 2
- [@class
- 1
-
- 0
-
- -15
-
-
- 2
- ;@]
-
-
-
-
- 0
-
- -16
-
-
-
- 0
-
-
0
@@ -3809,18 +3820,7 @@
- 3
- 2
- [@template <class Tag,class T>
class (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :);@]
+ 0
@@ -3831,27 +3831,7 @@
- 5
- 2
- [@template <class E, class Tag, class T>
E const & (:link
- 1
-
- 0
-
- -23
-
-
- 2
- |operator<<:)( E const & x, (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<Tag,T> const & v );@]
+ 0
@@ -3862,9 +3842,9 @@
- 7
+ 5
2
- [@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link
+ [@template <class E, class Tag, class T>
E const & (:link
1
0
@@ -3873,12 +3853,83 @@
2
+ |operator<<:)( E const & x, (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<Tag,T> const & v );@]
+
+
+
+
+ 0
+
+ -25
+
+
+
+ 7
+ 2
+ [@(:link
+ 1
+
+ 0
+
+ -25
+
+
+ 2
+ mod="m":)();
(:link
+ 1
+
+ 0
+
+ -25
+
+
+ 2
+ mod="m":)( (:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) const & x );@]
+
+
+
+
+ 0
+
+ -26
+
+
+
+ 7
+ 2
+ [@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link
+ 1
+
+ 0
+
+ -26
+
+
+ 2
|operator<<:)( E const & x,
(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<
(:link
1
0
- -22
+ -15
2
@@ -3887,7 +3938,7 @@
0
- -22
+ -15
2
@@ -3898,7 +3949,7 @@
0
- -25
+ -27
@@ -3915,50 +3966,6 @@
2
:) (:link
1
-
- 0
-
- -25
-
-
- 2
- :)();@]
-
-
-
-
- 0
-
- -26
-
-
-
- 3
- 2
- [@virtual char const * (:link
- 1
-
- 0
-
- -26
-
-
- 2
- mod="m":)() const throw();@]
-
-
-
-
- 0
-
- -27
-
-
-
- 3
- 2
- [@std::string
- 1
0
@@ -3966,7 +3973,7 @@
2
- ( std::exception const & x );@]
+ :)();@]
@@ -3979,7 +3986,7 @@
3
2
- [@(:link
+ [@virtual char const * (:link
1
0
@@ -3988,7 +3995,7 @@
2
- mod="m":)();@]
+ mod="m":)() const throw();@]
@@ -3999,7 +4006,18 @@
- 0
+ 3
+ 2
+ [@std::string
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ ( std::exception const & x );@]
@@ -4010,7 +4028,18 @@
- 0
+ 3
+ 2
+ [@(:link
+ 1
+
+ 0
+
+ -30
+
+
+ 2
+ mod="m":)();@]
@@ -4076,36 +4105,7 @@
- 7
- 2
- [@(:link
- 1
-
- 0
-
- -36
-
-
- 2
- mod="m":)();
(:link
- 1
-
- 0
-
- -36
-
-
- 2
- mod="m":)( (:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) const & x );@]
+ 0
@@ -4132,7 +4132,7 @@
0
- -15
+ -13
2
@@ -4271,7 +4271,7 @@
1
2
- (:auto !!!:)
(:include synopsis:)
!!!!Precondition:
ep shall not be null.
!!!!Throws:
The exception to which ep refers.
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -4331,36 +4331,9 @@
- 7
+ 1
2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
* ErrorInfo must be an instance of the (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :) template.
* E must be polymorphic.
!!!!Returns:
* If dynamic_cast<boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr.
* Otherwise, the returned shared_ptr points to the stored value (use (:link
- 1
-
- 0
-
- -23
-
-
- 2
- |operator<<:) to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.
!!!!Throws:
Nothing.
+ (:auto !!!:)
(:include synopsis:)
!!!!Precondition:
ep shall not be null.
!!!!Throws:
The exception to which ep refers.
@@ -4371,9 +4344,36 @@
- 1
+ 7
2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
+ (: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
+
+ -13
+
+
+ 2
+ :) const *>(&x) is 0, or if x does not store an object of type ErrorInfo, the returned value is an empty shared_ptr.
* Otherwise, the returned shared_ptr points to the stored value (use (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:) to store values in exception objects.) The shared_ptr is valid even after x has been destroyed.
!!!!Throws:
Nothing.
@@ -4404,7 +4404,7 @@
0
- -23
+ -24
2
@@ -4413,7 +4413,7 @@
0
- -15
+ -13
2
@@ -4422,7 +4422,7 @@
0
- -22
+ -15
2
@@ -4444,7 +4444,7 @@
0
- -15
+ -13
2
@@ -4453,7 +4453,7 @@
0
- -17
+ -20
2
@@ -4462,7 +4462,7 @@
0
- -22
+ -15
2
@@ -4471,7 +4471,7 @@
0
- -15
+ -13
2
@@ -4480,7 +4480,7 @@
0
- -17
+ -20
2
@@ -4489,7 +4489,7 @@
0
- -22
+ -15
2
@@ -4498,7 +4498,7 @@
0
- -15
+ -13
2
@@ -4507,7 +4507,7 @@
0
- -15
+ -13
2
@@ -4516,7 +4516,7 @@
0
- -15
+ -13
2
@@ -4525,7 +4525,7 @@
0
- -7
+ -8
2
@@ -4540,63 +4540,9 @@
- 13
+ 1
2
- (:auto !!!:)
The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:
[@#include <(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_file_name,std::string> file_name_info;
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_function,char const *> function_info;
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_errno,int> errno_info;
typedef boost::tuple<function_info,errno_info> clib_failure;
class file_open_error: public boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) { };
boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
{
if( FILE * f=fopen(name,mode) )
return boost::shared_ptr<FILE>(f,fclose);
else
throw file_open_error() <<
file_name_info(name) <<
clib_failure("fopen",errno);
}@]
Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link
- 1
-
- 0
-
- -7
-
-
- 2
- :).
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -4606,41 +4552,6 @@
-13
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -14
-
-
-
- 3
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Effects:
As if try { throw e; } catch( ... ) { return (:link
- 1
-
- 0
-
- -25
-
-
- 2
- :)(); }
-
-
-
-
- 0
-
- -15
-
-
19
2
@@ -4649,7 +4560,7 @@
0
- -15
+ -13
2
@@ -4658,7 +4569,7 @@
0
- -15
+ -13
2
@@ -4667,7 +4578,7 @@
0
- -22
+ -15
2
@@ -4676,7 +4587,7 @@
0
- -23
+ -24
2
@@ -4685,7 +4596,7 @@
0
- -15
+ -13
2
@@ -4694,7 +4605,7 @@
0
- -7
+ -8
2
@@ -4703,7 +4614,16 @@
0
- -36
+ -25
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -30
2
@@ -4716,16 +4636,195 @@
2
- :)
(:include
+ :)
+
+
+
+
+ 0
+
+ -14
+
+
+
+ 13
+ 2
+ (:auto !!!:)
The code snippet below demonstrates how boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:
[@#include <(:link
1
0
- -26
+ -35
2
- :)
+ :)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_file_name,std::string> file_name_info;
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_function,char const *> function_info;
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_errno,int> errno_info;
typedef boost::tuple<function_info,errno_info> clib_failure;
class file_open_error: public boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) { };
boost::shared_ptr<FILE>
file_open( char const * name, char const * mode )
{
if( FILE * f=fopen(name,mode) )
return boost::shared_ptr<FILE>(f,fclose);
else
throw file_open_error() <<
file_name_info(name) <<
clib_failure("fopen",errno);
}@]
Note that the members of a boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:) are stored separately in exception objects; they can only be retrieved individually, using (:link
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ :).
+
+
+
+
+ 0
+
+ -15
+
+
+
+ 25
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)
!!!!Description:
This class template is used to associate a Tag type with a value type T. Objects of type (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<Tag,T> can be passed to (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:) to be stored in objects of type boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :).
!!!!Note:
The header <(:link
+ 1
+
+ 0
+
+ -34
+
+
+ 2
+ :)> provides a declaration of the (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, like this:
[@#include <(:link
+ 1
+
+ 0
+
+ -34
+
+
+ 2
+ :)>
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_errno,int> errno_info;@]
Of course, to actually add an (:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :) object to (:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ mod="p":) using (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:), or to retrieve it using (:link
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ :), you must first #include <(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)>.
@@ -4736,99 +4835,18 @@
- 21
+ 3
2
- (:auto !!:)
Class boost::(:link
+ (:auto !!!:)
(:include synopsis:)
!!!!Effects:
As if try { throw e; } catch( ... ) { return (:link
1
0
- -15
+ -27
2
- :) provides a virtual member function (:link
- 1
-
- 0
-
- -26
-
-
- 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
-
- -17
-
-
- 2
- :)>
#include <iostream>
void f(); //throws unknown types that derive from boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :).
void
g()
{
try
{
f();
}
catch(
boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) & e )
{
std::cerr << e.(:link
- 1
-
- 0
-
- -26
-
-
- 2
- mod="m":)();
}
}@]
The (:link
- 1
-
- 0
-
- -26
-
-
- 2
- mod="m":) member function iterates over all data objects stored in the boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) through (:link
- 1
-
- 0
-
- -23
-
-
- 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
-
- -22
-
-
- 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.
+ :)(); }
@@ -4838,220 +4856,6 @@
-17
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -18
-
-
-
- 11
- 2
- (:auto !!:)
All exception types that derive from boost::(:link
- 1
-
- 0
-
- -15
-
-
- 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
-
- -15
-
-
- 2
- :) at the time of the throw, or at a later time.
(:include
- 1
-
- 0
-
- -29
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -11
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -12
-
-
- 2
- :)
-
-
-
-
- 0
-
- -19
-
-
-
- 27
- 2
- (:auto !!:)
Some exception hierarchies can not be modified to make boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) a base type. In this case, the (:link
- 1
-
- 0
-
- -40
-
-
- 2
- :) function template can be used to make exception objects derive from boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) anyway. Here is an example:
[@#include <(:link
- 1
-
- 0
-
- -17
-
-
- 2
- :)>
#include <stdexcept>
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 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
-
- -40
-
-
- 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
-
- -40
-
-
- 2
- :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) and T. This makes it possible to use (:link
- 1
-
- 0
-
- -23
-
-
- 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
-
- -15
-
-
- 2
- :) &, so that (:link
- 1
-
- 0
-
- -18
-
-
- 2
- |more information can be added to the exception at a later time:).
-
-
-
-
- 0
-
- -20
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -21
-
-
13
2
@@ -5060,7 +4864,7 @@
0
- -13
+ -5
2
@@ -5069,7 +4873,7 @@
0
- -20
+ -23
2
@@ -5078,7 +4882,7 @@
0
- -15
+ -13
2
@@ -5105,7 +4909,7 @@
0
- -15
+ -13
2
@@ -5116,112 +4920,31 @@
0
- -22
+ -18
- 25
+ 21
2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)
!!!!Description:
This class template is used to associate a Tag type with a value type T. Objects of type (:link
+ (:auto !!:)
Class boost::(:link
1
0
- -22
+ -13
2
- :)<Tag,T> can be passed to (:link
+ :) provides a virtual member function (:link
1
0
- -23
+ -28
2
- |operator<<:) to be stored in objects of type boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :).
!!!!Note:
The header <(:link
- 1
-
- 0
-
- -33
-
-
- 2
- :)> provides a declaration of the (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :) template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, like this:
[@#include <(:link
- 1
-
- 0
-
- -33
-
-
- 2
- :)>
typedef boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<struct tag_errno,int> errno_info;@]
Of course, to actually add an (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :) object to (:link
- 1
-
- 0
-
- -15
-
-
- 2
- mod="p":) using (:link
- 1
-
- 0
-
- -23
-
-
- 2
- |operator<<:), or to retrieve it using (:link
- 1
-
- 0
-
- -7
-
-
- 2
- :), you must first #include <(:link
+ 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
@@ -5230,7 +4953,284 @@
2
- :)>.
+ :)>
#include <iostream>
void f(); //throws unknown types that derive from boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :).
void
g()
{
try
{
f();
}
catch(
boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) & e )
{
std::cerr << e.(:link
+ 1
+
+ 0
+
+ -28
+
+
+ 2
+ mod="m":)();
}
}@]
The (:link
+ 1
+
+ 0
+
+ -28
+
+
+ 2
+ mod="m":) member function iterates over all data objects stored in the boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) through (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 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
+
+ -15
+
+
+ 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
+
+ -19
+
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -20
+
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+
+ 0
+
+ -21
+
+
+
+ 11
+ 2
+ (:auto !!:)
All exception types that derive from boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 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
+
+ -13
+
+
+ 2
+ :) at the time of the throw, or at a later time.
(:include
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -11
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)
+
+
+
+
+ 0
+
+ -22
+
+
+
+ 27
+ 2
+ (:auto !!:)
Some exception hierarchies can not be modified to make boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) a base type. In this case, the (:link
+ 1
+
+ 0
+
+ -40
+
+
+ 2
+ :) function template can be used to make exception objects derive from boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) anyway. Here is an example:
[@#include <(:link
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ :)>
#include <stdexcept>
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 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
+
+ -40
+
+
+ 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
+
+ -40
+
+
+ 2
+ :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) and T. This makes it possible to use (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 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
+
+ -13
+
+
+ 2
+ :) &, so that (:link
+ 1
+
+ 0
+
+ -21
+
+
+ 2
+ |more information can be added to the exception at a later time:).
@@ -5241,36 +5241,9 @@
- 7
+ 1
2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
E must be boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :), or a type that derives (indirectly) from boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :).
!!!!Effects:
Stores a copy of v into x. If x already contains data of type (:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)<Tag,T>, that data is overwritten.
!!!!Returns:
x.
(:include throws:)
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -5281,19 +5254,28 @@
- 5
+ 7
2
(:auto !!!:)
(:include synopsis:)
!!!!Requirements:
E must be boost::(:link
1
0
- -15
+ -13
2
:), or a type that derives (indirectly) from boost::(:link
1
+
+ 0
+
+ -13
+
+
+ 2
+ :).
!!!!Effects:
Stores a copy of v into x. If x already contains data of type (:link
+ 1
0
@@ -5301,7 +5283,7 @@
2
- :).
!!!!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:)
+ :)<Tag,T>, that data is overwritten.
!!!!Returns:
x.
(:include throws:)
@@ -5311,6 +5293,77 @@
-25
+
+ 7
+ 2
+ (:auto !!!:)
(:include decl:)
!!!!Effects:
* Default constructor: initializes an empty boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) object.
* Copy constructor: initializes a boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :) object which shares with x all data added through (:link
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ |operator<<:), including data that is added at a future time.
!!!!Throws:
Nothing.
+
+
+
+
+ 0
+
+ -26
+
+
+
+ 5
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
E must be boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :), or a type that derives (indirectly) from boost::(:link
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :).
!!!!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
+
+ -27
+
+
29
2
@@ -5319,7 +5372,7 @@
0
- -25
+ -27
2
@@ -5346,7 +5399,7 @@
0
- -25
+ -27
2
@@ -5355,7 +5408,7 @@
0
- -25
+ -27
2
@@ -5382,7 +5435,7 @@
0
- -25
+ -27
2
@@ -5409,7 +5462,7 @@
0
- -15
+ -13
2
@@ -5418,7 +5471,7 @@
0
- -15
+ -13
2
@@ -5436,7 +5489,7 @@
0
- -15
+ -13
2
@@ -5447,7 +5500,7 @@
0
- -26
+ -28
@@ -5458,7 +5511,7 @@
0
- -15
+ -13
2
@@ -5467,7 +5520,7 @@
0
- -23
+ -24
2
@@ -5476,7 +5529,7 @@
0
- -16
+ -18
2
@@ -5485,7 +5538,7 @@
0
- -31
+ -19
2
@@ -5494,7 +5547,7 @@
0
- -27
+ -29
2
@@ -5503,7 +5556,7 @@
0
- -26
+ -28
2
@@ -5512,7 +5565,7 @@
0
- -15
+ -13
2
@@ -5523,7 +5576,7 @@
0
- -27
+ -29
@@ -5534,7 +5587,7 @@
0
- -15
+ -13
2
@@ -5543,7 +5596,7 @@
0
- -26
+ -28
2
@@ -5554,7 +5607,7 @@
0
- -28
+ -30
@@ -5565,7 +5618,7 @@
0
- -15
+ -13
2
@@ -5576,7 +5629,7 @@
0
- -29
+ -31
@@ -5587,7 +5640,7 @@
0
- -17
+ -20
2
@@ -5596,7 +5649,7 @@
0
- -22
+ -15
2
@@ -5605,7 +5658,7 @@
0
- -15
+ -13
2
@@ -5614,7 +5667,7 @@
0
- -22
+ -15
2
@@ -5623,7 +5676,7 @@
0
- -15
+ -13
2
@@ -5632,7 +5685,7 @@
0
- -23
+ -24
2
@@ -5641,7 +5694,7 @@
0
- -7
+ -8
2
@@ -5650,7 +5703,7 @@
0
- -7
+ -8
2
@@ -5661,7 +5714,7 @@
0
- -30
+ -32
@@ -5672,7 +5725,7 @@
0
- -25
+ -27
2
@@ -5690,7 +5743,7 @@
0
- -9
+ -12
2
@@ -5699,7 +5752,7 @@
0
- -15
+ -13
2
@@ -5726,7 +5779,7 @@
0
- -25
+ -27
2
@@ -5735,7 +5788,7 @@
0
- -25
+ -27
2
@@ -5744,7 +5797,7 @@
0
- -5
+ -7
2
@@ -5762,7 +5815,7 @@
0
- -5
+ -7
2
@@ -5771,7 +5824,7 @@
0
- -25
+ -27
2
@@ -5816,7 +5869,7 @@
0
- -25
+ -27
2
@@ -5825,39 +5878,13 @@
0
- -5
+ -7
2
:) in the above examples is well-formed.
-
-
- 0
-
- -31
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
-
- 0
-
- -32
-
-
-
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
0
@@ -5905,36 +5932,9 @@
- 7
+ 1
2
- (:auto !!!:)
(:include decl:)
!!!!Effects:
* Default constructor: initializes an empty boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) object.
* Copy constructor: initializes a boost::(:link
- 1
-
- 0
-
- -15
-
-
- 2
- :) object which shares with x all data added through (:link
- 1
-
- 0
-
- -23
-
-
- 2
- |operator<<:), including data that is added at a future time.
!!!!Throws:
Nothing.
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -5961,7 +5961,7 @@
0
- -25
+ -27
2
@@ -5978,7 +5978,7 @@
21
2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
T must be of user-defined type 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
+ (: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
@@ -6010,7 +6010,7 @@
0
- -25
+ -27
2
@@ -6037,7 +6037,7 @@
0
- -25
+ -27
2
@@ -6055,7 +6055,7 @@
0
- -15
+ -13
2
@@ -6092,25 +6092,25 @@
5
2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
T must be a user-defined type with accessible no-throw copy constructor as per (15.5.1).
!!!!Returns:
* If T derives from boost::
+ (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
T must be a class with an accessible no-throw copy constructor as per (15.5.1).
!!!!Returns:
* If T derives from boost::(:link
1
0
- -15
+ -13
2
- , the returned object is of type T and is a copy of x.
* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::
+ :), the returned object is of type T and is a copy of x.
* Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::(:link
1
0
- -15
+ -13
2
- . The T sub-object is initialized from x by the T copy constructor.
!!!!Throws:
Nothing.
+ :). The T sub-object is initialized from x by the T copy constructor.
!!!!Throws:
Nothing.
@@ -6146,7 +6146,7 @@
0
- -15
+ -13
2
@@ -6155,7 +6155,7 @@
0
- -21
+ -17
2
@@ -6164,7 +6164,7 @@
0
- -30
+ -32
2
@@ -6469,9 +6469,7 @@
- 1
- 2
- !!!!Throws:
std::bad_alloc, or any exception emitted by the T copy constructor.
+ 0
@@ -6484,7 +6482,7 @@
1
2
- !!!!Throws:
std::bad_alloc, or any exception emitted by T1..TN copy constructor.
+ !!!!Throws:
std::bad_alloc, or any exception emitted by the T copy constructor.
@@ -6506,7 +6504,9 @@
- 0
+ 1
+ 2
+ !!!!Throws:
std::bad_alloc, or any exception emitted by T1..TN copy constructor.
@@ -6720,7 +6720,7 @@
3
2
- `#include <(:link
+ [@#include <(:link
1
0
@@ -6729,7 +6729,7 @@
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -6747,7 +6747,7 @@
0
- -9
+ -12
2
@@ -6769,7 +6769,7 @@
0
- -20
+ -12
2
@@ -6784,9 +6784,18 @@
- 1
+ 3
2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+ `#include <(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -6797,18 +6806,9 @@
- 3
+ 1
2
- [@#include <(:link
- 1
-
- 0
-
- -8
-
-
- 2
- :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -6826,7 +6826,7 @@
0
- -20
+ -23
2
@@ -6851,17 +6851,6 @@
-12
-
- 0
-
-
-
-
- 0
-
- -13
-
-
3
2
@@ -6870,7 +6859,7 @@
0
- -8
+ -9
2
@@ -6881,7 +6870,7 @@
0
- -14
+ -13
@@ -6896,7 +6885,18 @@
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>
[@namespace
boost
{
(:include def pre_indent="4":)
}@]
+
+
+
+
+ 0
+
+ -14
+
+
+
+ 0
@@ -6914,7 +6914,7 @@
0
- -8
+ -23
2
@@ -6929,7 +6929,18 @@
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -12
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -6940,9 +6951,7 @@
- 1
- 2
- [@(:include api:)@]
+ 0
@@ -6964,7 +6973,9 @@
- 0
+ 1
+ 2
+ [@#include <exception>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -6975,18 +6986,9 @@
- 3
+ 1
2
- [@#include <(:link
- 1
-
- 0
-
- -8
-
-
- 2
- :)>
#include <boost/current_function.hpp>
#include <boost/shared_ptr.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@(:include api:)@]
@@ -7008,18 +7010,7 @@
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -20
-
-
- 2
- :)>
[@namespace
boost
{
(:include def pre_indent="4":)
}@]
+ 0
@@ -7032,16 +7023,16 @@
3
2
- `#include <(:link
+ [@#include <(:link
1
0
- -20
+ -9
2
- :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ :)>
#include <boost/current_function.hpp>
#include <boost/shared_ptr.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -7052,27 +7043,18 @@
- 5
+ 3
2
`#include <(:link
1
0
- -34
+ -23
2
- :)>
[@namespace
boost
{
(:include
- 1
-
- 0
-
- -24
-
-
- 2
- decl pre_indent="4":)
}@]
+ :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -7083,18 +7065,7 @@
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ 0
@@ -7105,7 +7076,27 @@
- 0
+ 5
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include
+ 1
+
+ 0
+
+ -26
+
+
+ 2
+ decl pre_indent="4":)
}@]
@@ -7123,7 +7114,7 @@
0
- -31
+ -12
2
@@ -7149,7 +7140,18 @@
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -19
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -7171,9 +7173,7 @@
- 1
- 2
- [@#include <exception>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ 0
@@ -7184,18 +7184,7 @@
- 3
- 2
- [@#include <(:link
- 1
-
- 0
-
- -8
-
-
- 2
- :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ 0
@@ -7206,9 +7195,18 @@
- 1
+ 3
2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@#include <(:link
+ 1
+
+ 0
+
+ -9
+
+
+ 2
+ :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -7221,7 +7219,7 @@
1
2
- [@#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -7232,27 +7230,9 @@
- 5
+ 1
2
- [@#include <(:link
- 1
-
- 0
-
- -13
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :)>
#include <exception>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -7263,7 +7243,27 @@
- 0
+ 5
+ 2
+ [@#include <(:link
+ 1
+
+ 0
+
+ -5
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ :)>
#include <exception>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -7281,7 +7281,7 @@
0
- -9
+ -12
2
@@ -7303,7 +7303,7 @@
0
- -13
+ -5
2
@@ -7336,7 +7336,7 @@
0
- -32
+ -33
2
@@ -7380,7 +7380,7 @@
0
- -35
+ -36
2
@@ -7575,7 +7575,7 @@
- -18
+ -21
@@ -7616,7 +7616,7 @@
- -35
+ -36
@@ -7640,7 +7640,7 @@
- -30
+ -32
@@ -7664,7 +7664,7 @@
- -31
+ -19
@@ -7688,7 +7688,7 @@
- -19
+ -22
@@ -7712,7 +7712,7 @@
- -32
+ -33
@@ -7736,7 +7736,7 @@
- -21
+ -17
@@ -7784,7 +7784,7 @@
- -13
+ -5
@@ -7808,7 +7808,7 @@
- -17
+ -20
@@ -7888,7 +7888,7 @@
- -9
+ -12
@@ -7916,7 +7916,7 @@
- -27
+ -29
@@ -7968,7 +7968,7 @@
- -8
+ -9
@@ -7992,7 +7992,7 @@
- -33
+ -34
@@ -8016,7 +8016,7 @@
- -20
+ -23
@@ -8040,7 +8040,7 @@
- -34
+ -35
@@ -8088,7 +8088,7 @@
- -16
+ -18
@@ -8116,7 +8116,7 @@
- -22
+ -15
@@ -8144,7 +8144,7 @@
- -7
+ -8
@@ -8172,7 +8172,7 @@
- -23
+ -24
@@ -8200,7 +8200,7 @@
- -14
+ -16
@@ -8256,7 +8256,7 @@
- -25
+ -27
@@ -8284,7 +8284,7 @@
- -5
+ -7
@@ -8340,7 +8340,7 @@
- -24
+ -26
@@ -8364,7 +8364,7 @@
- -29
+ -31
@@ -8388,7 +8388,7 @@
- -12
+ -14
@@ -8416,7 +8416,7 @@
- -15
+ -13
@@ -8452,7 +8452,7 @@
- -28
+ -30
@@ -8484,7 +8484,7 @@
- -26
+ -28
@@ -8516,7 +8516,7 @@
- -36
+ -25
@@ -8547,7 +8547,7 @@
-5
- exception_ptr,free,function,rethrow_exception
+ boost/exception/enable_current_exception.hpp,enable_current_exception,exception_ptr,header
@@ -8565,7 +8565,7 @@
-7
- error_info,free,function,get_error_info
+ exception_ptr,free,function,rethrow_exception
@@ -8574,7 +8574,7 @@
-8
- boost/exception/exception.hpp,exception,header
+ error_info,free,function,get_error_info
@@ -8583,7 +8583,7 @@
-9
- boost/exception_ptr.hpp,exception_ptr,header
+ boost/exception/exception.hpp,exception,header
@@ -8610,7 +8610,7 @@
-12
- noalso,noindex,tutorial
+ boost/exception_ptr.hpp,exception_ptr,header
@@ -8619,7 +8619,7 @@
-13
- boost/exception/enable_current_exception.hpp,enable_current_exception,exception_ptr,header
+ exception,type
@@ -8628,7 +8628,7 @@
-14
- copy_exception,exception_ptr,free,function
+ noalso,noindex,tutorial
@@ -8637,7 +8637,7 @@
-15
- exception,type
+ error_info,free,type
@@ -8646,7 +8646,7 @@
-16
- tutorial
+ copy_exception,exception_ptr,free,function
@@ -8655,7 +8655,7 @@
-17
- boost/exception.hpp,header
+ noalso,noindex,tutorial
@@ -8673,7 +8673,7 @@
-19
- tutorial
+ boost/exception/diagnostic_information.hpp,diagnostic_information,header
@@ -8682,7 +8682,7 @@
-20
- boost/exception/info.hpp,error_info,header,info
+ boost/exception.hpp,header
@@ -8691,7 +8691,7 @@
-21
- noalso,noindex,tutorial
+ tutorial
@@ -8700,7 +8700,7 @@
-22
- error_info,free,type
+ tutorial
@@ -8709,7 +8709,7 @@
-23
- error_info,free,function,operator<<,operator<</exception
+ boost/exception/info.hpp,error_info,header,info
@@ -8718,7 +8718,7 @@
-24
- error_info,free,function,operator<<,operator<</tuple
+ error_info,free,function,operator<<,operator<</exception
@@ -8727,7 +8727,7 @@
-25
- current_exception,exception_ptr,free,function
+ exception,exception::exception,function,member
@@ -8736,7 +8736,7 @@
-26
- diagnostic_information,exception,exception::diagnostic_information,function,member
+ error_info,free,function,operator<<,operator<</tuple
@@ -8745,7 +8745,7 @@
-27
- diagnostic_information,free,function
+ current_exception,exception_ptr,free,function
@@ -8754,7 +8754,7 @@
-28
- exception,exception::~exception,function,member
+ diagnostic_information,exception,exception::diagnostic_information,function,member
@@ -8763,7 +8763,7 @@
-29
- noalso,noindex,tutorial
+ diagnostic_information,free,function
@@ -8772,7 +8772,7 @@
-30
- noalso,noindex,tutorial
+ exception,exception::~exception,function,member
@@ -8781,7 +8781,7 @@
-31
- boost/exception/diagnostic_information.hpp,diagnostic_information,header
+ noalso,noindex,tutorial
@@ -8790,7 +8790,7 @@
-32
- boost/exception/enable_error_info.hpp,enable_error_info,error_info,header
+ noalso,noindex,tutorial
@@ -8799,7 +8799,7 @@
-33
- boost/exception/error_info.hpp,error_info,header
+ boost/exception/enable_error_info.hpp,enable_error_info,error_info,header
@@ -8808,7 +8808,7 @@
-34
- boost/exception/info_tuple.hpp,error_info,header,info_tuple
+ boost/exception/error_info.hpp,error_info,header
@@ -8817,7 +8817,7 @@
-35
- boost/throw_exception.hpp,header,throw_exception
+ boost/exception/info_tuple.hpp,error_info,header,info_tuple
@@ -8826,7 +8826,7 @@
-36
- exception,exception::exception,function,member
+ boost/throw_exception.hpp,header,throw_exception