Releases: boostorg/leaf
Releases · boostorg/leaf
1.82.0
1.81.0
This release includes:
- Fixes for compile errors in tricky configurations.
- A fix for an API defect,
throw leaf::exception(...)now becomesleaf::throw_exception(...). - Improvements to the TLS array support for embedded platforms.
- Improved configuration coverage for unit tests.
1.81.0-prerelease
First conan release. Minor improvements over version 1.80.0.
Changes based on Boost review feedback and other improvements
This release incorporates the feedback of the Boost Review, changes to improve potential integration with Boost, simplified asynchronous API. Changes:
- The
is_e_typetrait is deleted. Any value type can be used as an error type. - Error handlers can now be captured in a tuple and used with
try_handle_some,try_handle_allortry_catch. Theremote_prefixed error handling functions are removed. preload,defer, andaccumulateare all merged into a single API calledon_error.matchis now compatible withstd::error_code, e.g.match<std::error_code, 42>.- Error handlers that take arguments of exception types will automatically catch exceptions;
catch_is now optional, primarily used to catch more than one exception type. - Error handlers can now take mutable reference (and mutable pointer) arguments.
augment_idis renamed toerror_monitor.- All
LEAF_XXXXmacros are renamed toBOOST_LEAF_XXXX.
Configuration improvements, benchmark
This release includes automatic detection for LEAF_NO_EXCEPTIONS and new benchmark program.
Optimizations
This release includes minor optimizations, adds a unit test for the error_id generation logic, and increased Travis CI coverage on Apple platforms.
Improved portability
This release improves the support for -fno-exceptions and adds support for LEAF_NO_THREADS, which disables all multi-thread code.
Optimizations
Optimizations:
- No guard variables generated by the compiler for
static/thread_localobjects. - Simpler, more optimal
result<T>implementation.
Documentation improvements
Patch release for better documentation, Travis and AppVeyor tweaks.
Minor new features and tweaks
In this release:
- Added
operator->support toresult<T>; - Added a new example to demonstrate using LEAF with
outcome::result<T>instead ofleaf::result<T>; LEAF_AUTOuses.value()instead ofoperator*to access the value of aresult<T>type;- Fixed a bug in the single header generation script, now headers are included only once;
- Documentation fixes and refinements.