diff --git a/doc/boost_exception_all_hpp.html b/doc/boost_exception_all_hpp.html
index d41a493..55db249 100644
--- a/doc/boost_exception_all_hpp.html
+++ b/doc/boost_exception_all_hpp.html
@@ -40,7 +40,7 @@
#include <boost/exception_ptr.hpp >
#endif
A string value that contains varying amount of implementation-specific diagnostic information about the passed object:
-
Frequently Asked Questions
+
What is the cost of calling boost::throw_exception?
+
The cost is that boost::exception is added as a base of the exception emitted by boost::throw_exception (unless the passed type already derives from boost::exception .)
+
Calling boost::throw_exception does not cause dynamic memory allocations.
+
What is the cost of BOOST_THROW_EXCEPTION?
+
In addition to calling boost::throw_exception , BOOST_THROW_EXCEPTION invokes __FILE__, __LINE__ and the BOOST_THROW_EXCEPTION_CURRENT_FUNCTION macros. The space required to store the information is already included in sizeof(boost::exception ).
+
Calling BOOST_THROW_EXCEPTION does not cause dynamic memory allocations.
+
Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?
+
The benefit of calling boost::throw_exception instead of using throw directly is that it ensures that the emitted exception derives from boost::exception and that it is compatible with boost::current_exception .
+
The BOOST_THROW_EXCEPTION macro also results in a call to boost::throw_exception , but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This enables boost::diagnostic_information to compose a more useful, if not user-friendly message.
+
Typical use of boost::diagnostic_information is:
+
catch(...)
+ {
+ std::cerr <<
+ "Unexpected exception, diagnostic information follows:\n" <<
+ current_exception_diagnostic_information ();
+ }
+
This is a possible message it may display -- the information in the first line is only available if BOOST_THROW_EXCEPTION was used to throw:
+
example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
+Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
+std::exception::what: example_io error
+[struct boost::errinfo_api_function _ *] = fopen
+[struct boost::errinfo_errno _ *] = 2, "No such file or directory"
+[struct boost::errinfo_file_name _ *] = tmp1.txt
+[struct boost::errinfo_file_open_mode _ *] = rb
+
In some development environments, the first line in that message can be clicked to show the location of the throw in the debugger, so it's easy to set a break point and run again to see the unexpected throw in the context of its call stack.
Why doesn't boost::exception derive from std::exception?
-
Despite that virtual inheritance should be used in deriving from base exception types , many programmers fail to follow this principle when deriving from std::exception. If boost::exception derives from std::exception, using the enable_error_info function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.
-
Of course, boost::exception should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)
+
Despite that virtual inheritance should be used in deriving from base exception types , quite often exception types (including the ones defined in the standard library) don't derive from std::exception virtually.
+
If boost::exception derives from std::exception, using the enable_error_info function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.
+
Of course, boost::exception should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should probably also be derived virtually.)
Why is boost::exception abstract?
To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding error_info to an active exception object:
catch( boost::exception & e )
@@ -37,51 +63,9 @@
e << foo_info(foo);
throw; //Okay, re-throwing the original exception object.
}
-
What is the space overhead of the boost::exception base class?
-
The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::exception does not by itself cause dynamic memory allocations.
-
Deriving from boost::exception enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.
-
What is the speed overhead of the boost::exception base class?
-
Throwing objects that derive from boost::exception does not have any speed overhead by itself.
-
Deriving from boost::exception enables any data to be added to exceptions, which internally uses constructs that can be considered quite heavy (such as std::map and std::string.) This is still negligible compared to the typical overhead of throwing and handling of exceptions.
-
Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?
-
The benefit of calling boost::throw_exception instead of using throw directly is that it ensures that the emitted exception derives from boost::exception and that it is compatible with boost::current_exception .
-
The BOOST_THROW_EXCEPTION macro also results in a call to boost::throw_exception , but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::diagnostic_information to compose a more useful, if not user-friendly message.
-
Typical use of boost::diagnostic_information is:
-
catch( boost::exception & e )
- {
- std::cerr << "OMG!" << boost::diagnostic_information(e);
- }
-catch( ... )
- {
- std::cerr << "OMG!!!";
- }
-
This is a possible message it may display, the first line is only possible if BOOST_THROW_EXCEPTION is used:
-
example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
-Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
-std::exception::what: example_io error
-[struct boost::errinfo_api_function _ *] = fopen
-[struct boost::errinfo_errno _ *] = 2, "No such file or directory"
-[struct boost::errinfo_file_name _ *] = tmp1.txt
-[struct boost::errinfo_file_open_mode _ *] = rb
-
Why is boost::exception integrated in boost::throw_exception?
-
The boost::throw_exception function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::exception as a base of any exception passed to boost::throw_exception . Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.
-
The problem is that users of Boost Exception can't by themselves cause a library to throw types that derive from boost::exception , and without this they can't use any of the Boost Exception facilities.
-
For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::exception_ptr , but this requires that Boost Serialization throws exceptions using boost::enable_current_exception . If Boost Serialization calls boost::throw_exception to throw, this behavior happens automatically and transparently.
-
The cost of this integration is:
-
In terms of space: a pointer and 3 ints are added to the static size of exception objects.
- In terms of speed: the pointer is initialized to null at the point of the throw.
- In terms of coupling: about 400 self-contained lines of C++ with no external includes.
-
Why use operator<< overload for adding info to exceptions?
-
Before throwing an object of type that derives from boost::exception , it is often desirable to add one or more error_info objects in it. The syntactic sugar provided by exception/operator<< allows this to be done directly in a throw expression:
+
Before throwing an object of type that derives from boost::exception , it is often desirable to add one or more error_info objects in it. The syntactic sugar provided by operator<< allows this to be done directly in a throw expression:
throw error() << foo_info(foo) << bar_info(bar);
-
which saves typing compared to this possible alternative:
-
error e;
-e.add(foo_info(foo));
-e.add(bar_info(bar));
-throw e;
-
and looks better than something like:
-
throw error().add(foo_info(foo)).add(bar_info(bar));
Why is operator<< allowed to throw?
This question is referring to the following issue. Consider this throw statement example:
throw file_open_error() << file_name(fn);
diff --git a/doc/source/boost-exception.reno b/doc/source/boost-exception.reno
index 71edb09..4daf878 100644
--- a/doc/source/boost-exception.reno
+++ b/doc/source/boost-exception.reno
@@ -39,7 +39,7 @@
- 76
+ 75
0
@@ -53,9 +53,185 @@
1
- DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3
- 4003832872
- 668
+ 422CF2A57EA6763FBD2F319C4CDD8DD5ADF4493C699B50653015A362F71D4500
+ 1282485161
+ 2161
+ 321
+
+
+
+
+ 0
+ ../../../../boost/exception/info_tuple.hpp
+ 0
+ 0
+
+
+
+
+ boost/exception/info_tuple.hpp
+
+
+
+
+
+
+
+
1
+
2
+
(:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 6
+
+ reno_context
+
+
+
+
+
+ 2
+ 2F10A76F9BA78353597A5E6F1373E8188DE7AEFDCE29BFD0105527B64B37D00E
+ 1041541496
+ 4693
+ 1606
+ 20B46D7510ED9F1F40CF3A80C97AE430628745D26173DE91E3D6CB6CEABDAA58
+ 2572596214
+ 659
+ 4028
+
+
+
+
+ 0
+ ../../../../boost/exception/diagnostic_information.hpp
+ 0
+ 0
+
+
+
+
+ diagnostic_information_what
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 7
+
+ reno_context
+
+
+
+
+
+ 2
+ EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
+ 2916767056
+ 11964
+ 543
+ DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9
+ 1137981799
+ 192
+ 11766
+
+
+
+
+ 0
+ ../../../../boost/exception/exception.hpp
+ 0
+ 0
+
+
+
+
+ enable_current_exception
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 8
+
+ reno_context
+
+
+
+
+
+ 2
+ 21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61
+ 1523356166
+ 537
+ 623
+ 24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454
+ 665917505
+ 66
+ 26
+
+
+
+
+ 0
+ ../../../../boost/exception/errinfo_errno.hpp
+ 0
+ 0
+
+
+
+
+ errinfo_errno
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 9
+
+ reno_context
+
+
+
+
+
+ 1
+ F2E44174DE588C19C0172D82AD61322E6B6578ADBE2A631C6C8059CB84396D97
+ 670214046
+ 684
321
@@ -85,7 +261,48 @@
0
- 6
+ 10
+
+ reno_context
+
+
+
+
+
+ 1
+ 56C5A51DE37A6E893DA3B25D69DB65E4593C7803C6E34112E1F95C93D6037A82
+ 275305396
+ 5586
+ 321
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+
+ boost/exception/info.hpp
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 11
reno_context
@@ -126,7 +343,7 @@
0
- 7
+ 12
reno_context
@@ -134,24 +351,17 @@
- 1
- 3624A015B5382483F083885049F332C46D6BA3DCA364E89B298F592BDC3E8632
- 3335511542
- 5611
- 321
+ 0
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
+ 1
- boost/exception/info.hpp
+ exception types as simple semantic tags
@@ -161,13 +371,127 @@
1
2
- (:include include:)
(:auto also:)
+ (:include include:)
(:auto also:)
0
- 8
+ 13
+
+ reno_context
+
+
+
+
+
+ 1
+ 91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2
+ 1769665510
+ 1558
+ 352
+
+
+
+
+ 0
+ ../../example/errinfos.cpp
+ 0
+ 0
+
+
+
+
+ errinfos example
+
+
+
+
+
+
+
+ 0
+
+
+
+ 0
+
+ 14
+
+ reno_context
+
+
+
+
+
+ 1
+ FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79
+ 366628170
+ 236
+ 323
+
+
+
+
+ 0
+ ../../../../boost/exception/errinfo_file_handle.hpp
+ 0
+ 0
+
+
+
+
+ boost/exception/errinfo_file_handle.hpp
+
+
+
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 15
+
+ reno_context
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ Types
+
+
+ types
+
+
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 16
reno_context
@@ -212,52 +536,7 @@
0
- 9
-
- reno_context
-
-
-
-
-
- 2
- EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
- 2916767056
- 11964
- 527
- DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9
- 1137981799
- 192
- 11766
-
-
-
-
- 0
- ../../../../boost/exception/exception.hpp
- 0
- 0
-
-
-
-
- enable_current_exception
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 10
+ 17
reno_context
@@ -266,247 +545,9 @@
1
- 91CF203512705C8B2CDCBCD1439821CBF93CFC1A4C2EA2CA91F38DAA3F7720B2
- 1769665510
- 1558
- 352
-
-
-
-
- 0
- ../../example/errinfos.cpp
- 0
- 0
-
-
-
-
- errinfos example
-
-
-
-
-
-
-
- 0
-
-
-
- 0
-
- 11
-
- reno_context
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
-
- Types
-
-
- types
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 12
-
- reno_context
-
-
-
-
-
- 2
- AE2244409B3C13F5DB1F6CB575F9433471C6D7D034612E4F4632E13AED32F66D
- 869104984
- 4554
- 1558
- 31DAA7256398978790606A24D0BDC208490B1C7F69B7C57D7AC9FF429F789AC8
- 405252553
- 632
- 3916
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
-
- diagnostic_information_what
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 13
-
- reno_context
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
-
- exception types as simple semantic tags
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 14
-
- reno_context
-
-
-
-
-
- 2
- 21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61
- 1523356166
- 537
- 607
- 24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454
- 665917505
- 66
- 26
-
-
-
-
- 0
- ../../../../boost/exception/errinfo_errno.hpp
- 0
- 0
-
-
-
-
- errinfo_errno
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 15
-
- reno_context
-
-
-
-
-
- 1
- A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7
- 293414988
- 113
- 323
-
-
-
-
- 0
- ../../../../boost/exception.hpp
- 0
- 0
-
-
-
-
- boost/exception.hpp
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 16
-
- reno_context
-
-
-
-
-
- 1
- ED900027EBB3DB2981FE95FF6D9F2EC9978245672634315A2D7CA944095A1B87
- 3625423705
- 3046
+ F971041F60D19AFB8AA50440BC2A911633E5826FDED7B3E1CFC90D241D880C32
+ 931174095
+ 3062
95
@@ -532,47 +573,6 @@
2
(:include include:)
(:auto also:)
-
-
- 0
-
- 17
-
- reno_context
-
-
-
-
-
- 1
- FFF4359EFC66EE6AA729B641F38B4020A55E83A1C099BCA59B1CA9A9875E7F79
- 366628170
- 236
- 323
-
-
-
-
- 0
- ../../../../boost/exception/errinfo_file_handle.hpp
- 0
- 0
-
-
-
-
- boost/exception/errinfo_file_handle.hpp
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
0
@@ -586,50 +586,9 @@
1
- 195FF369BA559E3C0080F75321794B4808B6A278D4DEF8AEDBD9FCEBCE69C548
- 458631219
- 2145
- 321
-
-
-
-
- 0
- ../../../../boost/exception/info_tuple.hpp
- 0
- 0
-
-
-
-
- boost/exception/info_tuple.hpp
-
-
-
-
-
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 19
-
- reno_context
-
-
-
-
-
- 1
- A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C
- 3733653590
- 923
+ 979343A73CAA7601AF159E6240A03038F47940F71F6DE85D6BA648B179921C35
+ 2321681356
+ 939
321
@@ -659,7 +618,7 @@
0
- 20
+ 19
reno_context
@@ -698,7 +657,7 @@
0
- 21
+ 20
reno_context
@@ -739,7 +698,7 @@
0
- 22
+ 21
reno_context
@@ -784,7 +743,7 @@
0
- 23
+ 22
reno_context
@@ -818,7 +777,7 @@
0
- 24
+ 23
reno_context
@@ -827,17 +786,17 @@
3
- AE2244409B3C13F5DB1F6CB575F9433471C6D7D034612E4F4632E13AED32F66D
- 869104984
- 4554
- 1558
- DE799A1987BE19AADE2CACAE91B3E49F7D19C6915CBA23E74B2B3BEA724E25E0
- 3304879774
- 3629
+ 2F10A76F9BA78353597A5E6F1373E8188DE7AEFDCE29BFD0105527B64B37D00E
+ 1041541496
+ 4693
+ 1606
+ 4FDA7B607488BB202B2AB72C17983031070085FB6B616F2B77320088BE08EB62
+ 98930276
+ 3714
26
- A1E48DF6BBE92549200BD573D0A32B4D206A7CD1F14928B4CB64A8C6A6DA0492
- 1687543439
- 2991
+ 28B2A7701322B20C8CF5D6074F9019FBEA2FB02F1A13E83632AA76C431798777
+ 1206384617
+ 3087
628
@@ -867,7 +826,7 @@
0
- 25
+ 24
reno_context
@@ -912,7 +871,7 @@
0
- 26
+ 25
reno_context
@@ -953,7 +912,7 @@
0
- 27
+ 26
reno_context
@@ -998,7 +957,7 @@
0
- 28
+ 27
reno_context
@@ -1010,7 +969,7 @@
197F3960CFF5CBDEF7BDA8D0DE60948A5328F229C6710FEDE656530A3116B29B
742102996
475
- 1300
+ 1316
@@ -1039,7 +998,7 @@
0
- 29
+ 28
reno_context
@@ -1051,7 +1010,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E
765399792
77
@@ -1084,7 +1043,7 @@
0
- 30
+ 29
reno_context
@@ -1118,7 +1077,7 @@
0
- 31
+ 30
reno_context
@@ -1152,7 +1111,7 @@
0
- 32
+ 31
reno_context
@@ -1164,7 +1123,7 @@
FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340
1830643656
1244
- 1777
+ 1793
BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D
3168166030
1222
@@ -1197,7 +1156,7 @@
0
- 33
+ 32
reno_context
@@ -1209,7 +1168,7 @@
D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D
2209414553
2926
- 708
+ 724
49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA
638776689
2894
@@ -1242,7 +1201,7 @@
0
- 34
+ 33
reno_context
@@ -1251,10 +1210,10 @@
2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3
2841506107
891
@@ -1287,7 +1246,7 @@
0
- 35
+ 34
reno_context
@@ -1332,7 +1291,7 @@
0
- 36
+ 35
reno_context
@@ -1341,14 +1300,14 @@
2
- 964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2
- 3653363251
- 731
- 817
- 36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4
- 2314308857
- 446
- 279
+ 8A8FAA48FF123031D5E51D50BC96D0AAC468112838058976B85AC6EED4A25C57
+ 4201574956
+ 763
+ 833
+ AEA5C07CF015DDE792E061003F669239E7AADBD24BE554EB26706AD9B28B8C89
+ 2503775994
+ 472
+ 285
@@ -1377,7 +1336,7 @@
0
- 37
+ 36
reno_context
@@ -1422,7 +1381,7 @@
0
- 38
+ 37
reno_context
@@ -1456,7 +1415,7 @@
0
- 39
+ 38
reno_context
@@ -1468,7 +1427,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
@@ -1497,7 +1456,7 @@
0
- 40
+ 39
reno_context
@@ -1506,14 +1465,14 @@
3
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50
2218658069
31
@@ -1546,7 +1505,7 @@
0
- 41
+ 40
reno_context
@@ -1580,7 +1539,7 @@
0
- 42
+ 41
reno_context
@@ -1592,7 +1551,7 @@
BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835
422843600
756
- 527
+ 543
@@ -1621,7 +1580,7 @@
0
- 43
+ 42
reno_context
@@ -1630,10 +1589,10 @@
2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4
2078296250
305
@@ -1666,7 +1625,7 @@
0
- 44
+ 43
reno_context
@@ -1700,7 +1659,7 @@
0
- 45
+ 44
reno_context
@@ -1712,7 +1671,7 @@
8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392
4193409281
322
- 976
+ 992
@@ -1741,7 +1700,7 @@
0
- 46
+ 45
reno_context
@@ -1750,10 +1709,10 @@
2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
10E31FFA267B250065A2630D0B7107862920D940AEA0A5499D5341A902AE01FF
1524325002
368
@@ -1786,7 +1745,7 @@
0
- 47
+ 46
reno_context
@@ -1820,7 +1779,7 @@
0
- 48
+ 47
reno_context
@@ -1859,7 +1818,7 @@
0
- 49
+ 48
reno_context
@@ -1868,14 +1827,14 @@
3
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5
1584672077
208
@@ -1908,7 +1867,7 @@
0
- 50
+ 49
reno_context
@@ -1920,7 +1879,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F
4056200131
2307
@@ -1957,7 +1916,7 @@
0
- 51
+ 50
reno_context
@@ -1966,14 +1925,14 @@
2
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
@@ -2002,7 +1961,7 @@
0
- 52
+ 51
reno_context
@@ -2011,14 +1970,14 @@
2
- EFBD8063574E7D463C8E08D9AA1D68CFCE4630C445B20156AC7591F46AB48260
- 2082877988
- 5081
- 751
+ C6DDF7D02A058403B7BD295CF1561F167D92B7DA1DAC4EBE9F801955264180EB
+ 1656366188
+ 5040
+ 767
6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010
1097215175
161
- 240
+ 422
@@ -2047,7 +2006,7 @@
0
- 53
+ 52
reno_context
@@ -2088,7 +2047,7 @@
0
- 54
+ 53
reno_context
@@ -2121,7 +2080,7 @@
0
- -13
+ -12
2
@@ -2130,7 +2089,7 @@
0
- 55
+ 54
reno_context
@@ -2169,7 +2128,7 @@
0
- 56
+ 55
reno_context
@@ -2202,7 +2161,29 @@
0
- 57
+ -54
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ -55
+
+
+ 1
+ 2
+ (:include include:)
(:auto also:)
+
+
+
+ 0
+
+ 56
reno_context
@@ -2247,18 +2228,7 @@
0
- -56
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 58
+ 57
reno_context
@@ -2267,18 +2237,18 @@
3
- EFBD8063574E7D463C8E08D9AA1D68CFCE4630C445B20156AC7591F46AB48260
- 2082877988
- 5081
- 751
- 2C6C9E29E4E23E6C1F5876C33741FB18A63E703410F3CD61ACB348866B7B02B8
- 3516588960
- 3918
- 884
+ C6DDF7D02A058403B7BD295CF1561F167D92B7DA1DAC4EBE9F801955264180EB
+ 1656366188
+ 5040
+ 767
+ 507B2DA4184DD6A38FC6099F6454CDC96604C0C7B2C06A2955C78452F66526F8
+ 457758605
+ 3872
+ 889
38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610
542483318
573
- 3130
+ 3084
@@ -2307,7 +2277,7 @@
0
- 59
+ 58
reno_context
@@ -2319,7 +2289,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F
4056200131
2307
@@ -2356,18 +2326,7 @@
0
- -55
-
-
- 1
- 2
- (:include include:)
(:auto also:)
-
-
-
- 0
-
- 60
+ 59
reno_context
@@ -2379,7 +2338,7 @@
6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D
1090406464
362
- 527
+ 543
D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6
3172941848
330
@@ -2412,7 +2371,7 @@
0
- 61
+ 60
reno_context
@@ -2451,7 +2410,7 @@
0
- 62
+ 61
reno_context
@@ -2496,7 +2455,7 @@
0
- 63
+ 62
reno_context
@@ -2530,7 +2489,7 @@
0
- 64
+ 63
reno_context
@@ -2569,7 +2528,7 @@
0
- 65
+ 64
reno_context
@@ -2610,7 +2569,7 @@
0
- 66
+ 65
reno_context
@@ -2619,10 +2578,10 @@
3
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
97DB2EDAA38019314BA1A582664F8950F5208310F14BAB94E1880AE2C5F00CD4
3076716310
959
@@ -2659,7 +2618,7 @@
0
- 67
+ 66
reno_context
@@ -2693,7 +2652,7 @@
0
- 68
+ 67
reno_context
@@ -2734,7 +2693,7 @@
0
- 69
+ 68
reno_context
@@ -2746,7 +2705,7 @@
4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22
1416707852
3107
- 527
+ 543
@@ -2775,7 +2734,7 @@
0
- 70
+ 69
reno_context
@@ -2809,7 +2768,7 @@
0
- 71
+ 70
reno_context
@@ -2818,10 +2777,10 @@
3
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270
1574307697
8349
@@ -2858,7 +2817,7 @@
0
- 72
+ 71
reno_context
@@ -2870,7 +2829,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF
3292878997
282
@@ -2903,7 +2862,7 @@
0
- 73
+ 72
reno_context
@@ -2912,9 +2871,9 @@
1
- D7D9E02C29CF870CB25421CA2213D6119D5133CA727F19441CF322D1EA494945
- 693577231
- 5891
+ 0CA48A4674CA9C409FF164D9A1B261FB48B0916C0EA387DF2F00DC4637E769BD
+ 348807582
+ 6078
321
@@ -2944,7 +2903,7 @@
0
- 74
+ 73
reno_context
@@ -2983,7 +2942,7 @@
0
- 75
+ 74
reno_context
@@ -3024,7 +2983,7 @@
0
- 76
+ 75
reno_context
@@ -3036,7 +2995,7 @@
1B4417301AE3C0338C22E6D497391F51ABD459E521E7DFCE59A6EEC1372D33C2
202224383
1766
- 600
+ 616
E0A17503B42EE12F31548A7D20F89916D734CE88B30A1BF6F9FC2D1F83A8B6F4
3410340567
1734
@@ -3069,7 +3028,7 @@
0
- 77
+ 76
reno_context
@@ -3078,9 +3037,9 @@
1
- FCAB376A7BB77331C1D5DF08FF08A05BAB40B43F12C0A4B9B2A8253131D7B333
- 3011653711
- 15066
+ 3B52D5850D9664639CCF1D22FBD52F2EB99087BED704C3FE07FE185B38C0DD09
+ 676740550
+ 15108
321
@@ -3110,7 +3069,7 @@
0
- 78
+ 77
reno_context
@@ -3119,10 +3078,10 @@
2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
EEDBDE62A278D2AF428D9D1ED2ABCFF06163BACD91E12DD033565C7043354B89
246173488
248
@@ -3155,7 +3114,7 @@
0
- 79
+ 78
reno_context
@@ -3189,7 +3148,7 @@
0
- 80
+ 79
reno_context
@@ -3231,13 +3190,13 @@
def
- 81
+ 80
reno_layer
- 76
+ 75
0
@@ -3279,11 +3238,11 @@
0
- -51
+ -50
2
- <struct errinfo_type_info_name_,std::string>
+ <struct errinfo_errno_,int>
1
0
@@ -3346,27 +3305,7 @@
-14
- 5
- 2
- [@typedef
- 1
-
- 0
-
- -51
-
-
- 2
- <struct errinfo_errno_,int>
- 1
-
- 0
-
- -14
-
-
- 2
- ;@]
+ 0
@@ -3384,7 +3323,27 @@
-16
- 0
+ 5
+ 2
+ [@typedef
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ <struct errinfo_type_info_name_,std::string>
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ ;@]
@@ -3429,15 +3388,6 @@
-21
- 0
-
-
-
- 0
-
- -22
-
-
5
2
[@typedef (:link
@@ -3445,7 +3395,7 @@
0
- -51
+ -50
2
@@ -3454,12 +3404,21 @@
0
- -22
+ -21
2
:);@]
+
+
+ 0
+
+ -22
+
+
+ 0
+
0
@@ -3476,15 +3435,6 @@
-24
- 0
-
-
-
- 0
-
- -25
-
-
7
2
[@typedef (:link
@@ -3492,7 +3442,7 @@
0
- -51
+ -50
2
@@ -3501,7 +3451,7 @@
0
- -34
+ -33
2
@@ -3510,7 +3460,7 @@
0
- -25
+ -24
2
@@ -3520,7 +3470,7 @@
0
- -26
+ -25
0
@@ -3529,7 +3479,7 @@
0
- -27
+ -26
5
@@ -3539,7 +3489,7 @@
0
- -51
+ -50
2
@@ -3548,12 +3498,21 @@
0
- -27
+ -26
2
:);@]
+
+
+ 0
+
+ -27
+
+
+ 0
+
0
@@ -3615,15 +3574,6 @@
-34
- 0
-
-
-
- 0
-
- -35
-
-
5
2
[@typedef
@@ -3631,7 +3581,7 @@
0
- -51
+ -50
2
@@ -3640,7 +3590,7 @@
0
- -35
+ -34
2
@@ -3650,7 +3600,7 @@
0
- -36
+ -35
0
@@ -3659,7 +3609,7 @@
0
- -37
+ -36
5
@@ -3669,7 +3619,7 @@
0
- -51
+ -50
2
@@ -3678,12 +3628,21 @@
0
- -37
+ -36
2
:);@]
+
+
+ 0
+
+ -37
+
+
+ 0
+
0
@@ -3790,15 +3749,6 @@
-49
- 0
-
-
-
- 0
-
- -50
-
-
7
2
[@class
(:link
@@ -3806,7 +3756,7 @@
0
- -50
+ -49
2
@@ -3815,7 +3765,7 @@
0
- -59
+ -58
2
@@ -3824,7 +3774,7 @@
0
- -29
+ -28
2
@@ -3834,7 +3784,7 @@
0
- -51
+ -50
9
@@ -3844,7 +3794,7 @@
0
- -51
+ -50
2
@@ -3853,7 +3803,7 @@
0
- -40
+ -39
2
@@ -3862,7 +3812,7 @@
0
- -52
+ -51
2
@@ -3871,12 +3821,21 @@
0
- -49
+ -48
2
decl pre_indent="4":)
};@]
+
+
+ 0
+
+ -51
+
+
+ 0
+
0
@@ -3908,7 +3867,7 @@
0
- -57
+ -55
0
@@ -3922,6 +3881,15 @@
0
+
+
+ 0
+
+ -57
+
+
+ 0
+
0
@@ -3940,15 +3908,6 @@
0
-
-
- 0
-
- -55
-
-
- 0
-
0
@@ -3965,15 +3924,6 @@
-61
- 0
-
-
-
- 0
-
- -62
-
-
5
2
[@typedef (:link
@@ -3981,7 +3931,7 @@
0
- -51
+ -50
2
@@ -3990,12 +3940,21 @@
0
- -62
+ -61
2
:);@]
+
+
+ 0
+
+ -62
+
+
+ 0
+
0
@@ -4149,15 +4108,6 @@
0
-
-
- 0
-
- -80
-
-
- 0
-
@@ -4165,13 +4115,13 @@
api
- 82
+ 81
reno_layer
- 76
+ 75
0
@@ -4186,7 +4136,7 @@
0
- -60
+ -75
2
@@ -4208,27 +4158,7 @@
-7
- 5
- 2
- [@(:include
- 1
-
- 0
-
- -51
-
-
- 2
- def:)
(:include
- 1
-
- 0
-
- -58
-
-
- 2
- decl:)@]
+ 0
@@ -4246,7 +4176,18 @@
-9
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -59
+
+
+ 2
+ decl:)@]
@@ -4255,7 +4196,27 @@
-10
- 0
+ 5
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ def:)
(:include
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ decl:)@]
@@ -4291,7 +4252,18 @@
-14
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -26
+
+
+ 2
+ def:)@]
@@ -4309,27 +4281,7 @@
-16
- 5
- 2
- [@(:include
- 1
-
- 0
-
- -28
-
-
- 2
- decl:)
namespace
boost
{
(:include
- 1
-
- 0
-
- -32
-
-
- 2
- decl:)
}@]
+ 0
@@ -4338,7 +4290,7 @@
-17
- 3
+ 5
2
[@(:include
1
@@ -4349,7 +4301,16 @@
2
- def:)@]
+ decl:)
namespace
boost
{
(:include
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ decl:)
}@]
@@ -4365,11 +4326,11 @@
0
- -76
+ -8
2
- decl:)@]
+ def:)@]
@@ -4378,18 +4339,7 @@
-19
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -14
-
-
- 2
- def:)@]
+ 0
@@ -4398,7 +4348,18 @@
-20
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -16
+
+
+ 2
+ def:)@]
@@ -4407,18 +4368,7 @@
-21
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -8
-
-
- 2
- def:)@]
+ 0
@@ -4454,7 +4404,18 @@
-25
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -61
+
+
+ 2
+ def:)@]
@@ -4463,18 +4424,7 @@
-26
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -62
-
-
- 2
- def:)@]
+ 0
@@ -4510,7 +4460,18 @@
-30
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ decl:)@]
@@ -4519,18 +4480,7 @@
-31
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -9
-
-
- 2
- decl:)@]
+ 0
@@ -4593,15 +4543,6 @@
-38
- 0
-
-
-
- 0
-
- -39
-
-
11
2
[@(:include
@@ -4609,7 +4550,7 @@
0
- -50
+ -49
2
@@ -4618,7 +4559,7 @@
0
- -51
+ -50
2
@@ -4627,7 +4568,7 @@
0
- -51
+ -50
2
@@ -4636,7 +4577,7 @@
0
- -51
+ -50
2
@@ -4645,12 +4586,21 @@
0
- -51
+ -50
2
:)<struct throw_line_,int> throw_line;@]
+
+
+ 0
+
+ -39
+
+
+ 0
+
0
@@ -4667,15 +4617,6 @@
-41
- 0
-
-
-
- 0
-
- -42
-
-
33
2
[@#include <(:link
@@ -4683,7 +4624,7 @@
0
- -73
+ -72
2
@@ -4692,7 +4633,7 @@
0
- -57
+ -56
2
@@ -4701,34 +4642,7 @@
0
- -39
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -69
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -7
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -18
+ -38
2
@@ -4746,7 +4660,7 @@
0
- -26
+ -10
2
@@ -4755,7 +4669,7 @@
0
- -19
+ -5
2
@@ -4764,7 +4678,7 @@
0
- -17
+ -67
2
@@ -4773,7 +4687,7 @@
0
- -75
+ -25
2
@@ -4782,7 +4696,7 @@
0
- -65
+ -18
2
@@ -4791,7 +4705,34 @@
0
- -21
+ -14
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -74
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -64
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -20
2
@@ -4800,7 +4741,7 @@
0
- -45
+ -44
2
@@ -4809,7 +4750,7 @@
0
- -53
+ -52
2
@@ -4818,12 +4759,21 @@
0
- -77
+ -76
2
:)>
#endif@]
+
+
+ 0
+
+ -42
+
+
+ 0
+
0
@@ -4912,7 +4862,18 @@
-52
- 0
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -24
+
+
+ 2
+ def:)@]
@@ -4921,18 +4882,7 @@
-53
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -25
-
-
- 2
- def:)@]
+ 0
@@ -4947,7 +4897,16 @@
0
- -57
+ -55
+
+
+ 0
+
+
+
+ 0
+
+ -56
3
@@ -4957,7 +4916,7 @@
0
- -51
+ -50
2
@@ -4967,7 +4926,7 @@
0
- -56
+ -57
0
@@ -4990,15 +4949,6 @@
0
-
-
- 0
-
- -55
-
-
- 0
-
0
@@ -5042,15 +4992,6 @@
-64
- 0
-
-
-
- 0
-
- -65
-
-
3
2
[@(:include
@@ -5058,7 +4999,7 @@
0
- -35
+ -34
2
@@ -5068,11 +5009,31 @@
0
- -66
+ -65
0
+
+
+ 0
+
+ -66
+
+
+ 3
+ 2
+ [@(:include
+ 1
+
+ 0
+
+ -71
+
+
+ 2
+ decl:)@]
+
0
@@ -5087,11 +5048,11 @@
0
- -72
+ -21
2
- decl:)@]
+ def:)@]
@@ -5107,11 +5068,11 @@
0
- -22
+ -32
2
- def:)@]
+ decl:)@]
@@ -5120,18 +5081,7 @@
-69
- 3
- 2
- [@(:include
- 1
-
- 0
-
- -33
-
-
- 2
- decl:)@]
+ 0
@@ -5158,15 +5108,6 @@
-72
- 0
-
-
-
- 0
-
- -73
-
-
7
2
[@(:include
@@ -5174,7 +5115,7 @@
0
- -24
+ -23
2
@@ -5183,7 +5124,7 @@
0
- -12
+ -6
2
@@ -5192,7 +5133,7 @@
0
- -36
+ -35
2
@@ -5202,7 +5143,7 @@
0
- -74
+ -73
0
@@ -5211,7 +5152,7 @@
0
- -75
+ -74
3
@@ -5221,7 +5162,7 @@
0
- -37
+ -36
2
@@ -5231,7 +5172,7 @@
0
- -76
+ -75
0
@@ -5240,7 +5181,7 @@
0
- -77
+ -76
13
@@ -5250,7 +5191,7 @@
0
- -66
+ -65
2
@@ -5259,7 +5200,7 @@
0
- -78
+ -77
2
@@ -5268,7 +5209,7 @@
0
- -34
+ -33
2
@@ -5277,7 +5218,7 @@
0
- -43
+ -42
2
@@ -5286,7 +5227,7 @@
0
- -71
+ -70
2
@@ -5295,12 +5236,21 @@
0
- -46
+ -45
2
decl:)@]
+
+
+ 0
+
+ -77
+
+
+ 0
+
0
@@ -5319,15 +5269,6 @@
0
-
-
- 0
-
- -80
-
-
- 0
-
@@ -5335,13 +5276,13 @@
decl
- 83
+ 82
reno_layer
- 76
+ 75
0
@@ -5358,7 +5299,27 @@
-6
- 0
+ 5
+ 2
+ [@char const * (:link
+ 1
+
+ 0
+
+ -6
+
+
+ 2
+ :)( boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) const & e, bool verbose=true ) throw();@]
@@ -5367,7 +5328,18 @@
-7
- 0
+ 3
+ 2
+ [@template <class T>
---unspecified--- (:link
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ :)( T const & e );@]
@@ -5385,18 +5357,7 @@
-9
- 3
- 2
- [@template <class T>
---unspecified--- (:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)( T const & e );@]
+ 0
@@ -5423,27 +5384,7 @@
-12
- 5
- 2
- [@char const *
- 1
-
- 0
-
- -12
-
-
- 2
- ( boost::
- 1
-
- 0
-
- -50
-
-
- 2
- const & e ) throw();@]
+ 0
@@ -5542,15 +5483,6 @@
-23
- 0
-
-
-
- 0
-
- -24
-
-
7
2
[@template <class E>
std::string (:link
@@ -5558,16 +5490,16 @@
0
- -24
+ -23
2
- :)( E const & e );
std::string (:link
+ :)( E const & e, bool verbose=true );
std::string (:link
1
0
- -24
+ -23
2
@@ -5576,11 +5508,20 @@
0
- -34
+ -33
2
- :) const & p );@]
+ :) const & p, bool verbose=true );@]
+
+
+
+ 0
+
+ -24
+
+
+ 0
@@ -5607,15 +5548,6 @@
-27
- 0
-
-
-
- 0
-
- -28
-
-
21
2
[@#if !defined( BOOST_EXCEPTION_DISABLE )
#include <(:link
@@ -5623,7 +5555,7 @@
0
- -39
+ -38
2
@@ -5632,7 +5564,7 @@
0
- -28
+ -27
2
@@ -5641,7 +5573,7 @@
0
- -32
+ -31
2
@@ -5650,7 +5582,7 @@
0
- -72
+ -71
2
@@ -5659,7 +5591,7 @@
0
- -39
+ -38
2
@@ -5668,7 +5600,7 @@
0
- -45
+ -44
2
@@ -5677,7 +5609,7 @@
0
- -39
+ -38
2
@@ -5686,7 +5618,7 @@
0
- -39
+ -38
2
@@ -5695,7 +5627,7 @@
0
- -28
+ -27
2
@@ -5704,7 +5636,7 @@
0
- -32
+ -31
2
@@ -5714,7 +5646,7 @@
0
- -29
+ -28
3
@@ -5724,12 +5656,21 @@
0
- -29
+ -28
2
mod="m":)();@]
+
+
+ 0
+
+ -29
+
+
+ 0
+
0
@@ -5746,15 +5687,6 @@
-31
- 0
-
-
-
- 0
-
- -32
-
-
5
2
[@#ifdef BOOST_NO_EXCEPTIONS
void (:link
@@ -5762,7 +5694,7 @@
0
- -32
+ -31
2
@@ -5771,7 +5703,7 @@
0
- -32
+ -31
2
@@ -5781,7 +5713,7 @@
0
- -33
+ -32
1
@@ -5792,7 +5724,7 @@
0
- -34
+ -33
3
@@ -5802,7 +5734,7 @@
0
- -34
+ -33
2
@@ -5812,7 +5744,7 @@
0
- -35
+ -34
0
@@ -5821,7 +5753,7 @@
0
- -36
+ -35
3
@@ -5831,12 +5763,21 @@
0
- -36
+ -35
2
:)();@]
+
+
+ 0
+
+ -36
+
+
+ 0
+
0
@@ -5862,7 +5803,18 @@
-39
- 0
+ 3
+ 2
+ [@typedef T (:link
+ 1
+
+ 0
+
+ -39
+
+
+ 2
+ mod="m":);@]
@@ -5871,18 +5823,7 @@
-40
- 3
- 2
- [@typedef T (:link
- 1
-
- 0
-
- -40
-
-
- 2
- mod="m":);@]
+ 0
@@ -5900,15 +5841,6 @@
-42
- 0
-
-
-
- 0
-
- -43
-
-
5
2
[@template <class T>
(:link
@@ -5916,7 +5848,7 @@
0
- -34
+ -33
2
@@ -5925,12 +5857,21 @@
0
- -43
+ -42
2
:)( T const & e );@]
+
+
+ 0
+
+ -43
+
+
+ 0
+
0
@@ -5947,15 +5888,6 @@
-45
- 0
-
-
-
- 0
-
- -46
-
-
5
2
[@void (:link
@@ -5963,7 +5895,7 @@
0
- -46
+ -45
2
@@ -5972,12 +5904,21 @@
0
- -34
+ -33
2
:) const & ep );
+
+
+ 0
+
+ -46
+
+
+ 0
+
0
@@ -5994,15 +5935,6 @@
-48
- 0
-
-
-
- 0
-
- -49
-
-
9
2
[@(:link
@@ -6010,7 +5942,7 @@
0
- -40
+ -39
2
@@ -6019,7 +5951,7 @@
0
- -49
+ -48
2
@@ -6028,7 +5960,7 @@
0
- -40
+ -39
2
@@ -6037,7 +5969,7 @@
0
- -49
+ -48
2
@@ -6047,13 +5979,33 @@
0
- -50
+ -49
3
2
[@class (:link
1
+
+ 0
+
+ -49
+
+
+ 2
+ :);@]
+
+
+
+ 0
+
+ -50
+
+
+ 3
+ 2
+ [@template <class Tag,class T>
class (:link
+ 1
0
@@ -6070,9 +6022,9 @@
-51
- 3
+ 5
2
- [@template <class Tag,class T>
class (:link
+ [@(:link
1
0
@@ -6081,7 +6033,16 @@
2
- :);@]
+ mod="m":)( (:link
+ 1
+
+ 0
+
+ -39
+
+
+ 2
+ mod="m":) const & v );@]
@@ -6090,27 +6051,7 @@
-52
- 5
- 2
- [@(:link
- 1
-
- 0
-
- -52
-
-
- 2
- mod="m":)( (:link
- 1
-
- 0
-
- -40
-
-
- 2
- mod="m":) const & v );@]
+ 0
@@ -6134,7 +6075,7 @@
0
- -57
+ -55
0
@@ -6152,7 +6093,7 @@
0
- -58
+ -57
5
@@ -6162,7 +6103,7 @@
0
- -58
+ -57
2
@@ -6171,7 +6112,7 @@
0
- -51
+ -50
2
@@ -6181,7 +6122,7 @@
0
- -59
+ -58
7
@@ -6191,7 +6132,7 @@
0
- -59
+ -58
2
@@ -6200,7 +6141,7 @@
0
- -59
+ -58
2
@@ -6209,7 +6150,7 @@
0
- -50
+ -49
2
@@ -6219,16 +6160,7 @@
0
- -55
-
-
- 0
-
-
-
- 0
-
- -60
+ -59
3
@@ -6238,12 +6170,21 @@
0
- -60
+ -59
2
();@]
+
+
+ 0
+
+ -60
+
+
+ 0
+
0
@@ -6287,15 +6228,6 @@
-65
- 0
-
-
-
- 0
-
- -66
-
-
5
2
[@class
(:link
@@ -6303,7 +6235,7 @@
0
- -66
+ -65
2
@@ -6312,12 +6244,21 @@
0
- -50
+ -49
2
{
---unspecified---
};@]
+
+
+ 0
+
+ -66
+
+
+ 0
+
0
@@ -6352,15 +6293,6 @@
-70
- 0
-
-
-
- 0
-
- -71
-
-
5
2
[@(:link
@@ -6368,7 +6300,7 @@
0
- -34
+ -33
2
@@ -6377,7 +6309,7 @@
0
- -71
+ -70
2
@@ -6387,7 +6319,7 @@
0
- -72
+ -71
3
@@ -6397,12 +6329,21 @@
0
- -72
+ -71
2
:)( T const & x );@]
+
+
+ 0
+
+ -72
+
+
+ 0
+
0
@@ -6428,15 +6369,6 @@
-75
- 0
-
-
-
- 0
-
- -76
-
-
7
2
[@template <class E, class Tag1, class T1, ..., class TagN, class TN>
E const & (:link
@@ -6444,7 +6376,7 @@
0
- -76
+ -75
2
@@ -6453,7 +6385,7 @@
0
- -51
+ -50
2
@@ -6462,7 +6394,7 @@
0
- -51
+ -50
2
@@ -6472,7 +6404,7 @@
0
- -77
+ -76
0
@@ -6481,7 +6413,7 @@
0
- -78
+ -77
5
@@ -6491,7 +6423,7 @@
0
- -51
+ -50
2
@@ -6500,7 +6432,7 @@
0
- -78
+ -77
2
@@ -6510,7 +6442,7 @@
0
- -79
+ -78
0
@@ -6519,7 +6451,7 @@
0
- -80
+ -79
0
@@ -6531,13 +6463,13 @@
include
- 84
+ 83
reno_layer
- 76
+ 75
0
@@ -6556,18 +6488,27 @@
-6
- 19
+ 7
2
- (:auto !!:)
Boost Exception provides a namespace-scope function (:link
+ (:auto !!!:)
(:include synopsis:)
The (:link
1
0
- -24
+ -6
2
- :) which takes a boost::(:link
+ :) function is intended to be called from a user-defined std::exception::what() override. This allows diagnostic information to be returned as the what() string.
!!!!Returns:
A pointer to a zero-terminated buffer that contains a string similar to the std::string returned by the (:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :) function, or null to indicate a failure.
!!!!Throws:
Nothing.
!!!!Note:
The returned pointer becomes invalid if any (:link
1
0
@@ -6576,7 +6517,119 @@
2
- :). The returned string contains:
*the string representation of all data objects added to the boost::(:link
+ :) is modified or added to the exception object, or if another diagnostic information function is called.
+
+
+
+ 0
+
+ -7
+
+
+ 21
+ 2
+ (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
* T must be a class with an accessible no-throw copy constructor.
* If T has any virtual base types, those types must have an accessible default constructor.
!!!!Returns:
An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).
!!!!Description:
This function is designed to be used directly in a throw-expression to enable the (:link
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ :) support in Boost Exception. For example:
[@class
my_exception:
public std::exception
{
};
....
throw boost::(:link
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ :)(my_exception());@]
Unless (:link
+ 1
+
+ 0
+
+ -7
+
+
+ 2
+ :) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link
+ 1
+
+ 0
+
+ -70
+
+
+ 2
+ :) may return an (:link
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ :) which refers to an instance of (:link
+ 1
+
+ 0
+
+ -65
+
+
+ 2
+ :). See (:link
+ 1
+
+ 0
+
+ -70
+
+
+ 2
+ :) for details.
!!!!Note:
Instead of using the throw keyword directly, it is preferable to call boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :). This is guaranteed to throw an exception that derives from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) and supports the (:link
+ 1
+
+ 0
+
+ -33
+
+
+ 2
+ :) functionality.
+
+
+
+ 0
+
+ -8
+
+
+ 7
+ 2
+ (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard (:link
1
0
@@ -6585,57 +6638,21 @@
2
- :) through (:link
+ :) instance for transporting a relevant errno value in exceptions deriving from boost::(:link
1
0
- -58
+ -49
2
- mod="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.
The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:
[@#include <(:link
+ :).
!!!Example:
(:include
1
0
- -42
-
-
- 2
- :)>
#include <iostream>
void f(); //throws unknown types that derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :).
void
g()
{
try
{
f();
}
catch(
boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) & e )
{
std::cerr << (:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)(e);
}
}@]
(:include
- 1
-
- 0
-
- -61
+ -13
2
@@ -6645,143 +6662,13 @@
0
- -7
+ -9
1
2
(:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
- 0
-
- -8
-
-
- 5
- 2
- (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard
- 1
-
- 0
-
- -51
-
-
- 2
- instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::
- 1
-
- 0
-
- -50
-
-
- 2
- objects.
-
-
-
- 0
-
- -9
-
-
- 21
- 2
- (:auto !!!:)
(:include synopsis:)
!!!!Requirements:
* T must be a class with an accessible no-throw copy constructor.
* If T has any virtual base types, those types must have an accessible default constructor.
!!!!Returns:
An object of ''unspecified'' type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &).
!!!!Description:
This function is designed to be used directly in a throw-expression to enable the (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) support in Boost Exception. For example:
[@class
my_exception:
public std::exception
{
};
....
throw boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :)(my_exception());@]
Unless (:link
- 1
-
- 0
-
- -9
-
-
- 2
- :) is called at the time an exception object is used in a throw-expression, an attempt to copy it using (:link
- 1
-
- 0
-
- -71
-
-
- 2
- :) may return an (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) which refers to an instance of (:link
- 1
-
- 0
-
- -66
-
-
- 2
- :). See (:link
- 1
-
- 0
-
- -71
-
-
- 2
- :) for details.
!!!!Note:
Instead of using the throw keyword directly, it is preferable to call boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :). This is guaranteed to throw an exception that derives from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) and supports the (:link
- 1
-
- 0
-
- -34
-
-
- 2
- :) functionality.
-
0
@@ -6789,6 +6676,147 @@
-10
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+ 0
+
+ -11
+
+
+ 19
+ 2
+ (:auto !!:)
Boost Exception provides a namespace-scope function (:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :) which takes a boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :). The returned string contains:
*the string representation of all data objects added to the boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) through (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ mod="/":);
*the output from std::exception::what;
*additional platform-specific diagnostic information.
The returned string is not presentable as a friendly user message, but because it is generated automatically, it is useful for debugging or logging purposes. Here is an example:
[@#include <(:link
+ 1
+
+ 0
+
+ -41
+
+
+ 2
+ :)>
#include <iostream>
void f(); //throws unknown types that derive from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :).
void
g()
{
try
{
f();
}
catch(
boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) & e )
{
std::cerr << (:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)(e);
}
}@]
(:include
+ 1
+
+ 0
+
+ -60
+
+
+ 2
+ :)
+
+
+
+ 0
+
+ -12
+
+
+ 7
+ 2
+ (:auto !!!:)
Deriving from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.
In other words: with boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:
[@struct exception_base: virtual std::exception, virtual boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]
Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.
+
+
+
+ 0
+
+ -13
+
+
37
2
[@#include <(:link
@@ -6796,7 +6824,7 @@
0
- -68
+ -67
2
@@ -6805,7 +6833,7 @@
0
- -26
+ -25
2
@@ -6814,7 +6842,43 @@
0
- -19
+ -18
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -74
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -64
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -10
2
@@ -6827,48 +6891,12 @@
2
- :)>
#include <(:link
- 1
-
- 0
-
- -75
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -65
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -7
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -16
-
-
- 2
:)>
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
#include <stdio.h>
#include <errno.h>
#include <exception>
struct error : virtual std::exception, virtual boost::(:link
1
0
- -50
+ -49
2
@@ -6877,7 +6905,7 @@
0
- -28
+ -27
2
@@ -6886,7 +6914,7 @@
0
- -22
+ -21
2
@@ -6895,7 +6923,7 @@
0
- -14
+ -8
2
@@ -6904,7 +6932,7 @@
0
- -37
+ -36
2
@@ -6913,7 +6941,7 @@
0
- -35
+ -34
2
@@ -6922,7 +6950,7 @@
0
- -28
+ -27
2
@@ -6931,7 +6959,7 @@
0
- -22
+ -21
2
@@ -6940,7 +6968,7 @@
0
- -14
+ -8
2
@@ -6949,7 +6977,7 @@
0
- -27
+ -26
2
@@ -6959,147 +6987,24 @@
0
- -11
+ -14
+
+
+ 1
+ 2
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+
+ 0
+
+ -15
1
2
(:auto !!:)
(:pagelist fmt="index" tags="type":)
-
-
- 0
-
- -12
-
-
- 7
- 2
- (:auto !!!:)
(:include synopsis:)
The
- 1
-
- 0
-
- -12
-
-
- 2
- function is intended to be called from a user-defined std::exception::what() override. This allows diagnostic information to be returned as the what() string.
!!!!Returns:
A pointer to a zero-terminated buffer that contains a string similar to the std::string returned by the
- 1
-
- 0
-
- -24
-
-
- 2
- function, or null to indicate a failure.
!!!!Throws:
Nothing.
!!!!Note:
The returned pointer becomes invalid if any
- 1
-
- 0
-
- -51
-
-
- 2
- is modified or added to the exception object, or if another diagnostic information function is called.
-
-
-
- 0
-
- -13
-
-
- 7
- 2
- (:auto !!!:)
Deriving from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.
In other words: with boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :), what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:
[@struct exception_base: virtual std::exception, virtual boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) { };
struct io_error: virtual exception_base { };
struct file_error: virtual io_error { };
struct read_error: virtual io_error { };
struct file_read_error: virtual file_error, virtual read_error { };@]
Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.
-
-
-
- 0
-
- -14
-
-
- 7
- 2
- (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) instance for transporting a relevant errno value in exceptions deriving from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :).
!!!Example:
(:include
- 1
-
- 0
-
- -10
-
-
- 2
- :)
-
-
-
- 0
-
- -15
-
-
- 3
- 2
- (:auto !!:)
This header has been deprecated.
Please #include <
- 1
-
- 0
-
- -42
-
-
- 2
- > instead.
-
0
@@ -7107,9 +7012,27 @@
-16
- 1
+ 5
2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
+ (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ objects.
@@ -7140,21 +7063,37 @@
-19
- 1
- 2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
- 0
-
- -20
-
-
19
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
+
+ -5
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -74
+
+
+ 2
+ :)>
#include <(:link
+ 1
+
+ 0
+
+ -67
+
+
+ 2
+ :)>
#include <(:link
+ 1
0
@@ -7162,39 +7101,12 @@
2
- :)>
#include <(:link
- 1
-
- 0
-
- -75
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -68
-
-
- 2
- :)>
#include <(:link
- 1
-
- 0
-
- -19
-
-
- 2
:)>
#include <boost/shared_ptr.hpp>
#include <stdio.h>
#include <string>
#include <errno.h>
typedef boost::(:link http://www.boost.org/libs/tuple/doc/tuple_users_guide.html|tuple:)<boost::(:link
1
0
- -22
+ -21
2
@@ -7203,7 +7115,7 @@
0
- -14
+ -8
2
@@ -7212,7 +7124,7 @@
0
- -50
+ -49
2
@@ -7221,7 +7133,7 @@
0
- -37
+ -36
2
@@ -7230,7 +7142,7 @@
0
- -33
+ -32
2
@@ -7240,7 +7152,7 @@
0
- -21
+ -20
1
@@ -7251,7 +7163,7 @@
0
- -22
+ -21
7
@@ -7261,7 +7173,7 @@
0
- -51
+ -50
2
@@ -7270,7 +7182,7 @@
0
- -50
+ -49
2
@@ -7279,7 +7191,7 @@
0
- -10
+ -13
2
@@ -7289,7 +7201,7 @@
0
- -23
+ -22
69
@@ -7299,7 +7211,7 @@
0
- -79
+ -78
2
@@ -7308,7 +7220,7 @@
0
- -32
+ -31
2
@@ -7317,7 +7229,7 @@
0
- -54
+ -53
2
@@ -7326,7 +7238,7 @@
0
- -38
+ -37
2
@@ -7335,7 +7247,7 @@
0
- -55
+ -54
2
@@ -7344,7 +7256,7 @@
0
- -79
+ -78
2
@@ -7353,7 +7265,7 @@
0
- -13
+ -12
2
@@ -7362,7 +7274,7 @@
0
- -47
+ -46
2
@@ -7371,7 +7283,7 @@
0
- -6
+ -11
2
@@ -7380,7 +7292,7 @@
0
- -50
+ -49
2
@@ -7389,7 +7301,43 @@
0
- -28
+ -27
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :)
##Transporting of Arbitrary Data to the Catch Site
###(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -75
2
@@ -7402,69 +7350,6 @@
2
- :)
##Transporting of Arbitrary Data to the Catch Site
###(:link
- 1
-
- 0
-
- -51
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -58
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -76
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -33
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -72
-
-
- 2
- :)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -9
-
-
- 2
:)
###(:link
1
@@ -7474,12 +7359,12 @@
2
- :)
###(:link
+ :)
##(:link http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html|N2179:) Transporting of Exceptions between Threads
###(:link
1
0
- -43
+ -33
2
@@ -7488,84 +7373,12 @@
0
- -46
+ -7
2
:)
###(:link
1
-
- 0
-
- -66
-
-
- 2
- :)
##Diagnostic Information
###(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :)
###(:link
- 1
-
- 0
-
- -36
-
-
- 2
- :)
##(:link
- 1
-
- 0
-
- -60
-
-
- 2
- :)
#API
##(:link
- 1
-
- 0
-
- -44
-
-
- 2
- :)
##(:link
- 1
-
- 0
-
- -30
-
-
- 2
- :)
##(:link
- 1
-
- 0
-
- -11
-
-
- 2
- :)
##(:link
- 1
-
- 0
-
- -41
-
-
- 2
- :)
##(:link
- 1
0
@@ -7573,7 +7386,16 @@
2
- :)
##(:link
+ :)
###(:link
+ 1
+
+ 0
+
+ -42
+
+
+ 2
+ :)
###(:link
1
0
@@ -7582,12 +7404,93 @@
2
- mod="w":)
#(:link
+ :)
###(:link
1
0
- -56
+ -65
+
+
+ 2
+ :)
##Diagnostic Information
###(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :)
###(:link
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -59
+
+
+ 2
+ :)
#API
##(:link
+ 1
+
+ 0
+
+ -43
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -29
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -15
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -40
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -69
+
+
+ 2
+ :)
##(:link
+ 1
+
+ 0
+
+ -44
2
@@ -7596,7 +7499,16 @@
0
- -63
+ -55
+
+
+ 2
+ mod="w":)
#(:link
+ 1
+
+ 0
+
+ -62
2
@@ -7606,12 +7518,39 @@
0
- -24
+ -23
- 37
+ 39
2
- (: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
+ (:auto !!!:)
(:include synopsis:)
!!!!Returns:
A string value that contains varying amount of diagnostic information about the passed object:
* If E can be statically converted to either boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) or to std::exception, dynamic_cast is used to access both the boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) and std::exception subobjects of e; otherwise, the boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :) template is not available.
* The returned value contains the string representations of all (:link
1
0
@@ -7620,80 +7559,8 @@
2
- :), the returned value contains the string representations of all (:link
- 1
-
- 0
-
- -51
-
-
- 2
:) objects stored in the boost::(:link
1
-
- 0
-
- -50
-
-
- 2
- :) through (:link
- 1
-
- 0
-
- -58
-
-
- 2
- mod="/":), along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.
*Otherwise, if E can be statically converted to std::exception:
**if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :);
**otherwise the returned value contains the what() string.
*Otherwise, the boost::(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) template is not available.
The string representation of each (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) object is deduced by a function call that is bound at the time the (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :)<Tag,T> template is instantiated. The following overload resolutions are attempted in order:
#Unqualified call to to_string(x), where x is of type (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :)<Tag,T> (the return value is expected to be of type std::string.)
#Unqualified call to to_string(x.(:link
- 1
0
@@ -7701,12 +7568,66 @@
2
+ :) subobject through (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ mod="/":).
* In addition, if verbose is true, it contains other diagnostic information relevant to the exception, including the string returned by std::exception::what().
The string representation of each (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) object is deduced by an unqualified call to to_string(x), where x is of type (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :)<Tag,T>, for which Boost Exception defines a generic overload. It converts x.(:link
+ 1
+
+ 0
+
+ -48
+
+
+ 2
+ mod="m":)() to string, attempting to bind (at the time the (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :)<Tag,T> template is instantiated) the following functions in order:
#Unqualified call to to_string(x.(:link
+ 1
+
+ 0
+
+ -48
+
+
+ 2
mod="m":)()) (the return value is expected to be of type std::string.)
#Unqualified call to s << x.(:link
1
0
- -49
+ -48
2
@@ -7715,16 +7636,16 @@
0
- -24
+ -23
2
- :) is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the (:link
+ :) is called; if both overload resolutions are unsuccessful, the system is unable to convert the (:link
1
0
- -51
+ -50
2
@@ -7733,7 +7654,7 @@
0
- -34
+ -33
2
@@ -7742,7 +7663,7 @@
0
- -24
+ -23
2
@@ -7751,7 +7672,7 @@
0
- -46
+ -45
2
@@ -7760,16 +7681,16 @@
0
- -36
+ -35
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
+ :)(verbose);
}
else return <unspecified-string-value>;@]
(:include
1
0
- -61
+ -60
2
@@ -7779,7 +7700,7 @@
0
- -25
+ -24
7
@@ -7789,7 +7710,7 @@
0
- -51
+ -50
2
@@ -7798,7 +7719,7 @@
0
- -50
+ -49
2
@@ -7807,7 +7728,7 @@
0
- -34
+ -33
2
@@ -7817,13 +7738,51 @@
0
- -26
+ -25
1
2
(:auto !!:)
!!!Synopsis
(:include synopsis:)
+
+
+ 0
+
+ -26
+
+
+ 7
+ 2
+ (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr<FILE> in exceptions deriving from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :).
!!!Example:
(:include
+ 1
+
+ 0
+
+ -13
+
+
+ 2
+ :)
+
0
@@ -7833,50 +7792,12 @@
7
2
- (:auto !!!:)
(:include synopsis:)
This type is designed to be used as a standard (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) instance for transporting a relevant FILE pointer managed by a boost::shared_ptr<FILE> in exceptions deriving from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :).
!!!Example:
(:include
- 1
-
- 0
-
- -10
-
-
- 2
- :)
-
-
-
- 0
-
- -28
-
-
- 7
- 2
(:auto !!!:)
(:include synopsis:)
This macro takes an exception object, records the current function name, __FILE__ and __LINE__ in it, and forwards it to (:link
1
0
- -32
+ -31
2
@@ -7885,7 +7806,7 @@
0
- -33
+ -32
2
@@ -7894,7 +7815,7 @@
0
- -24
+ -23
2
@@ -7904,7 +7825,7 @@
0
- -29
+ -28
3
@@ -7914,7 +7835,7 @@
0
- -50
+ -49
2
@@ -7924,7 +7845,7 @@
0
- -30
+ -29
1
@@ -7935,7 +7856,7 @@
0
- -31
+ -30
1
@@ -7946,7 +7867,7 @@
0
- -32
+ -31
15
@@ -7956,7 +7877,7 @@
0
- -32
+ -31
2
@@ -7965,7 +7886,7 @@
0
- -50
+ -49
2
@@ -7974,7 +7895,7 @@
0
- -32
+ -31
2
@@ -7983,7 +7904,7 @@
0
- -32
+ -31
2
@@ -7992,7 +7913,7 @@
0
- -50
+ -49
2
@@ -8001,7 +7922,7 @@
0
- -34
+ -33
2
@@ -8010,7 +7931,7 @@
0
- -32
+ -31
2
@@ -8020,7 +7941,7 @@
0
- -33
+ -32
13
@@ -8030,7 +7951,7 @@
0
- -51
+ -50
2
@@ -8039,7 +7960,7 @@
0
- -50
+ -49
2
@@ -8048,7 +7969,7 @@
0
- -58
+ -57
2
@@ -8057,7 +7978,7 @@
0
- -33
+ -32
2
@@ -8066,7 +7987,7 @@
0
- -33
+ -32
2
@@ -8075,7 +7996,7 @@
0
- -45
+ -44
2
@@ -8085,7 +8006,7 @@
0
- -34
+ -33
23
@@ -8095,7 +8016,7 @@
0
- -34
+ -33
2
@@ -8104,7 +8025,7 @@
0
- -34
+ -33
2
@@ -8113,7 +8034,7 @@
0
- -34
+ -33
2
@@ -8122,7 +8043,7 @@
0
- -34
+ -33
2
@@ -8131,7 +8052,7 @@
0
- -34
+ -33
2
@@ -8140,7 +8061,7 @@
0
- -34
+ -33
2
@@ -8149,7 +8070,7 @@
0
- -34
+ -33
2
@@ -8158,7 +8079,7 @@
0
- -34
+ -33
2
@@ -8167,7 +8088,7 @@
0
- -34
+ -33
2
@@ -8176,7 +8097,7 @@
0
- -51
+ -50
2
@@ -8185,7 +8106,7 @@
0
- -50
+ -49
2
@@ -8195,7 +8116,7 @@
0
- -35
+ -34
7
@@ -8205,7 +8126,7 @@
0
- -51
+ -50
2
@@ -8214,7 +8135,7 @@
0
- -50
+ -49
2
@@ -8223,7 +8144,7 @@
0
- -10
+ -13
2
@@ -8233,7 +8154,7 @@
0
- -36
+ -35
9
@@ -8243,7 +8164,7 @@
0
- -50
+ -49
2
@@ -8252,7 +8173,7 @@
0
- -24
+ -23
2
@@ -8261,7 +8182,7 @@
0
- -36
+ -35
2
@@ -8270,7 +8191,7 @@
0
- -36
+ -35
2
@@ -8280,7 +8201,7 @@
0
- -37
+ -36
7
@@ -8290,7 +8211,7 @@
0
- -51
+ -50
2
@@ -8299,7 +8220,7 @@
0
- -50
+ -49
2
@@ -8308,7 +8229,63 @@
0
- -10
+ -13
+
+
+ 2
+ :)
+
+
+
+ 0
+
+ -37
+
+
+ 11
+ 2
+ (:auto !!:)
All exception types that derive from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 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.
When exceptions derive from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :), arbitrary data can be added to exception objects:
*At the point of the throw;
*At a later time as exceptions bubble up the call stack.
(:include
+ 1
+
+ 0
+
+ -63
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -47
+
+
+ 2
+ :)
(:include
+ 1
+
+ 0
+
+ -19
2
@@ -8321,62 +8298,6 @@
-38
- 11
- 2
- (:auto !!:)
All exception types that derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 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.
When exceptions derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :), arbitrary data can be added to exception objects:
*At the point of the throw;
*At a later time as exceptions bubble up the call stack.
(:include
- 1
-
- 0
-
- -64
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -48
-
-
- 2
- :)
(:include
- 1
-
- 0
-
- -20
-
-
- 2
- :)
-
-
-
- 0
-
- -39
-
-
1
2
(:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -8385,7 +8306,7 @@
0
- -40
+ -39
5
@@ -8395,7 +8316,7 @@
0
- -51
+ -50
2
@@ -8404,7 +8325,7 @@
0
- -40
+ -39
2
@@ -8414,7 +8335,7 @@
0
- -41
+ -40
1
@@ -8425,7 +8346,7 @@
0
- -42
+ -41
1
@@ -8436,7 +8357,7 @@
0
- -43
+ -42
5
@@ -8446,7 +8367,7 @@
0
- -9
+ -7
2
@@ -8455,7 +8376,7 @@
0
- -71
+ -70
2
@@ -8465,7 +8386,7 @@
0
- -44
+ -43
77
@@ -8475,7 +8396,7 @@
0
- -39
+ -38
2
@@ -8484,7 +8405,7 @@
0
- -39
+ -38
2
@@ -8493,7 +8414,7 @@
0
- -57
+ -56
2
@@ -8502,7 +8423,7 @@
0
- -57
+ -56
2
@@ -8511,7 +8432,7 @@
0
- -7
+ -10
2
@@ -8520,61 +8441,7 @@
0
- -7
-
-
- 2
- synopsis:)@]
`#include <(:link
- 1
-
- 0
-
- -18
-
-
- 2
- :)>
[@(:include
- 1
-
- 0
-
- -18
-
-
- 2
- synopsis:)@]
`#include <(:link
- 1
-
- 0
-
- -67
-
-
- 2
- :)>
[@(:include
- 1
-
- 0
-
- -67
-
-
- 2
- synopsis:)@]
`#include <(:link
- 1
-
- 0
-
- -73
-
-
- 2
- :)>
[@(:include
- 1
-
- 0
-
- -73
+ -10
2
@@ -8601,7 +8468,7 @@
0
- -77
+ -66
2
@@ -8610,7 +8477,7 @@
0
- -77
+ -66
2
@@ -8619,7 +8486,7 @@
0
- -31
+ -72
2
@@ -8628,7 +8495,7 @@
0
- -31
+ -72
2
@@ -8637,7 +8504,7 @@
0
- -16
+ -9
2
@@ -8646,7 +8513,7 @@
0
- -16
+ -9
2
@@ -8655,56 +8522,38 @@
0
- -68
+ -76
2
- :)>
(:include
+ :)>
[@(:include
1
0
- -68
+ -76
2
- synopsis:)
`#include <(:link
+ synopsis:)@]
`#include <(:link
1
0
- -26
+ -30
2
- :)>
(:include
+ :)>
[@(:include
1
0
- -26
+ -30
2
- synopsis:)
`#include <(:link
- 1
-
- 0
-
- -19
-
-
- 2
- :)>
(:include
- 1
-
- 0
-
- -19
-
-
- 2
- synopsis:)
`#include <(:link
+ synopsis:)@]
`#include <(:link
1
0
@@ -8713,7 +8562,7 @@
2
- :)>
(:include
+ :)>
[@(:include
1
0
@@ -8722,12 +8571,12 @@
2
- synopsis:)
`#include <(:link
+ synopsis:)@]
`#include <(:link
1
0
- -75
+ -67
2
@@ -8736,7 +8585,7 @@
0
- -75
+ -67
2
@@ -8745,7 +8594,7 @@
0
- -65
+ -25
2
@@ -8754,7 +8603,79 @@
0
- -65
+ -25
+
+
+ 2
+ synopsis:)
`#include <(:link
+ 1
+
+ 0
+
+ -18
+
+
+ 2
+ :)>
(:include
+ 1
+
+ 0
+
+ -18
+
+
+ 2
+ synopsis:)
`#include <(:link
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ :)>
(:include
+ 1
+
+ 0
+
+ -14
+
+
+ 2
+ synopsis:)
`#include <(:link
+ 1
+
+ 0
+
+ -74
+
+
+ 2
+ :)>
(:include
+ 1
+
+ 0
+
+ -74
+
+
+ 2
+ synopsis:)
`#include <(:link
+ 1
+
+ 0
+
+ -64
+
+
+ 2
+ :)>
(:include
+ 1
+
+ 0
+
+ -64
2
@@ -8763,7 +8684,7 @@
0
- -53
+ -52
2
@@ -8772,7 +8693,7 @@
0
- -53
+ -52
2
@@ -8781,7 +8702,7 @@
0
- -21
+ -20
2
@@ -8790,7 +8711,7 @@
0
- -21
+ -20
2
@@ -8799,7 +8720,7 @@
0
- -42
+ -41
2
@@ -8808,7 +8729,7 @@
0
- -42
+ -41
2
@@ -8818,7 +8739,7 @@
0
- -45
+ -44
21
@@ -8828,7 +8749,7 @@
0
- -33
+ -32
2
@@ -8837,7 +8758,7 @@
0
- -33
+ -32
2
@@ -8846,7 +8767,7 @@
0
- -50
+ -49
2
@@ -8855,7 +8776,7 @@
0
- -9
+ -7
2
@@ -8864,7 +8785,7 @@
0
- -72
+ -71
2
@@ -8873,7 +8794,7 @@
0
- -32
+ -31
2
@@ -8882,7 +8803,7 @@
0
- -16
+ -17
2
@@ -8891,7 +8812,7 @@
0
- -32
+ -31
2
@@ -8900,7 +8821,7 @@
0
- -24
+ -23
2
@@ -8909,7 +8830,7 @@
0
- -28
+ -27
2
@@ -8919,7 +8840,7 @@
0
- -46
+ -45
1
@@ -8930,7 +8851,7 @@
0
- -47
+ -46
5
@@ -8940,7 +8861,7 @@
0
- -50
+ -49
2
@@ -8949,7 +8870,7 @@
0
- -13
+ -12
2
@@ -8959,7 +8880,7 @@
0
- -48
+ -47
19
@@ -8969,7 +8890,7 @@
0
- -50
+ -49
2
@@ -8978,7 +8899,7 @@
0
- -42
+ -41
2
@@ -8987,7 +8908,7 @@
0
- -50
+ -49
2
@@ -8996,7 +8917,7 @@
0
- -14
+ -8
2
@@ -9005,7 +8926,7 @@
0
- -42
+ -41
2
@@ -9014,7 +8935,7 @@
0
- -50
+ -49
2
@@ -9023,7 +8944,7 @@
0
- -37
+ -36
2
@@ -9032,7 +8953,7 @@
0
- -50
+ -49
2
@@ -9041,7 +8962,7 @@
0
- -50
+ -49
2
@@ -9051,7 +8972,7 @@
0
- -49
+ -48
5
@@ -9061,7 +8982,7 @@
0
- -51
+ -50
2
@@ -9070,7 +8991,7 @@
0
- -51
+ -50
2
@@ -9080,7 +9001,7 @@
0
- -50
+ -49
13
@@ -9090,7 +9011,7 @@
0
- -50
+ -49
2
@@ -9099,7 +9020,7 @@
0
- -50
+ -49
2
@@ -9108,7 +9029,7 @@
0
- -51
+ -50
2
@@ -9117,7 +9038,7 @@
0
- -58
+ -57
2
@@ -9126,7 +9047,7 @@
0
- -50
+ -49
2
@@ -9135,7 +9056,7 @@
0
- -33
+ -32
2
@@ -9145,7 +9066,7 @@
0
- -51
+ -50
41
@@ -9155,7 +9076,7 @@
0
- -51
+ -50
2
@@ -9164,7 +9085,7 @@
0
- -58
+ -57
2
@@ -9173,7 +9094,7 @@
0
- -50
+ -49
2
@@ -9182,7 +9103,7 @@
0
- -57
+ -56
2
@@ -9191,7 +9112,7 @@
0
- -51
+ -50
2
@@ -9200,7 +9121,7 @@
0
- -57
+ -56
2
@@ -9209,7 +9130,7 @@
0
- -51
+ -50
2
@@ -9218,7 +9139,7 @@
0
- -57
+ -56
2
@@ -9227,7 +9148,7 @@
0
- -51
+ -50
2
@@ -9236,7 +9157,7 @@
0
- -58
+ -57
2
@@ -9245,7 +9166,7 @@
0
- -7
+ -10
2
@@ -9254,7 +9175,7 @@
0
- -50
+ -49
2
@@ -9263,7 +9184,7 @@
0
- -58
+ -57
2
@@ -9272,7 +9193,7 @@
0
- -33
+ -32
2
@@ -9281,7 +9202,7 @@
0
- -69
+ -68
2
@@ -9290,7 +9211,7 @@
0
- -50
+ -49
2
@@ -9299,7 +9220,7 @@
0
- -50
+ -49
2
@@ -9308,7 +9229,7 @@
0
- -33
+ -32
2
@@ -9317,7 +9238,7 @@
0
- -51
+ -50
2
@@ -9326,7 +9247,7 @@
0
- -58
+ -57
2
@@ -9336,7 +9257,7 @@
0
- -52
+ -51
3
@@ -9346,7 +9267,7 @@
0
- -51
+ -50
2
@@ -9356,7 +9277,7 @@
0
- -53
+ -52
1
@@ -9367,7 +9288,7 @@
0
- -54
+ -53
33
@@ -9377,7 +9298,7 @@
0
- -50
+ -49
2
@@ -9386,7 +9307,7 @@
0
- -50
+ -49
2
@@ -9395,7 +9316,7 @@
0
- -51
+ -50
2
@@ -9404,7 +9325,7 @@
0
- -58
+ -57
2
@@ -9413,7 +9334,7 @@
0
- -50
+ -49
2
@@ -9422,7 +9343,7 @@
0
- -51
+ -50
2
@@ -9431,7 +9352,7 @@
0
- -50
+ -49
2
@@ -9440,7 +9361,7 @@
0
- -58
+ -57
2
@@ -9449,7 +9370,7 @@
0
- -50
+ -49
2
@@ -9458,7 +9379,7 @@
0
- -58
+ -57
2
@@ -9467,7 +9388,7 @@
0
- -50
+ -49
2
@@ -9476,7 +9397,7 @@
0
- -33
+ -32
2
@@ -9485,7 +9406,7 @@
0
- -33
+ -32
2
@@ -9494,7 +9415,7 @@
0
- -24
+ -23
2
@@ -9503,7 +9424,7 @@
0
- -51
+ -50
2
@@ -9512,19 +9433,518 @@
0
- -50
+ -49
2
:). This is useful for inclusion in logs and other diagnostic objects.
+
+ 0
+
+ -54
+
+
+ 27
+ 2
+ (:auto !!:)
Some exception hierarchies can not be modified to make boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) a base type. In this case, the (:link
+ 1
+
+ 0
+
+ -71
+
+
+ 2
+ :) function template can be used to make exception objects derive from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) anyway. Here is an example:
[@#include <(:link
+ 1
+
+ 0
+
+ -41
+
+
+ 2
+ :)>
#include <stdexcept>
typedef boost::(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link
+ 1
+
+ 0
+
+ -50
+
+
+ 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
+
+ -71
+
+
+ 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
+
+ -71
+
+
+ 2
+ :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) and T. This makes it possible to use (:link
+ 1
0
-57
+ 2
+ mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) &, so that (:link
+ 1
+
+ 0
+
+ -37
+
+
+ 2
+ |more information can be added to the exception at a later time:).
+
+
+
+ 0
+
+ -55
+
+
+ 81
+ 2
+ (:auto !!:)
!!!What is the cost of calling boost::throw_exception?
The cost is that boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) is added as a base of the exception emitted by boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :) (unless the passed type already derives from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :).)
Calling boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :) does not cause dynamic memory allocations.
!!!What is the cost of BOOST_THROW_EXCEPTION?
In addition to calling boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :),
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ invokes __FILE__, __LINE__ and the (:link
+ 1
+
+ 0
+
+ -44
+
+
+ 2
+ |BOOST_THROW_EXCEPTION_CURRENT_FUNCTION:) macros. The space required to store the information is already included in sizeof(boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :)).
Calling
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ does not cause dynamic memory allocations.
!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?
The benefit of calling boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) and that it is compatible with boost::(:link
+ 1
+
+ 0
+
+ -70
+
+
+ 2
+ :).
The (:link
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ :) macro also results in a call to boost::(:link
+ 1
+
+ 0
+
+ -31
+
+
+ 2
+ :), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This enables boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :) to compose a more useful, if not user-friendly message.
Typical use of boost::(:link
+ 1
+
+ 0
+
+ -23
+
+
+ 2
+ :) is:
[@catch(...)
{
std::cerr <<
"Unexpected exception, diagnostic information follows:\n" <<
+ 1
+
+ 0
+
+ -35
+
+
+ 2
+ ();
}@]
This is a possible message it may display -- the information in the first line is only available if (:link
+ 1
+
+ 0
+
+ -27
+
+
+ 2
+ :) was used to throw:
[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct boost::(:link
+ 1
+
+ 0
+
+ -21
+
+
+ 2
+ :)_ *] = fopen
[struct boost::(:link
+ 1
+
+ 0
+
+ -8
+
+
+ 2
+ :)_ *] = 2, "No such file or directory"
[struct boost::(:link
+ 1
+
+ 0
+
+ -36
+
+
+ 2
+ :)_ *] = tmp1.txt
[struct boost::(:link
+ 1
+
+ 0
+
+ -34
+
+
+ 2
+ :)_ *] = rb@]
In some development environments, the first line in that message can be clicked to show the location of the throw in the debugger, so it's easy to set a break point and run again to see the unexpected throw in the context of its call stack.
!!!Why doesn't boost::exception derive from std::exception?
Despite that (:link
+ 1
+
+ 0
+
+ -46
+
+
+ 2
+ |virtual inheritance should be used in deriving from base exception types:), quite often exception types (including the ones defined in the standard library) don't derive from std::exception virtually.
If boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) derives from std::exception, using the (:link
+ 1
+
+ 0
+
+ -71
+
+
+ 2
+ :) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.
Of course, boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should probably also be derived virtually.)
!!!Why is boost::exception abstract?
To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) to an active exception object:
[@catch( boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) & e )
{
e (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ |<<:) foo_info(foo);
throw e; //Compile error: boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) is abstract
}@]
The correct code is:
[@catch( boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :) & e )
{
e (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ |<<:) foo_info(foo);
throw; //Okay, re-throwing the original exception object.
}@]
!!!Why use operator<< overload for adding info to exceptions?
Before throwing an object of type that derives from boost::(:link
+ 1
+
+ 0
+
+ -49
+
+
+ 2
+ :), it is often desirable to add one or more (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) objects in it. The syntactic sugar provided by (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ mod="/":) allows this to be done directly in a throw expression:
[@throw error() (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ |<<:) foo_info(foo) (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ |<<:) bar_info(bar);@]
!!!Why is operator<< allowed to throw?
This question is referring to the following issue. Consider this throw statement example:
[@throw file_open_error() (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ |<<:) file_name(fn);@]
The intention here is to throw a file_open_error, however if (:link
+ 1
+
+ 0
+
+ -57
+
+
+ 2
+ mod="/":) fails to copy the std::string contained in the file_name (:link
+ 1
+
+ 0
+
+ -50
+
+
+ 2
+ :) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.
Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:
->''"Throwing an exception requires an object to throw. A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion. However, it is possible that throwing some other exception will cause memory exhaustion."''
Therefore, the language itself does not guarantee that an attempt to throw an exception is guaranteed to throw an object of the specified type; propagating a std::bad_alloc seems to be a possibility even outside of the scope of Boost Exception.
+
+
+
+ 0
+
+ -56
+
+
1
2
(:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -9533,378 +9953,7 @@
0
- -56
-
-
- 81
- 2
- (:auto !!:)
!!!Why doesn't boost::exception derive from std::exception?
Despite that (:link
- 1
-
- 0
-
- -47
-
-
- 2
- |virtual inheritance should be used in deriving from base exception types:), many programmers fail to follow this principle when deriving from std::exception. If boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) derives from std::exception, using the (:link
- 1
-
- 0
-
- -72
-
-
- 2
- :) function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &) statements.
Of course, boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)
!!!Why is boost::exception abstract?
To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) to an active exception object:
[@catch( boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) & e )
{
e (:link
- 1
-
- 0
-
- -58
-
-
- 2
- |<<:) foo_info(foo);
throw e; //Compile error: boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) is abstract
}@]
The correct code is:
[@catch( boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) & e )
{
e (:link
- 1
-
- 0
-
- -58
-
-
- 2
- |<<:) foo_info(foo);
throw; //Okay, re-throwing the original exception object.
}@]
!!!What is the space overhead of the boost::exception base class?
The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) does not by itself cause dynamic memory allocations.
Deriving from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.
!!!What is the speed overhead of the boost::exception base class?
Throwing objects that derive from boost::exception does not have any speed overhead by itself.
Deriving from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) enables any data to be added to exceptions, which internally uses constructs that can be considered quite heavy (such as std::map and std::string.) This is still negligible compared to the typical overhead of throwing and handling of exceptions.
!!!Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?
The benefit of calling boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :) instead of using throw directly is that it ensures that the emitted exception derives from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) and that it is compatible with boost::(:link
- 1
-
- 0
-
- -71
-
-
- 2
- :).
The (:link
- 1
-
- 0
-
- -28
-
-
- 2
- :) macro also results in a call to boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :), but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) to compose a more useful, if not user-friendly message.
Typical use of boost::(:link
- 1
-
- 0
-
- -24
-
-
- 2
- :) is:
[@catch( boost::exception & e )
{
std::cerr << "OMG!" << boost::diagnostic_information(e);
}
catch( ... )
{
std::cerr << "OMG!!!";
}@]
This is a possible message it may display, the first line is only possible if (:link
- 1
-
- 0
-
- -28
-
-
- 2
- :) is used:
[@example_io.cpp(70): Throw in function class boost::shared_ptr<struct _iobuf> __cdecl my_fopen(const char *,const char *)
Dynamic exception type: class boost::exception_detail::clone_impl<class fopen_error>
std::exception::what: example_io error
[struct boost::(:link
- 1
-
- 0
-
- -22
-
-
- 2
- :)_ *] = fopen
[struct boost::(:link
- 1
-
- 0
-
- -14
-
-
- 2
- :)_ *] = 2, "No such file or directory"
[struct boost::(:link
- 1
-
- 0
-
- -37
-
-
- 2
- :)_ *] = tmp1.txt
[struct boost::(:link
- 1
-
- 0
-
- -35
-
-
- 2
- :)_ *] = rb@]
!!!Why is boost::exception integrated in boost::throw_exception?
The boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :) function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) as a base of any exception passed to boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :). Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.
The problem is that users of Boost Exception can't by themselves cause a library to throw types that derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :), and without this they can't use any of the Boost Exception facilities.
For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::(:link
- 1
-
- 0
-
- -34
-
-
- 2
- :), but this requires that Boost Serialization throws exceptions using boost::(:link
- 1
-
- 0
-
- -9
-
-
- 2
- :). If Boost Serialization calls boost::(:link
- 1
-
- 0
-
- -32
-
-
- 2
- :) to throw, this behavior happens automatically and transparently.
The cost of this integration is:
* In terms of space: a pointer and 3 ints are added to the static size of exception objects.
* In terms of speed: the pointer is initialized to null at the point of the throw.
* In terms of coupling: about 400 self-contained lines of C++ with no external includes.
!!!Why use operator<< overload for adding info to exceptions?
Before throwing an object of type that derives from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :), it is often desirable to add one or more (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) objects in it. The syntactic sugar provided by (:link
- 1
-
- 0
-
- -58
-
-
- 2
- :) allows this to be done directly in a throw expression:
[@throw error() (:link
- 1
-
- 0
-
- -58
-
-
- 2
- |<<:) foo_info(foo) (:link
- 1
-
- 0
-
- -58
-
-
- 2
- |<<:) bar_info(bar);@]
which saves typing compared to this possible alternative:
[@error e;
e.add(foo_info(foo));
e.add(bar_info(bar));
throw e;@]
and looks better than something like:
[@throw error().add(foo_info(foo)).add(bar_info(bar));@]
!!!Why is operator<< allowed to throw?
This question is referring to the following issue. Consider this throw statement example:
[@throw file_open_error() (:link
- 1
-
- 0
-
- -58
-
-
- 2
- |<<:) file_name(fn);@]
The intention here is to throw a file_open_error, however if (:link
- 1
-
- 0
-
- -58
-
-
- 2
- mod="/":) fails to copy the std::string contained in the file_name (:link
- 1
-
- 0
-
- -51
-
-
- 2
- :) wrapper, a std::bad_alloc could propagate instead. This behavior seems undesirable to some programmers.
Bjarne Stroustrup, The C++ Programming Language, 3rd Edition, page 371:
->''"Throwing an exception requires an object to throw. A C++ implementation is required to have enough spare memory to be able to throw bad_alloc in case of memory exhaustion. However, it is possible that throwing some other exception will cause memory exhaustion."''
Therefore, the language itself does not guarantee that an attempt to throw an exception is guaranteed to throw an object of the specified type; propagating a std::bad_alloc seems to be a possibility even outside of the scope of Boost Exception.
-
-
-
- 0
-
- -58
+ -57
7
@@ -9914,7 +9963,7 @@
0
- -50
+ -49
2
@@ -9923,7 +9972,7 @@
0
- -50
+ -49
2
@@ -9932,7 +9981,7 @@
0
- -51
+ -50
2
@@ -9942,7 +9991,7 @@
0
- -59
+ -58
7
@@ -9952,7 +10001,7 @@
0
- -50
+ -49
2
@@ -9961,7 +10010,7 @@
0
- -50
+ -49
2
@@ -9970,7 +10019,7 @@
0
- -58
+ -57
2
@@ -9980,135 +10029,7 @@
0
- -55
-
-
- 27
- 2
- (:auto !!:)
Some exception hierarchies can not be modified to make boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) a base type. In this case, the (:link
- 1
-
- 0
-
- -72
-
-
- 2
- :) function template can be used to make exception objects derive from boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) anyway. Here is an example:
[@#include <(:link
- 1
-
- 0
-
- -42
-
-
- 2
- :)>
#include <stdexcept>
typedef boost::(:link
- 1
-
- 0
-
- -51
-
-
- 2
- :)<struct tag_std_range_min,size_t> std_range_min;
typedef boost::(:link
- 1
-
- 0
-
- -51
-
-
- 2
- :)<struct tag_std_range_max,size_t> std_range_max;
typedef boost::(:link
- 1
-
- 0
-
- -51
-
-
- 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
-
- -72
-
-
- 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
-
- -72
-
-
- 2
- :)<T> gets us an object of ''unspecified type'' which is guaranteed to derive from both boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) and T. This makes it possible to use (:link
- 1
-
- 0
-
- -58
-
-
- 2
- mod="/":) to store additional information in the exception object. The exception can be intercepted as T &, so existing exception handling will not break. It can also be intercepted as boost::(:link
- 1
-
- 0
-
- -50
-
-
- 2
- :) &, so that (:link
- 1
-
- 0
-
- -38
-
-
- 2
- |more information can be added to the exception at a later time:).
-
-
-
- 0
-
- -60
+ -59
1
@@ -10119,7 +10040,7 @@
0
- -61
+ -60
11
@@ -10129,7 +10050,7 @@
0
- -24
+ -23
2
@@ -10138,7 +10059,7 @@
0
- -22
+ -21
2
@@ -10147,7 +10068,7 @@
0
- -14
+ -8
2
@@ -10156,7 +10077,7 @@
0
- -37
+ -36
2
@@ -10165,7 +10086,7 @@
0
- -35
+ -34
2
@@ -10175,7 +10096,7 @@
0
- -62
+ -61
7
@@ -10185,7 +10106,7 @@
0
- -51
+ -50
2
@@ -10194,7 +10115,7 @@
0
- -50
+ -49
2
@@ -10203,7 +10124,7 @@
0
- -10
+ -13
2
@@ -10213,7 +10134,7 @@
0
- -63
+ -62
1
@@ -10224,7 +10145,7 @@
0
- -64
+ -63
17
@@ -10234,7 +10155,7 @@
0
- -42
+ -41
2
@@ -10243,7 +10164,7 @@
0
- -51
+ -50
2
@@ -10252,7 +10173,7 @@
0
- -50
+ -49
2
@@ -10261,7 +10182,7 @@
0
- -51
+ -50
2
@@ -10270,7 +10191,7 @@
0
- -50
+ -49
2
@@ -10279,7 +10200,7 @@
0
- -58
+ -57
2
@@ -10288,7 +10209,7 @@
0
- -33
+ -32
2
@@ -10297,7 +10218,7 @@
0
- -33
+ -32
2
@@ -10307,7 +10228,7 @@
0
- -65
+ -64
1
@@ -10318,7 +10239,7 @@
0
- -66
+ -65
5
@@ -10328,7 +10249,7 @@
0
- -34
+ -33
2
@@ -10337,12 +10258,23 @@
0
- -71
+ -70
2
:).
+
+
+ 0
+
+ -66
+
+
+ 1
+ 2
+ (:auto !!!:)
!!!Synopsis
(:include synopsis:)
+
0
@@ -10352,7 +10284,7 @@
1
2
- (:auto !!!:)
!!!Synopsis
(:include synopsis:)
+ (:auto !!:)
!!!Synopsis
(:include synopsis:)
@@ -10374,24 +10306,13 @@
1
2
- (:auto !!:)
!!!Synopsis
(:include synopsis:)
-
-
-
- 0
-
- -70
-
-
- 1
- 2
(:auto !!:)
(:pagelist tags="macro":)
0
- -71
+ -70
39
@@ -10401,7 +10322,7 @@
0
- -71
+ -70
2
@@ -10410,7 +10331,7 @@
0
- -71
+ -70
2
@@ -10419,7 +10340,7 @@
0
- -43
+ -42
2
@@ -10428,7 +10349,7 @@
0
- -50
+ -49
2
@@ -10437,7 +10358,7 @@
0
- -34
+ -33
2
@@ -10446,7 +10367,7 @@
0
- -34
+ -33
2
@@ -10455,7 +10376,7 @@
0
- -71
+ -70
2
@@ -10464,7 +10385,7 @@
0
- -71
+ -70
2
@@ -10473,7 +10394,7 @@
0
- -9
+ -7
2
@@ -10482,7 +10403,7 @@
0
- -71
+ -70
2
@@ -10491,7 +10412,7 @@
0
- -34
+ -33
2
@@ -10500,7 +10421,7 @@
0
- -66
+ -65
2
@@ -10509,7 +10430,7 @@
0
- -50
+ -49
2
@@ -10518,7 +10439,7 @@
0
- -50
+ -49
2
@@ -10527,7 +10448,7 @@
0
- -50
+ -49
2
@@ -10536,7 +10457,7 @@
0
- -34
+ -33
2
@@ -10545,7 +10466,7 @@
0
- -50
+ -49
2
@@ -10554,7 +10475,7 @@
0
- -33
+ -32
2
@@ -10563,7 +10484,7 @@
0
- -78
+ -77
2
@@ -10573,7 +10494,7 @@
0
- -72
+ -71
5
@@ -10583,7 +10504,7 @@
0
- -50
+ -49
2
@@ -10592,7 +10513,7 @@
0
- -50
+ -49
2
@@ -10602,7 +10523,7 @@
0
- -73
+ -72
1
@@ -10613,7 +10534,7 @@
0
- -74
+ -73
15
@@ -10623,7 +10544,7 @@
0
- -7
+ -10
2
@@ -10632,7 +10553,7 @@
0
- -19
+ -18
2
@@ -10641,7 +10562,7 @@
0
- -50
+ -49
2
@@ -10650,7 +10571,7 @@
0
- -9
+ -7
2
@@ -10659,7 +10580,7 @@
0
- -14
+ -8
2
@@ -10668,7 +10589,7 @@
0
- -9
+ -7
2
@@ -10677,7 +10598,7 @@
0
- -50
+ -49
2
@@ -10687,7 +10608,7 @@
0
- -75
+ -74
1
@@ -10698,7 +10619,7 @@
0
- -76
+ -75
5
@@ -10708,7 +10629,7 @@
0
- -50
+ -49
2
@@ -10717,7 +10638,7 @@
0
- -50
+ -49
2
@@ -10727,7 +10648,7 @@
0
- -77
+ -76
1
@@ -10738,7 +10659,7 @@
0
- -78
+ -77
9
@@ -10748,7 +10669,7 @@
0
- -51
+ -50
2
@@ -10757,7 +10678,7 @@
0
- -71
+ -70
2
@@ -10766,7 +10687,7 @@
0
- -34
+ -33
2
@@ -10775,7 +10696,7 @@
0
- -66
+ -65
2
@@ -10785,7 +10706,7 @@
0
- -79
+ -78
11
@@ -10795,7 +10716,7 @@
0
- -9
+ -7
2
@@ -10804,7 +10725,7 @@
0
- -32
+ -31
2
@@ -10813,7 +10734,7 @@
0
- -50
+ -49
2
@@ -10822,7 +10743,7 @@
0
- -74
+ -73
2
@@ -10831,7 +10752,7 @@
0
- -80
+ -79
2
@@ -10841,7 +10762,7 @@
0
- -80
+ -79
37
@@ -10851,7 +10772,7 @@
0
- -71
+ -70
2
@@ -10860,7 +10781,7 @@
0
- -34
+ -33
2
@@ -10869,7 +10790,7 @@
0
- -77
+ -76
2
@@ -10878,7 +10799,7 @@
0
- -50
+ -49
2
@@ -10887,7 +10808,7 @@
0
- -34
+ -33
2
@@ -10896,7 +10817,7 @@
0
- -34
+ -33
2
@@ -10905,7 +10826,7 @@
0
- -71
+ -70
2
@@ -10914,7 +10835,7 @@
0
- -71
+ -70
2
@@ -10923,7 +10844,7 @@
0
- -46
+ -45
2
@@ -10932,7 +10853,7 @@
0
- -34
+ -33
2
@@ -10941,7 +10862,7 @@
0
- -46
+ -45
2
@@ -10950,7 +10871,7 @@
0
- -71
+ -70
2
@@ -10959,7 +10880,7 @@
0
- -34
+ -33
2
@@ -10968,7 +10889,7 @@
0
- -9
+ -7
2
@@ -10977,7 +10898,7 @@
0
- -34
+ -33
2
@@ -10986,7 +10907,7 @@
0
- -66
+ -65
2
@@ -10995,7 +10916,7 @@
0
- -71
+ -70
2
@@ -11004,7 +10925,7 @@
0
- -46
+ -45
2
@@ -11017,13 +10938,13 @@
throws
- 85
+ 84
reno_layer
- 76
+ 75
0
@@ -11445,7 +11366,9 @@
-51
- 0
+ 1
+ 2
+ !!!!Throws:
Any exception emitted by v's copy constructor.
@@ -11454,9 +11377,7 @@
-52
- 1
- 2
- !!!!Throws:
Any exception emitted by v's copy constructor.
+ 0
@@ -11480,7 +11401,7 @@
0
- -57
+ -55
0
@@ -11498,7 +11419,7 @@
0
- -58
+ -57
1
@@ -11509,7 +11430,7 @@
0
- -59
+ -58
0
@@ -11518,7 +11439,7 @@
0
- -55
+ -59
0
@@ -11665,7 +11586,9 @@
-75
- 0
+ 1
+ 2
+ !!!!Throws:
std::bad_alloc, or any exception emitted by T1..TN copy constructor.
@@ -11674,9 +11597,7 @@
-76
- 1
- 2
- !!!!Throws:
std::bad_alloc, or any exception emitted by T1..TN copy constructor.
+ 0
@@ -11705,15 +11626,6 @@
0
-
-
- 0
-
- -80
-
-
- 0
-
@@ -11721,13 +11633,13 @@
synopsis
- 86
+ 85
reno_layer
- 76
+ 75
0
@@ -11735,9 +11647,18 @@
-5
- 1
+ 3
2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+ [@#include <
+ 1
+
+ 0
+
+ -10
+
+
+ 2
+ >
#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -11746,7 +11667,18 @@
-6
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -72
+
+
+ 2
+ :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -11757,16 +11689,16 @@
3
2
- [@#include <(:link
+ `#include <
1
0
- -39
+ -30
2
- :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -11782,7 +11714,7 @@
0
- -21
+ -18
2
@@ -11791,7 +11723,7 @@
0
- -21
+ -18
2
@@ -11804,18 +11736,9 @@
-9
- 3
+ 1
2
- `#include <
- 1
-
- 0
-
- -31
-
-
- 2
- >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -11824,7 +11747,18 @@
-10
- 0
+ 3
+ 2
+ [@#include <(:link
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ :)>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -11842,18 +11776,7 @@
-12
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -73
-
-
- 2
- :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ 0
@@ -11871,27 +11794,18 @@
-14
- 5
+ 3
2
- `#include <
+ [@#include <(:link
1
0
- -19
+ -56
2
- >
(:include
- 1
-
- 0
-
- -19
-
-
- 2
- synopsis:)
+ :)>
namespace
boost
{
template <class> class weak_ptr;
(:include api pre_indent="4":)
}@]
@@ -11909,9 +11823,27 @@
-16
- 1
+ 5
2
- (:include api:)
+ `#include <
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ >
(:include
+ 1
+
+ 0
+
+ -20
+
+
+ 2
+ synopsis:)
@@ -11920,18 +11852,9 @@
-17
- 3
+ 1
2
- [@#include <(:link
- 1
-
- 0
-
- -57
-
-
- 2
- :)>
namespace
boost
{
template <class> class weak_ptr;
(:include api pre_indent="4":)
}@]
+ (:include api:)
@@ -11947,27 +11870,7 @@
0
- -7
-
-
- 2
- >
#include <boost/tuple/tuple.hpp>
namespace
boost
{
(:include api pre_indent="4":)
}@]
-
-
-
- 0
-
- -19
-
-
- 3
- 2
- [@#include <
- 1
-
- 0
-
- -57
+ -56
2
@@ -11977,7 +11880,7 @@
0
- -20
+ -19
0
@@ -11986,7 +11889,7 @@
0
- -21
+ -20
3
@@ -11996,7 +11899,7 @@
0
- -57
+ -56
2
@@ -12006,7 +11909,7 @@
0
- -22
+ -21
5
@@ -12016,7 +11919,7 @@
0
- -68
+ -67
2
@@ -12025,7 +11928,7 @@
0
- -68
+ -67
2
@@ -12035,11 +11938,40 @@
0
- -23
+ -22
0
+
+
+ 0
+
+ -23
+
+
+ 5
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -72
+
+
+ 2
+ :)>\\
`#include <
+ 1
+
+ 0
+
+ -76
+
+
+ 2
+ >\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
0
@@ -12049,41 +11981,12 @@
5
2
- `#include <(:link
- 1
-
- 0
-
- -73
-
-
- 2
- :)>\\
`#include <
- 1
-
- 0
-
- -77
-
-
- 2
- >\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
-
-
-
- 0
-
- -25
-
-
- 5
- 2
`#include <
1
0
- -53
+ -52
2
@@ -12092,7 +11995,7 @@
0
- -53
+ -52
2
@@ -12102,7 +12005,7 @@
0
- -26
+ -25
3
@@ -12112,7 +12015,7 @@
0
- -57
+ -56
2
@@ -12122,7 +12025,7 @@
0
- -27
+ -26
5
@@ -12132,7 +12035,7 @@
0
- -17
+ -14
2
@@ -12141,7 +12044,7 @@
0
- -17
+ -14
2
@@ -12151,7 +12054,7 @@
0
- -28
+ -27
3
@@ -12161,12 +12064,21 @@
0
- -16
+ -17
2
:)>
(:include decl:)
+
+
+ 0
+
+ -28
+
+
+ 0
+
0
@@ -12183,7 +12095,18 @@
-30
- 0
+ 3
+ 2
+ [@#include <
+ 1
+
+ 0
+
+ -38
+
+
+ 2
+ >
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -12194,32 +12117,12 @@
3
2
- [@#include <
- 1
-
- 0
-
- -39
-
-
- 2
- >
namespace
boost
{
(:include api pre_indent="4":)
}@]
-
-
-
- 0
-
- -32
-
-
- 3
- 2
`#include <(:link
1
0
- -16
+ -17
2
@@ -12229,7 +12132,7 @@
0
- -33
+ -32
1
@@ -12240,7 +12143,7 @@
0
- -34
+ -33
3
@@ -12250,7 +12153,7 @@
0
- -77
+ -76
2
@@ -12260,7 +12163,7 @@
0
- -35
+ -34
5
@@ -12270,7 +12173,7 @@
0
- -65
+ -64
2
@@ -12279,7 +12182,7 @@
0
- -65
+ -64
2
@@ -12289,7 +12192,7 @@
0
- -36
+ -35
3
@@ -12299,7 +12202,7 @@
0
- -73
+ -72
2
@@ -12309,7 +12212,7 @@
0
- -37
+ -36
5
@@ -12319,7 +12222,7 @@
0
- -75
+ -74
2
@@ -12328,7 +12231,7 @@
0
- -75
+ -74
2
@@ -12338,7 +12241,7 @@
0
- -38
+ -37
0
@@ -12347,7 +12250,7 @@
0
- -39
+ -38
1
@@ -12358,7 +12261,7 @@
0
- -40
+ -39
3
@@ -12368,7 +12271,7 @@
0
- -7
+ -10
2
@@ -12378,7 +12281,7 @@
0
- -41
+ -40
0
@@ -12387,7 +12290,7 @@
0
- -42
+ -41
1
@@ -12398,7 +12301,7 @@
0
- -43
+ -42
3
@@ -12408,12 +12311,21 @@
0
- -77
+ -76
2
:)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
+
+ 0
+
+ -43
+
+
+ 0
+
0
@@ -12430,7 +12342,18 @@
-45
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -76
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -12439,18 +12362,7 @@
-46
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -77
-
-
- 2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ 0
@@ -12468,7 +12380,18 @@
-48
- 0
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -10
+
+
+ 2
+ :)>
[@(:include decl:)@]
@@ -12484,11 +12407,11 @@
0
- -7
+ -38
2
- :)>
[@(:include decl:)@]
+ :)>
[@namespace
boost
{
(:include def pre_indent="4":)
}@]
@@ -12504,7 +12427,7 @@
0
- -39
+ -10
2
@@ -12524,27 +12447,7 @@
0
- -7
-
-
- 2
- :)>
[@namespace
boost
{
(:include def pre_indent="4":)
}@]
-
-
-
- 0
-
- -52
-
-
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -7
+ -10
2
@@ -12554,7 +12457,7 @@
0
- -53
+ -52
5
@@ -12564,7 +12467,7 @@
0
- -57
+ -56
2
@@ -12573,12 +12476,21 @@
0
- -34
+ -33
2
decl pre_indent="4":)
(:include api pre_indent="4":)
}@]
+
+
+ 0
+
+ -53
+
+
+ 0
+
0
@@ -12588,55 +12500,6 @@
0
-
-
- 0
-
- -57
-
-
- 1
- 2
- [@namespace
boost
{
(:include api pre_indent="4":)
}@]
-
-
-
- 0
-
- -56
-
-
- 0
-
-
-
- 0
-
- -58
-
-
- 3
- 2
- `#include <(:link
- 1
-
- 0
-
- -7
-
-
- 2
- :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
-
-
-
- 0
-
- -59
-
-
- 0
-
0
@@ -12650,7 +12513,47 @@
0
- -60
+ -56
+
+
+ 1
+ 2
+ [@namespace
boost
{
(:include api pre_indent="4":)
}@]
+
+
+
+ 0
+
+ -57
+
+
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -10
+
+
+ 2
+ :)>\\
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
+
+
+ 0
+
+ -58
+
+
+ 0
+
+
+
+ 0
+
+ -59
3
@@ -12660,7 +12563,7 @@
0
- -5
+ -9
2
@@ -12670,7 +12573,7 @@
0
- -61
+ -60
0
@@ -12679,7 +12582,7 @@
0
- -62
+ -61
5
@@ -12689,7 +12592,7 @@
0
- -26
+ -25
2
@@ -12698,12 +12601,21 @@
0
- -26
+ -25
2
synopsis:)
+
+
+ 0
+
+ -62
+
+
+ 0
+
0
@@ -12720,7 +12632,18 @@
-64
- 0
+ 3
+ 2
+ [@#include <
+ 1
+
+ 0
+
+ -56
+
+
+ 2
+ >
#include <string>
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -12731,16 +12654,16 @@
3
2
- [@#include <
+ `#include <(:link
1
0
- -57
+ -76
2
- >
#include <string>
namespace
boost
{
(:include api pre_indent="4":)
}@]
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -12751,16 +12674,16 @@
3
2
- `#include <(:link
+ [@#include <
1
0
- -77
+ -38
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ >
namespace
boost
{
(:include api pre_indent="4":)
}@]
@@ -12771,32 +12694,12 @@
3
2
- [@#include <
- 1
-
- 0
-
- -39
-
-
- 2
- >
namespace
boost
{
(:include api pre_indent="4":)
}@]
-
-
-
- 0
-
- -68
-
-
- 3
- 2
[@#include <(:link
1
0
- -57
+ -56
2
@@ -12806,7 +12709,7 @@
0
- -69
+ -68
1
@@ -12817,11 +12720,31 @@
0
- -70
+ -69
0
+
+
+ 0
+
+ -70
+
+
+ 3
+ 2
+ `#include <(:link
+ 1
+
+ 0
+
+ -76
+
+
+ 2
+ :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+
0
@@ -12831,16 +12754,16 @@
3
2
- `#include <(:link
+ `#include <
1
0
- -77
+ -66
2
- :)>
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
+ >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
@@ -12851,32 +12774,12 @@
3
2
- `#include <
- 1
-
- 0
-
- -67
-
-
- 2
- >
[@namespace
boost
{
(:include decl pre_indent="4":)
}@]
-
-
-
- 0
-
- -73
-
-
- 3
- 2
[@#include <string>
namespace
boost
{
(:include
1
0
- -50
+ -49
2
@@ -12886,7 +12789,7 @@
0
- -74
+ -73
0
@@ -12895,7 +12798,7 @@
0
- -75
+ -74
3
@@ -12905,7 +12808,7 @@
0
- -57
+ -56
2
@@ -12915,7 +12818,7 @@
0
- -76
+ -75
5
@@ -12925,7 +12828,7 @@
0
- -18
+ -5
2
@@ -12934,7 +12837,7 @@
0
- -76
+ -75
2
@@ -12944,7 +12847,7 @@
0
- -77
+ -76
3
@@ -12954,7 +12857,7 @@
0
- -39
+ -38
2
@@ -12964,7 +12867,7 @@
0
- -78
+ -77
3
@@ -12974,7 +12877,7 @@
0
- -77
+ -76
2
@@ -12984,7 +12887,7 @@
0
- -79
+ -78
0
@@ -12993,7 +12896,7 @@
0
- -80
+ -79
0
@@ -13008,14 +12911,14 @@
- 87
+ 86
reno_context_map
- 76
+ 75
-5
@@ -13167,20 +13070,20 @@
-54
- -57
+ -55
-56
+
+ -57
+
-58
-59
-
- -55
-
-60
@@ -13241,14 +13144,11 @@
-79
-
- -80
-
- 76
+ 75
@@ -13261,7 +13161,7 @@
- -23
+ -22
@@ -13276,7 +13176,7 @@
- -79
+ -78
@@ -13291,7 +13191,7 @@
- -38
+ -37
@@ -13306,7 +13206,7 @@
- -63
+ -62
@@ -13321,97 +13221,7 @@
- -67
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -31
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -54
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -47
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -13
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -56
-
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
- -41
+ -66
@@ -13441,7 +13251,7 @@
- -11
+ -53
@@ -13456,7 +13266,7 @@
- -70
+ -46
@@ -13471,7 +13281,119 @@
- -44
+ -12
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -55
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -40
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -29
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -15
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -69
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+ -43
+
+
+
+
+
+ 1
+ 422CF2A57EA6763FBD2F319C4CDD8DD5ADF4493C699B50653015A362F71D4500
+ 1282485161
+ 2161
+ 321
+
+
+
+
+ 0
+ ../../../../boost/exception/info_tuple.hpp
+ 0
+ 0
+
+
+
+ -5
@@ -13493,7 +13415,7 @@
- -53
+ -52
@@ -13519,7 +13441,7 @@
- -25
+ -24
@@ -13541,7 +13463,7 @@
- -75
+ -74
@@ -13567,7 +13489,85 @@
- -35
+ -34
+
+
+
+
+
+ 1
+ 3B52D5850D9664639CCF1D22FBD52F2EB99087BED704C3FE07FE185B38C0DD09
+ 676740550
+ 15108
+ 321
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -76
+
+
+
+
+
+ 2
+ 2F10A76F9BA78353597A5E6F1373E8188DE7AEFDCE29BFD0105527B64B37D00E
+ 1041541496
+ 4693
+ 1606
+ 20B46D7510ED9F1F40CF3A80C97AE430628745D26173DE91E3D6CB6CEABDAA58
+ 2572596214
+ 659
+ 4028
+
+
+
+
+ 0
+ ../../../../boost/exception/diagnostic_information.hpp
+ 0
+ 0
+
+
+
+ -6
+
+
+
+
+
+ 3
+ 2F10A76F9BA78353597A5E6F1373E8188DE7AEFDCE29BFD0105527B64B37D00E
+ 1041541496
+ 4693
+ 1606
+ 4FDA7B607488BB202B2AB72C17983031070085FB6B616F2B77320088BE08EB62
+ 98930276
+ 3714
+ 26
+ 28B2A7701322B20C8CF5D6074F9019FBEA2FB02F1A13E83632AA76C431798777
+ 1206384617
+ 3087
+ 628
+
+
+
+
+ 0
+ ../../../../boost/exception/diagnostic_information.hpp
+ 0
+ 0
+
+
+
+ -23
@@ -13589,7 +13589,7 @@
- -68
+ -67
@@ -13611,7 +13611,7 @@
- -80
+ -79
@@ -13637,7 +13637,7 @@
- -8
+ -16
@@ -13647,7 +13647,7 @@
4D7009F0868C1DF4898EC6ECF9AD2CFEA98E8653B01B066106761807405D4C22
1416707852
3107
- 527
+ 543
@@ -13659,7 +13659,7 @@
- -69
+ -68
@@ -13669,7 +13669,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
@@ -13681,7 +13681,7 @@
- -39
+ -38
@@ -13691,7 +13691,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F
4056200131
2307
@@ -13711,7 +13711,7 @@
- -59
+ -58
@@ -13721,7 +13721,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
E0D734FE11CFB52F1BBF35C31E84A098AC93881DEE300CDBE3F9B772F75D9B2F
4056200131
2307
@@ -13741,7 +13741,7 @@
- -50
+ -49
@@ -13751,7 +13751,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
17E691632123EB67BA67D590B49EB8094F462F5A10A66A1C5438E1867EF1478E
765399792
77
@@ -13767,7 +13767,7 @@
- -29
+ -28
@@ -13777,7 +13777,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
DF9EA87B0140AACF4422F1B76F6A6A409C15F32858BBBA85A35981A824C56BA9
1137981799
192
@@ -13793,7 +13793,7 @@
- -9
+ -7
@@ -13803,7 +13803,7 @@
EFEF19E7D10F02079DA9799E42DA1415CA0C815E964E88CF1A8896D49C81EC22
2916767056
11964
- 527
+ 543
F3FB15CD82336271C6E875BC620385322777D16F0B7C233300783CE35710CCBF
3292878997
282
@@ -13819,7 +13819,7 @@
- -72
+ -71
@@ -13841,51 +13841,51 @@
- -74
+ -73
1
- 3624A015B5382483F083885049F332C46D6BA3DCA364E89B298F592BDC3E8632
- 3335511542
- 5611
- 321
+ F971041F60D19AFB8AA50440BC2A911633E5826FDED7B3E1CFC90D241D880C32
+ 931174095
+ 3062
+ 95
0
- ../../../../boost/exception/info.hpp
+ ../../../../boost/throw_exception.hpp
0
0
- -7
+ -17
1
- FCAB376A7BB77331C1D5DF08FF08A05BAB40B43F12C0A4B9B2A8253131D7B333
- 3011653711
- 15066
+ 979343A73CAA7601AF159E6240A03038F47940F71F6DE85D6BA648B179921C35
+ 2321681356
+ 939
321
0
- ../../../../boost/exception/detail/exception_ptr.hpp
+ ../../../../boost/exception/errinfo_errno.hpp
0
0
- -77
+ -18
@@ -13895,7 +13895,7 @@
BF7B46FEFA4E2DED7D652BFD40E94DD0B225ADA8D35E28FF4216F72812589835
422843600
756
- 527
+ 543
@@ -13907,7 +13907,7 @@
- -42
+ -41
@@ -13917,7 +13917,7 @@
6FB85B536F965F137409D5B5D34786DCBF0B9957A7C251D271B717A1156B823D
1090406464
362
- 527
+ 543
D16DAEA8B1792A019AF7FCA362FDC6EFD381AF4C43C076A01C029ECE51F994A6
3172941848
330
@@ -13933,7 +13933,7 @@
- -60
+ -59
@@ -13955,7 +13955,7 @@
- -61
+ -60
@@ -13965,7 +13965,7 @@
FD7792C2929DD7B6BD613636FD0C574D002286E33811BA109B57B9C4D790D340
1830643656
1244
- 1777
+ 1793
BAE73EEDFF4059A7561888B4BA054DFA033F0967727630270F2C0D4EB918B88D
3168166030
1222
@@ -13981,51 +13981,7 @@
- -32
-
-
-
-
-
- 1
- D7D9E02C29CF870CB25421CA2213D6119D5133CA727F19441CF322D1EA494945
- 693577231
- 5891
- 321
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
- -73
-
-
-
-
-
- 1
- 195FF369BA559E3C0080F75321794B4808B6A278D4DEF8AEDBD9FCEBCE69C548
- 458631219
- 2145
- 321
-
-
-
-
- 0
- ../../../../boost/exception/info_tuple.hpp
- 0
- 0
-
-
-
- -18
+ -31
@@ -14051,7 +14007,7 @@
- -27
+ -26
@@ -14073,93 +14029,33 @@
- -48
+ -47
2
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
+ 8A8FAA48FF123031D5E51D50BC96D0AAC468112838058976B85AC6EED4A25C57
+ 4201574956
+ 763
+ 833
+ AEA5C07CF015DDE792E061003F669239E7AADBD24BE554EB26706AD9B28B8C89
+ 2503775994
+ 472
+ 285
0
- ../../../../boost/exception/detail/error_info_impl.hpp
+ ../../../../boost/exception/diagnostic_information.hpp
0
0
- -51
-
-
-
-
-
- 3
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
- 38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50
- 2218658069
- 31
- 143
-
-
-
-
- 0
- ../../../../boost/exception/detail/error_info_impl.hpp
- 0
- 0
-
-
-
- -40
-
-
-
-
-
- 3
- 848BC9161A49BA440F51BAB9C6CCED5C93500327C8741BF5EFA9831C9D690F51
- 2291535325
- 1060
- 548
- 12EE98255E53951EE44D5D95A0506693E9F5F9D371505F490B8C0676EB383C7C
- 2825495330
- 622
- 432
- 98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5
- 1584672077
- 208
- 259
-
-
-
-
- 0
- ../../../../boost/exception/detail/error_info_impl.hpp
- 0
- 0
-
-
-
- -49
+ -35
@@ -14181,7 +14077,7 @@
- -6
+ -11
@@ -14203,63 +14099,7 @@
- -21
-
-
-
-
-
- 2
- EFBD8063574E7D463C8E08D9AA1D68CFCE4630C445B20156AC7591F46AB48260
- 2082877988
- 5081
- 751
- 6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010
- 1097215175
- 161
- 240
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
- -52
-
-
-
-
-
- 3
- EFBD8063574E7D463C8E08D9AA1D68CFCE4630C445B20156AC7591F46AB48260
- 2082877988
- 5081
- 751
- 2C6C9E29E4E23E6C1F5876C33741FB18A63E703410F3CD61ACB348866B7B02B8
- 3516588960
- 3918
- 884
- 38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610
- 542483318
- 573
- 3130
-
-
-
-
- 0
- ../../../../boost/exception/info.hpp
- 0
- 0
-
-
-
- -58
+ -20
@@ -14269,7 +14109,7 @@
21027A2B73C9AA6FF083752A952D63BBA9B5FD68A3C8915965A7184EA62A5D61
1523356166
537
- 607
+ 623
24256E1CE56594FB38D0630858B8947191827CFC57771E8727A6A56F76207454
665917505
66
@@ -14285,7 +14125,171 @@
- -14
+ -8
+
+
+
+
+
+ 3
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ 2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270
+ 1574307697
+ 8349
+ 4068
+ 7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079
+ 1179386730
+ 5404
+ 2935
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -70
+
+
+
+
+
+ 2
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ EEDBDE62A278D2AF428D9D1ED2ABCFF06163BACD91E12DD033565C7043354B89
+ 246173488
+ 248
+ 1396
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -77
+
+
+
+
+
+ 2
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ 1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3
+ 2841506107
+ 891
+ 173
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -33
+
+
+
+
+
+ 3
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ 97DB2EDAA38019314BA1A582664F8950F5208310F14BAB94E1880AE2C5F00CD4
+ 3076716310
+ 959
+ 2974
+ 1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A
+ 702729709
+ 815
+ 145
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -65
+
+
+
+
+
+ 2
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ 0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4
+ 2078296250
+ 305
+ 1066
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -42
+
+
+
+
+
+ 2
+ ADCD0B47BEBAA82DE5FDCACB0E9E8FF900527566EF9865ECD8C08B62067B4C66
+ 1181168733
+ 14302
+ 1027
+ 10E31FFA267B250065A2630D0B7107862920D940AEA0A5499D5341A902AE01FF
+ 1524325002
+ 368
+ 13033
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/exception_ptr.hpp
+ 0
+ 0
+
+
+
+ -45
@@ -14311,7 +14315,7 @@
- -22
+ -21
@@ -14333,63 +14337,7 @@
- -20
-
-
-
-
-
- 2
- AE2244409B3C13F5DB1F6CB575F9433471C6D7D034612E4F4632E13AED32F66D
- 869104984
- 4554
- 1558
- 31DAA7256398978790606A24D0BDC208490B1C7F69B7C57D7AC9FF429F789AC8
- 405252553
- 632
- 3916
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
- -12
-
-
-
-
-
- 3
- AE2244409B3C13F5DB1F6CB575F9433471C6D7D034612E4F4632E13AED32F66D
- 869104984
- 4554
- 1558
- DE799A1987BE19AADE2CACAE91B3E49F7D19C6915CBA23E74B2B3BEA724E25E0
- 3304879774
- 3629
- 26
- A1E48DF6BBE92549200BD573D0A32B4D206A7CD1F14928B4CB64A8C6A6DA0492
- 1687543439
- 2991
- 628
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
- -24
+ -19
@@ -14411,7 +14359,7 @@
- -26
+ -25
@@ -14437,7 +14385,7 @@
- -62
+ -61
@@ -14459,215 +14407,115 @@
- -17
-
-
-
-
-
- 3
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- 2482DDAF6A7E31CF75E93B993C86D9814A0B8899B68E555B23D411BD195FE270
- 1574307697
- 8349
- 4068
- 7E162EB263369C2C485D5F69CA1A4FADD3EEBC6EB78CE7A767A8615885178079
- 1179386730
- 5404
- 2935
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -71
-
-
-
-
-
- 2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- EEDBDE62A278D2AF428D9D1ED2ABCFF06163BACD91E12DD033565C7043354B89
- 246173488
- 248
- 1396
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -78
-
-
-
-
-
- 2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- 1D5E771272B020A105B69E186517499873571F62AFF9D48F130C952CFAA12FA3
- 2841506107
- 891
- 173
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -34
-
-
-
-
-
- 3
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- 97DB2EDAA38019314BA1A582664F8950F5208310F14BAB94E1880AE2C5F00CD4
- 3076716310
- 959
- 2974
- 1760DA943E0DCAE6DDB000F3C08D6E6F5F8AEDBBEAC7CAA84A2ED60BFA4B0E1A
- 702729709
- 815
- 145
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -66
-
-
-
-
-
- 2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- 0066D4E6E6B189906E6DE04F08509F3737511701A1B1355B37511EC18E8371F4
- 2078296250
- 305
- 1066
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -43
-
-
-
-
-
- 2
- ABF06C946BB6C9EDF3D0AFF183E9BE47F78714B7955E0E8FC8252F1B4DA00B7E
- 2288396892
- 14276
- 1011
- 10E31FFA267B250065A2630D0B7107862920D940AEA0A5499D5341A902AE01FF
- 1524325002
- 368
- 13033
-
-
-
-
- 0
- ../../../../boost/exception/detail/exception_ptr.hpp
- 0
- 0
-
-
-
- -46
+ -14
1
- ED900027EBB3DB2981FE95FF6D9F2EC9978245672634315A2D7CA944095A1B87
- 3625423705
- 3046
- 95
-
-
-
-
- 0
- ../../../../boost/throw_exception.hpp
- 0
- 0
-
-
-
- -16
-
-
-
-
-
- 1
- A7E1DE1220FF43715F94884D78D93FF18042E0BDE9BA9ACBD8C3138D437AE28C
- 3733653590
- 923
+ 56C5A51DE37A6E893DA3B25D69DB65E4593C7803C6E34112E1F95C93D6037A82
+ 275305396
+ 5586
321
0
- ../../../../boost/exception/errinfo_errno.hpp
+ ../../../../boost/exception/info.hpp
0
0
- -19
+ -10
+
+
+
+
+
+ 2
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/error_info_impl.hpp
+ 0
+ 0
+
+
+
+ -50
+
+
+
+
+
+ 3
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
+ 38B566F2C6678B8724D18086A6F76E077DC2ADC1BB69A4B83BF0A2C3B7D31B50
+ 2218658069
+ 31
+ 143
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/error_info_impl.hpp
+ 0
+ 0
+
+
+
+ -39
+
+
+
+
+
+ 3
+ 9516640DF38FC07A649AA4CAF21D4C4A6D6C2DF2B00E608F8D1C653C8D85E58B
+ 406646287
+ 956
+ 564
+ 8F508F9E7187AEA0E35A268B6F7B8E8A6C6588CCA01A2F3C5BBF1010699D8270
+ 1555404133
+ 578
+ 372
+ 98B33BE76679E3A4831241335CD5DFF6F634429F36BABF96C1D4DC2296C5ECC5
+ 1584672077
+ 208
+ 259
+
+
+
+
+ 0
+ ../../../../boost/exception/detail/error_info_impl.hpp
+ 0
+ 0
+
+
+
+ -48
@@ -14677,7 +14525,7 @@
8A5444CF9C854740F83F17EA2075478A983F7C0243DCE4E42551ECBF908C1392
4193409281
322
- 976
+ 992
@@ -14689,7 +14537,29 @@
- -45
+ -44
+
+
+
+
+
+ 1
+ F2E44174DE588C19C0172D82AD61322E6B6578ADBE2A631C6C8059CB84396D97
+ 670214046
+ 684
+ 321
+
+
+
+
+ 0
+ ../../../../boost/exception/current_exception_cast.hpp
+ 0
+ 0
+
+
+
+ -9
@@ -14699,7 +14569,7 @@
197F3960CFF5CBDEF7BDA8D0DE60948A5328F229C6710FEDE656530A3116B29B
742102996
475
- 1300
+ 1316
@@ -14711,7 +14581,7 @@
- -28
+ -27
@@ -14721,7 +14591,7 @@
D58AD357499A5A09FB5D12397CFFC2FFD412AC8A307ABB59C9BC53ACCA3B959D
2209414553
2926
- 708
+ 724
49F40FF20D66B205C908A8F10BC61DE1BC571E4917A5BD0B4115E3F7FE3923FA
638776689
2894
@@ -14737,7 +14607,7 @@
- -33
+ -32
@@ -14759,7 +14629,7 @@
- -65
+ -64
@@ -14781,29 +14651,7 @@
- -64
-
-
-
-
-
- 1
- A1E3F9582095C930245FF6DBA455C6C973F4F025AD6C1D0C3BC7E9494070BAA7
- 293414988
- 113
- 323
-
-
-
-
- 0
- ../../../../boost/exception.hpp
- 0
- 0
-
-
-
- -15
+ -63
@@ -14825,29 +14673,29 @@
- -10
+ -13
1
- DAC5C6D096B50EDCF8143E4922FC79D2E46FEA2FCD47EAD71D6392C1D8100DB3
- 4003832872
- 668
+ 0CA48A4674CA9C409FF164D9A1B261FB48B0916C0EA387DF2F00DC4637E769BD
+ 348807582
+ 6078
321
0
- ../../../../boost/exception/current_exception_cast.hpp
+ ../../../../boost/exception/diagnostic_information.hpp
0
0
- -5
+ -72
@@ -14857,7 +14705,7 @@
1B4417301AE3C0338C22E6D497391F51ABD459E521E7DFCE59A6EEC1372D33C2
202224383
1766
- 600
+ 616
E0A17503B42EE12F31548A7D20F89916D734CE88B30A1BF6F9FC2D1F83A8B6F4
3410340567
1734
@@ -14873,7 +14721,7 @@
- -76
+ -75
@@ -14899,7 +14747,7 @@
- -37
+ -36
@@ -14921,7 +14769,63 @@
- -55
+ -54
+
+
+
+
+
+ 2
+ C6DDF7D02A058403B7BD295CF1561F167D92B7DA1DAC4EBE9F801955264180EB
+ 1656366188
+ 5040
+ 767
+ 6E325144EF4F41FA3A225EB30729101382C4E99B3D6160E307311E4B4E641010
+ 1097215175
+ 161
+ 422
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+ -51
+
+
+
+
+
+ 3
+ C6DDF7D02A058403B7BD295CF1561F167D92B7DA1DAC4EBE9F801955264180EB
+ 1656366188
+ 5040
+ 767
+ 507B2DA4184DD6A38FC6099F6454CDC96604C0C7B2C06A2955C78452F66526F8
+ 457758605
+ 3872
+ 889
+ 38AA79D330846BE1CF17285796F34A9DBB5A7E995963A55F9B46EB1DA6314610
+ 542483318
+ 573
+ 3084
+
+
+
+
+ 0
+ ../../../../boost/exception/info.hpp
+ 0
+ 0
+
+
+
+ -57
@@ -14947,33 +14851,7 @@
- -57
-
-
-
-
-
- 2
- 964F6A1CDF157430B6F65ABDD6A590CFA6AE83EAED66B5B59BA829DB07DF97F2
- 3653363251
- 731
- 817
- 36688510914673386A7870D1D4970B7D74CF9A4B7226F9E225A5607DCBFB12C4
- 2314308857
- 446
- 279
-
-
-
-
- 0
- ../../../../boost/exception/diagnostic_information.hpp
- 0
- 0
-
-
-
- -36
+ -56
@@ -14983,14 +14861,14 @@
- 88
+ 87
tag_index
- 57
+ 56
1
@@ -15013,7 +14891,7 @@
-6
- diagnostic_information tutorial
+ free function
@@ -15022,7 +14900,7 @@
-7
-
+ exception_ptr free function
@@ -15040,34 +14918,25 @@
-9
- exception_ptr free function
+
0
- -12
+ -10
- free function
+
0
- -14
+ -11
- error_info_instance noalso type
-
-
-
- 0
-
- -15
-
-
- noindex
+ diagnostic_information tutorial
@@ -15076,13 +14945,13 @@
-16
-
+ error_info_instance noalso type
0
- -18
+ -17
@@ -15091,7 +14960,7 @@
0
- -20
+ -19
noalso noindex tutorial
@@ -15100,7 +14969,7 @@
0
- -22
+ -21
error_info_instance noalso type
@@ -15109,7 +14978,7 @@
0
- -23
+ -22
noindex
@@ -15118,7 +14987,7 @@
0
- -24
+ -23
diagnostic_information free function
@@ -15127,7 +14996,16 @@
0
- -25
+ -24
+
+
+ error_info_instance noalso type
+
+
+
+ 0
+
+ -26
error_info_instance noalso type
@@ -15139,7 +15017,7 @@
-27
- error_info_instance noalso type
+ macro
@@ -15148,22 +15026,13 @@
-28
- macro
-
-
-
- 0
-
- -29
-
-
function
0
- -31
+ -30
exception_ptr
@@ -15172,7 +15041,7 @@
0
- -32
+ -31
free function
@@ -15181,7 +15050,7 @@
0
- -33
+ -32
error_info free function
@@ -15190,11 +15059,20 @@
0
- -34
+ -33
type
+
+
+ 0
+
+ -34
+
+
+ error_info_instance noalso type
+
0
@@ -15202,7 +15080,7 @@
-35
- error_info_instance noalso type
+ function
@@ -15211,7 +15089,7 @@
-36
- function
+ error_info_instance noalso type
@@ -15220,7 +15098,7 @@
-37
- error_info_instance noalso type
+ tutorial
@@ -15229,7 +15107,7 @@
-38
- tutorial
+
@@ -15238,22 +15116,22 @@
-39
-
-
-
-
- 0
-
- -40
-
-
type
0
- -43
+ -42
+
+
+ exception_ptr free function
+
+
+
+ 0
+
+ -45
exception_ptr free function
@@ -15265,7 +15143,7 @@
-46
- exception_ptr free function
+ tutorial
@@ -15274,7 +15152,7 @@
-47
- tutorial
+ noalso noindex tutorial
@@ -15283,7 +15161,7 @@
-48
- noalso noindex tutorial
+ function member
@@ -15292,7 +15170,7 @@
-49
- function member
+ type
@@ -15310,22 +15188,22 @@
-51
- type
-
-
-
- 0
-
- -52
-
-
function member
0
- -57
+ -54
+
+
+ tutorial
+
+
+
+ 0
+
+ -56
@@ -15334,11 +15212,20 @@
0
- -58
+ -57
error_info free function
+
+
+ 0
+
+ -58
+
+
+ function
+
0
@@ -15352,25 +15239,7 @@
0
- -55
-
-
- tutorial
-
-
-
- 0
-
- -60
-
-
- function
-
-
-
- 0
-
- -62
+ -61
error_info_instance noalso type
@@ -15379,7 +15248,7 @@
0
- -63
+ -62
@@ -15388,7 +15257,7 @@
0
- -64
+ -63
noalso noindex tutorial
@@ -15397,7 +15266,7 @@
0
- -66
+ -65
exception_ptr type
@@ -15406,7 +15275,7 @@
0
- -67
+ -66
error_info
@@ -15415,7 +15284,7 @@
0
- -69
+ -68
error_info
@@ -15424,7 +15293,7 @@
0
- -71
+ -70
exception_ptr free function
@@ -15433,11 +15302,20 @@
0
- -72
+ -71
error_info free function
+
+
+ 0
+
+ -72
+
+
+
+
0
@@ -15445,22 +15323,13 @@
-73
-
-
-
-
- 0
-
- -74
-
-
noindex tutorial
0
- -76
+ -75
error_info free function
@@ -15469,7 +15338,7 @@
0
- -77
+ -76
@@ -15478,7 +15347,7 @@
0
- -78
+ -77
type
@@ -15487,7 +15356,7 @@
0
- -79
+ -78
tutorial
@@ -15496,7 +15365,7 @@
0
- -80
+ -79
noindex tutorial
diff --git a/doc/synopsis.html b/doc/synopsis.html
index 207ca78..95d12db 100644
--- a/doc/synopsis.html
+++ b/doc/synopsis.html
@@ -103,11 +103,11 @@ boost
class exception ;
template <class E>
- std::string diagnostic_information ( E const & e );
+ std::string diagnostic_information ( E const & e, bool verbose=true );
- std::string diagnostic_information ( exception_ptr const & p );
+ std::string diagnostic_information ( exception_ptr const & p, bool verbose=true );
- char const * diagnostic_information_what ( boost::exception const & e ) throw();
+ char const * diagnostic_information_what ( boost::exception const & e, bool verbose=true ) throw();
std::string current_exception_diagnostic_information ();
}
diff --git a/include/boost/exception/detail/error_info_impl.hpp b/include/boost/exception/detail/error_info_impl.hpp
index 8191a9f..12e601b 100644
--- a/include/boost/exception/detail/error_info_impl.hpp
+++ b/include/boost/exception/detail/error_info_impl.hpp
@@ -25,8 +25,7 @@ boost
{
public:
- virtual std::string tag_typeid_name() const = 0;
- virtual std::string value_as_string() const = 0;
+ virtual std::string name_value_string() const = 0;
protected:
@@ -63,8 +62,7 @@ boost
private:
- std::string tag_typeid_name() const;
- std::string value_as_string() const;
+ std::string name_value_string() const;
value_type value_;
};
diff --git a/include/boost/exception/detail/exception_ptr.hpp b/include/boost/exception/detail/exception_ptr.hpp
index 3ab150e..b2ee365 100644
--- a/include/boost/exception/detail/exception_ptr.hpp
+++ b/include/boost/exception/detail/exception_ptr.hpp
@@ -467,7 +467,7 @@ boost
inline
std::string
- diagnostic_information( exception_ptr const & p )
+ diagnostic_information( exception_ptr const & p, bool verbose=true )
{
if( p )
try
@@ -477,7 +477,7 @@ boost
catch(
... )
{
- return current_exception_diagnostic_information();
+ return current_exception_diagnostic_information(verbose);
}
return "";
}
diff --git a/include/boost/exception/diagnostic_information.hpp b/include/boost/exception/diagnostic_information.hpp
index 31089f5..5ac8c6b 100644
--- a/include/boost/exception/diagnostic_information.hpp
+++ b/include/boost/exception/diagnostic_information.hpp
@@ -31,17 +31,17 @@ boost
namespace
exception_detail
{
- std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool );
+ std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool, bool );
}
inline
std::string
- current_exception_diagnostic_information()
+ current_exception_diagnostic_information( bool verbose=true)
{
boost::exception const * be=current_exception_cast();
std::exception const * se=current_exception_cast();
if( be || se )
- return exception_detail::diagnostic_information_impl(be,se,true);
+ return exception_detail::diagnostic_information_impl(be,se,true,verbose);
else
return "No diagnostic information available.";
}
@@ -107,7 +107,7 @@ boost
inline
std::string
- diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what )
+ diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what, bool verbose )
{
if( !be && !se )
return "Unknown exception.";
@@ -125,7 +125,7 @@ boost
return wh;
}
std::ostringstream tmp;
- if( be )
+ if( be && verbose )
{
char const * const * f=get_error_info(*be);
int const * l=get_error_info(*be);
@@ -149,36 +149,37 @@ boost
}
}
#ifndef BOOST_NO_RTTI
- tmp << std::string("Dynamic exception type: ") <<
- units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n';
+ if ( verbose )
+ tmp << std::string("Dynamic exception type: ") <<
+ units::detail::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n';
#endif
- if( with_what && se )
+ if( with_what && se && verbose )
tmp << "std::exception::what: " << wh << '\n';
if( be )
if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) )
if( *s )
- return s;
+ return std::string(s);
return tmp.str();
}
}
template
std::string
- diagnostic_information( T const & e )
+ diagnostic_information( T const & e, bool verbose=true )
{
- return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true);
+ return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true,verbose);
}
inline
char const *
- diagnostic_information_what( exception const & e ) throw()
+ diagnostic_information_what( exception const & e, bool verbose=true ) throw()
{
char const * w=0;
#ifndef BOOST_NO_EXCEPTIONS
try
{
#endif
- (void) exception_detail::diagnostic_information_impl(&e,0,false);
+ (void) exception_detail::diagnostic_information_impl(&e,0,false,verbose);
if( char const * di=exception_detail::get_diagnostic_information(e,0) )
return di;
else
diff --git a/include/boost/exception/info.hpp b/include/boost/exception/info.hpp
index 3f4f8fa..762a950 100644
--- a/include/boost/exception/info.hpp
+++ b/include/boost/exception/info.hpp
@@ -24,10 +24,18 @@ boost
{
template
inline
- typename enable_if,std::string>::type
+ std::string
+ error_info_name( error_info const & x )
+ {
+ return tag_type_name();
+ }
+
+ template
+ inline
+ std::string
to_string( error_info const & x )
{
- return to_string(x.value());
+ return '[' + error_info_name(x) + "] = " + to_string_stub(x.value()) + '\n';
}
template
@@ -49,16 +57,7 @@ boost
inline
std::string
error_info::
- tag_typeid_name() const
- {
- return tag_type_name();
- }
-
- template
- inline
- std::string
- error_info::
- value_as_string() const
+ name_value_string() const
{
return to_string_stub(*this);
}
@@ -114,7 +113,7 @@ boost
for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
{
error_info_base const & x = *i->second;
- tmp << '[' << x.tag_typeid_name() << "] = " << x.value_as_string() << '\n';
+ tmp << x.name_value_string();
}
tmp.str().swap(diagnostic_info_str_);
}
diff --git a/test/diagnostic_information_test.cpp b/test/diagnostic_information_test.cpp
index 85e8a67..05ec554 100644
--- a/test/diagnostic_information_test.cpp
+++ b/test/diagnostic_information_test.cpp
@@ -19,10 +19,7 @@ typedef boost::error_info tagged_int2;
std::string
to_string( tagged_int2 const & x )
{
- if( x.value()==42 )
- return "fourty-two";
- else
- return "bad value";
+ return '[' +boost::error_info_name(x) + "] = " + (x.value()==42 ? "fourty-two" : "bad value");
}
struct