Lightweight Error Augmentation Framework
This release includes a bug fix and additional unit tests. It matches exactly the state of the LEAF source code as distributed in the Boost 1.82.0 release.
This release includes:
throw leaf::exception(...)
now becomes leaf::throw_exception(...)
.First conan release. Minor improvements over version 1.80.0.
This release incorporates the feedback of the Boost Review, changes to improve potential integration with Boost, simplified asynchronous API. Changes:
is_e_type
trait is deleted. Any value type can be used as an error type.try_handle_some
, try_handle_all
or try_catch
. The remote_
prefixed error handling functions are removed.preload
, defer
, and accumulate
are all merged into a single API called on_error
.match
is now compatible with std::error_code
, e.g. match<std::error_code, 42>
.catch_
is now optional, primarily used to catch more than one exception type.augment_id
is renamed to error_monitor
.LEAF_XXXX
macros are renamed to BOOST_LEAF_XXXX
.This release includes automatic detection for LEAF_NO_EXCEPTIONS
and new benchmark program.
This release includes minor optimizations, adds a unit test for the error_id
generation logic, and increased Travis CI coverage on Apple platforms.
This release improves the support for -fno-exceptions
and adds support for LEAF_NO_THREADS
, which disables all multi-thread code.
Optimizations:
static
/thread_local
objects.result<T>
implementation.Patch release for better documentation, Travis and AppVeyor tweaks.
In this release:
operator->
support to result<T>
;outcome::result<T>
instead of leaf::result<T>
;LEAF_AUTO
uses .value()
instead of operator*
to access the value of a result<T>
type;