Boost logo

Boost :

Subject: Re: [boost] Requesting formal review for (Boost) LEAF
From: Andrzej Krzemienski (akrzemi1_at_[hidden])
Date: 2019-01-04 14:06:32


śr., 19 gru 2018 o 03:00 Emil Dotchevski via Boost <boost_at_[hidden]>
napisał(a):

> LEAF is a small C++11 error handling library (the acronym stands for
> Low-latency Error Augmentation Framework).
>
> Features:
>
> - Header-only, NO dependencies.
> - No dynamic memory allocations.
> - Associate objects of arbitrary types with any failure — when it is
> initially reported or at a later time.
> - Compatible with std::error_code, errno and any other error handling
> API.
> - Use with or without exception handling.
> - Support for multi-thread programming.
>
> Official documentation: https://zajo.github.io/leaf.
>
> LEAF is designed for use in low-latency environments without exception
> handling, but it also works with exception handling; in that case it is a
> better, more optimal replacement for Boost Exception. This link can be
> helpful for refactoring existing Boost Exception code:
> https://zajo.github.io/leaf/#boost_exception.
>

Hi Emil,
Thank you for sharing the library. I only had a look at the documentation
(which is really high standard) to try to determine the difference between
LEAF and Boost.Outcome. It is my understanding that the main difference is
that LEAF allows heap-free type erasure of error-related data at the
expense of exploiting thread-local storage. Is this a fair summary?

Regards,
&rzej;


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk