readme.md
Example Programs Using LEAF to Handle Errors
print_file: The complete example from the Five Minute Introduction. This directory contains several versions of the same program, each using a different error handling style.
capture_in_result.cpp: Shows how to transport error objects between threads in a
leaf::result<T>
object.capture_in_exception.cpp: Shows how to transport error objects between threads in an exception object.
lua_callback_result.cpp: Transporting arbitrary error objects through an uncooperative C API.
lua_callback_eh.cpp: Transporting arbitrary error objects through an uncooperative exception-safe API.
exception_to_result.cpp: Demonstrates how to transport exceptions through a
noexcept
layer in the program.exception_error_log.cpp: Using
accumulate
to produce an error log.exception_error_trace.cpp: Same as above, but the log is recorded in a
std::deque
rather than just printed.print_half.cpp: This is a Boost Outcome example adapted to LEAF, demonstrating the use of
try_handle_some
to handle some errors, forwarding any other error to the caller.asio_beast_leaf_rpc.cpp: A simple RPC calculator implemented with Beast+ASIO+LEAF.