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 Library/Application: keep DummyPlayer compilable (see #1342) 2023-10-05 03:21:51 +02:00
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 Job-Planning: Analysis for the next step 2023-05-26 04:20:12 +02:00
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 Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
diagnostic-buffer-provider.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
dispatch-table.cpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatch-table.hpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatcher.cpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatcher.hpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
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 Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
engine-service-mock.cpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
engine-service-mock.hpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
engine-service.cpp Dispatcher-Pipeline: decide upon the translation into portIDX 2023-06-12 19:21:14 +02:00
engine-service.hpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
exit-node.hpp Invocation: initial considerations... 2024-04-21 02:58:30 +02:00
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 Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
job-ticket.cpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
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 Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
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 Activity-Lang: failure will certainly not be signalled to the Job 2023-08-15 17:18:30 +02:00
render-drive.hpp Activity-Lang: failure will certainly not be signalled to the Job 2023-08-15 17:18:30 +02:00
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 Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
renderengine.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
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