LUMIERA.clone/src
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
..
common Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
include Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
lib Invocation: work out solution for a precisely fitting allocation 2024-10-20 21:52:00 +02:00
lumiera Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
plugin
stage Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
steam Invocation: switch WeavingBuilder to produce the result via λ 2024-10-22 03:20:50 +02:00
tool Doxygen: fill in missing file level headlines for some supplemental code 2016-11-09 20:09:19 +01:00
vault Scheduler-test: reduce impact of scale adjustments on breakpoint-search 2024-04-18 01:39:27 +02:00
.gitignore
DIR_INFO
doxygen.dox Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
SConscript Global-Layer-Renaming: fix handling of GuiResources in the build 2018-11-16 18:18:33 +01:00