17 [[nodiscard]]
static auto
18 wrap(
auto&& fn)
noexcept
20 return [fn = std::forward<decltype(fn)>(fn)]<
typename... Args>(
24 std::invoke(std::forward<
decltype(fn)>(fn), outcome, std::forward<Args>(args)...);
25 }
catch (std::exception
const& e) {
28 ExecutionError{fmt::format(
"{}", std::this_thread::get_id()), e.what()}
34 ExecutionError{fmt::format(
"{}", std::this_thread::get_id()),
"unknown"}
41 [[nodiscard]]
static auto
46 return [fn = std::forward<decltype(fn)>(fn)]
mutable {
48 std::invoke(std::forward<
decltype(fn)>(fn));
49 }
catch (std::exception
const& e) {
50 ASSERT(
false,
"Exception caught: {}", e.what());
52 ASSERT(
false,
"Unknown exception caught");