LUMIERA.clone/src/steam/engine
Ichthyostega df37fec500 Invocation: switch WeavingBuilder to produce the result via λ
This change allows to disentangle the usages of `lib::SeveralBuilder`,
so that at any time during the build process only a single instance is
actively populated, all in one row — and thus the required storage can
either be pre-allocated, or dynamically extended and shrinked (when
filling elements into the last `SeveralBuilder` currently activated)

By packaging into a λ-closure, the building of the actual `Port`
implementation objects (≙ `Turnout` instances) is delayed until the
very end of the build process, and then unloaded into yet another
`lib::Several` in one strike. Temporarily, those building functor
objects are „hidden“ in the current stack frame, as a new `NodeBuilder`
instance is dropped off with an adapted type parameter (embedding the
λ-type produced by the last nested `PortBuilder` invocation, while
inheriting from previous ones.

However, defining a special constructor to cause this »chaining«
poses some challenge (regarding overload resolution). Moreover,
since the actual processing function shall be embedded directly
(as opposed to wrapping it into a `std::function`), further problems
can arise when this function is given as a ''function reference''
2024-10-22 03:20:50 +02:00
..
worker
buffer-local-tag.hpp Invocation: introduce engine-context for dependency injection 2024-08-03 03:21:59 +02:00
buffer-metadata.hpp Invocation: introduce engine-context for dependency injection 2024-08-03 03:21:59 +02:00
buffer-provider.cpp Invocation: analyse usage of buffer metadata entries 2024-07-28 19:29:27 +02:00
buffer-provider.hpp Invocation: draft setup for engine context and config 2024-10-11 16:57:10 +02:00
buffhandle-attach.hpp Invocation: settle upon a way to mark the output buffer 2024-07-27 17:17:02 +02:00
buffhandle.hpp Invocation: analyse usage of buffer metadata entries 2024-07-28 19:29:27 +02:00
bufftable.hpp Invocation: clarify role of Buffer-Descriptor and Dependency-Injection 2024-07-15 18:52:59 +02:00
calc-stream.hpp
channel-descriptor.hpp Invocation: clarify role of Buffer-Descriptor and Dependency-Injection 2024-07-15 18:52:59 +02:00
connectivity-obsolete.hpp Invocation: consider what is required to setup a FeedManifold 2024-06-29 04:22:23 +02:00
diagnostic-buffer-provider.cpp
diagnostic-buffer-provider.hpp
dispatch-table.cpp
dispatch-table.hpp
dispatcher.cpp
dispatcher.hpp
engine-ctx-facilities.cpp Invocation: draft how the 1:1-fallback wiring could work 2024-10-14 04:07:47 +02:00
engine-ctx-facilities.hpp Invocation: setup preliminary engine-context 2024-10-12 04:17:39 +02:00
engine-ctx.hpp Invocation: draft how the 1:1-fallback wiring could work 2024-10-14 04:07:47 +02:00
engine-diagnostics.hpp
engine-service-mock.cpp
engine-service-mock.hpp
engine-service.cpp
engine-service.hpp
exit-node.hpp
feed-manifold-obsolete.hpp Invocation: clarify role of Buffer-Descriptor and Dependency-Injection 2024-07-15 18:52:59 +02:00
feed-manifold.hpp Invocation: draft how the 1:1-fallback wiring could work 2024-10-14 04:07:47 +02:00
job-planning.hpp
job-ticket.cpp
job-ticket.hpp Invocation: start with some rename-refactorings 2024-05-11 16:39:58 +02:00
node-builder.hpp Invocation: switch WeavingBuilder to produce the result via λ 2024-10-22 03:20:50 +02:00
node-factory.cpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
node-factory.hpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
nodeinvocation.hpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
nodeoperation.hpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
nodewiring-config.hpp
nodewiring-obsolete.hpp Invocation: consider what is required to setup a FeedManifold 2024-06-29 04:22:23 +02:00
nodewiring.cpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
proc-node.cpp Invocation: Detail-planning of node invocation 2024-06-23 19:40:43 +02:00
proc-node.hpp Invocation: investigate Problems with allocation-growing 2024-10-14 18:29:29 +02:00
render-drive.cpp
render-drive.hpp
render-invocation.cpp Invocation: establish a concept for the rework 2024-06-21 16:22:58 +02:00
render-invocation.hpp Invocation: Identify parts relevant for a node builder 2024-06-25 04:54:39 +02:00
renderengine.cpp
renderengine.hpp
rendergraph.cpp Invocation: establish a concept for the rework 2024-06-21 16:22:58 +02:00
rendergraph.hpp Invocation: establish a concept for the rework 2024-06-21 16:22:58 +02:00
state-closure-obsolete.hpp Invocation: clarify role of Buffer-Descriptor and Dependency-Injection 2024-07-15 18:52:59 +02:00
state-closure.hpp Invocation: clarify role of Buffer-Descriptor and Dependency-Injection 2024-07-15 18:52:59 +02:00
tracking-heap-block-provider.cpp Invocation: analyse usage of buffer metadata entries 2024-07-28 19:29:27 +02:00
tracking-heap-block-provider.hpp Invocation: analyse usage of buffer metadata entries 2024-07-28 19:29:27 +02:00
turnout-system.cpp Invocation: capture idea for sharpened invocation structure 2024-05-12 17:27:07 +02:00
turnout-system.hpp Invocation: Detail-planning of node invocation 2024-06-23 19:40:43 +02:00
turnout.hpp Invocation: switch WeavingBuilder to produce the result via λ 2024-10-22 03:20:50 +02:00
type-handler.hpp Invocation: settle upon a way to mark the output buffer 2024-07-27 17:17:02 +02:00
weaving-pattern-builder.hpp Invocation: switch WeavingBuilder to produce the result via λ 2024-10-22 03:20:50 +02:00