54#ifndef STEAM_ENGINE_TURNOUT_H
55#define STEAM_ENGINE_TURNOUT_H
94 using Feed = PAT::Feed;
118 static_assert (_verify_usable_as_WeavingPattern<PAT>());
123 template<
typename...INIT>
126 , PAT{forward<INIT> (init)...}
137 Feed feed = PAT::mount (turnoutSys);
138 PAT::pull (feed, turnoutSys);
139 PAT::shed (feed, turnoutSys, outBuff);
140 PAT::weft (feed, turnoutSys);
141 return PAT::fix (feed, turnoutSys);
161 throw err::Fatal{
"Diagnostic class -- must not be invoked"};
181 auto& weavingPattern =
static_cast<PAT&
> (internalView);
182 return _accessInternal(weavingPattern);
Derived specific exceptions within Lumiera's exception hierarchy.
Handle for a buffer for processing data, abstracting away the actual implementation.
Metadata to qualify a Port (and implicitly the enclosing Node).
Communication hub to coordinate and activate the »Render Node Network« performance.
Processing structure to activate a Render Node and produce result data.
Turnout(ProcID &id, INIT &&...init)
BuffHandle weave(TurnoutSystem &turnoutSys, OptionalBuff outBuff=std::nullopt) override
Entrance point to the next recursive step of media processing.
BuffHandle weave(TurnoutSystem &, OptionalBuff=std::nullopt) override
static auto accessInternal(Port &port)
Access to internals of the Weaving Pattern bypassing the VTable.
#define ASSERT_MEMBER_FUNCTOR(_EXPR_, _SIG_)
Macro for a compile-time check to verify some member is present and comprises something invokable wit...
std::optional< BuffHandle > OptionalBuff
constexpr bool _verify_usable_as_WeavingPattern()
constexpr bool _verify_usable_as_InvocationAdapter()
Definition to emulate a Concept for the Invocation Adapter.
Steam-Layer implementation namespace root.
Interface to the processing nodes and the Render Nodes network.
Basic set of definitions and includes commonly used together.
A actual state of a rendering evaluation parametrised for a single job.