Completion must be safe during stack unwinding and receives the state created by the before hook.
More...
#include <observers.hpp>
template<typename BeforeT, typename AfterT>
std::is_object_v<std::invoke_result_t<BeforeT&>> && std::move_constructible<std::invoke_result_t<BeforeT&>> &&
requires(AfterT& after, std::invoke_result_t<BeforeT&>& state,
NodeOutcome outcome) {
{ std::invoke(after, state, outcome) } noexcept -> std::same_as<void>;
}
Completion must be safe during stack unwinding and receives the state created by the before hook.
Definition observers.hpp:26
NodeOutcome
Describe a node invocation, independently of whether the whole graph request is later accepted.
Definition observers.hpp:18
Completion must be safe during stack unwinding and receives the state created by the before hook.