On 6/3/20 07:23, Bjorn Reese via Boost wrote:
On 2020-06-02 04:37, Emil Dotchevski via Boost wrote:
I'll add that the the lowest level API exposed by LEAF works directly with the context<> type. You could:
leaf::context
ctx; ctx.activate(); .....; // call functions that report E1, E2, E3 errors, obtain an error_id ctx.deactivate(); .....; // possibly move ctx somewhere else R r = ctx.handle_error<R>(id, <list of error handlers>); I'm showing this because depending on the use case it might be useful; context<> is very similar to tuple<>, and so you could move it about and handle errors later. As I type this, i realize that Bjorn is right that this needs a get<I> interface.
I somehow missed the context::handle_error() function during the review. This addresses my main concern about avoiding wrapping the "TryBlock".
Review manager: This changes my conditional accept into an unconditional accept.
Thank you for the clarification Bjorn. -- Michael Caisse Ciere Consulting ciere.com