forked from boostorg/system
Add changes, reference; fix trailing whitespace
This commit is contained in:
1 parent
62ca8e6d8c
commit
efff0260f7
6 files changed
+931
-29
No files matched your search
+39
-4
@@ -9,16 +9,51 @@ http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
[#changes]
|
||||
# Release History
|
||||
:idprefix: changes_
|
||||
:idprefix:
|
||||
|
||||
## Changes in Boost 1.69
|
||||
|
||||
...
|
||||
* Boost.System is now header-only. A stub library is still built for
|
||||
compatibility, but linking to it is no longer necessary.
|
||||
* Even more functions have been marked `constexpr`.
|
||||
* The destructor of `error_category` is now protected and no longer
|
||||
virtual. This is a _potentially breaking change_ but its impact
|
||||
is expected to be limited.
|
||||
* `error_category` now has a constructor that accepts a 64 bit identifier,
|
||||
enabling distinct category objects to compare equal.
|
||||
* The constructors of `error_category` are now protected.
|
||||
* A non-allocating, nonthrowing overload of `message` has been added.
|
||||
* A virtual function `failed` has been added, allowing categories for
|
||||
which success is not synonymous with 0.
|
||||
* The deprecated `boost::system::throws` object has been removed.
|
||||
* `boost::throws()` is now deprecated and its use is discouraged.
|
||||
|
||||
## Changes in Boost 1.68
|
||||
|
||||
...
|
||||
On a {cpp}14 compiler, many Boost.System functions and member functions
|
||||
are now `constexpr`, and `error_code` and `error_condition` are literal
|
||||
classes.
|
||||
|
||||
In addition to enabling use in constant expressions (and `constexpr`
|
||||
functions), this significantly improves the quality of the generated code.
|
||||
|
||||
As a result of this change, however, now using Boost.System from {cpp}14
|
||||
or {cpp}17 code requires that the library is also built with {cpp}14 or
|
||||
above. This is the default on GCC 6 and newer, but not on GCC 5 or Clang.
|
||||
One can build Boost for {cpp}14 by passing the `cxxstd=14` option to `b2`.
|
||||
|
||||
(Previous versions allowed code built against any {cpp} standard to link
|
||||
with Boost.System built against any {cpp} standard. In 1.68, code using
|
||||
any {cpp} standard can link with Boost.System built with {cpp}14 or above,
|
||||
but if Boost.System is built with {cpp}11 or below, only code also built
|
||||
with {cpp}11 and below can link to it successfully.)
|
||||
|
||||
## Changes in Boost 1.65
|
||||
|
||||
...
|
||||
On a {cpp}11 compiler, Boost.System now provides implicit conversions
|
||||
from `boost::system::error_category`, `error_code`, and `error_condition`
|
||||
to their standard equivalents from `<system_error>`.
|
||||
|
||||
This allows libraries to expose a {cpp}11 interface and report errors
|
||||
via `std::error_code` even when using Boost.System, directly or through a
|
||||
dependency such as Boost.ASIO.
|
||||
Reference in new issue
Block a user