SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::dependencies::KeyedNodeObserverCallbacks Concept Reference

An all-node callback receives the compiled result identity before creating its invocation state. More...

#include <observers.hpp>

Concept definition

template<typename BeforeT, typename AfterT, typename KeyT>
concept serif::utils::dependencies::KeyedNodeObserverCallbacks = std::invocable<BeforeT&, std::type_identity<KeyT>> &&
std::is_object_v<std::invoke_result_t<BeforeT&, std::type_identity<KeyT>>> &&
std::move_constructible<std::invoke_result_t<BeforeT&, std::type_identity<KeyT>>> &&
requires(AfterT& after, std::invoke_result_t<BeforeT&, std::type_identity<KeyT>>& state, NodeOutcome outcome) {
{ std::invoke(after, state, outcome) } noexcept -> std::same_as<void>;
}
An all-node callback receives the compiled result identity before creating its invocation state.
Definition observers.hpp:40
NodeOutcome
Describe a node invocation, independently of whether the whole graph request is later accepted.
Definition observers.hpp:18

Detailed Description

An all-node callback receives the compiled result identity before creating its invocation state.