Invocation: look for ways how to build the Turnout

It seems we need a `WeavingPattern`-Builder, which obviously
must be rather flexible, since those patterns are to be composed
from several layers, which should be extensible within a given ''Domain Ontology''

So this seems to lead to a builder-DSL which creates »**onion layers**«
of builders, with the ability to extend and specialise the type on each layer.

''As it will be quite challenging to get this into usable shape,
it seems best to approach this step by step through prototyping...''
This commit is contained in:
Fischlurch 2024-07-15 01:25:38 +02:00
parent 95046489d2
commit 968bfb8fab
2 changed files with 122 additions and 46 deletions

View file

@ -394,6 +394,7 @@ namespace engine {
*/ */
template<uint N, class FUN> template<uint N, class FUN>
struct Conf_DirectFunctionInvocation struct Conf_DirectFunctionInvocation
//////////////////////////////OOO non-copyable? move-only??
{ {
using Manifold = FeedManifold<N>; using Manifold = FeedManifold<N>;
using Feed = SimpleFunctionInvocationAdapter<Manifold, FUN>; using Feed = SimpleFunctionInvocationAdapter<Manifold, FUN>;
@ -416,8 +417,7 @@ namespace engine {
using Storage = lib::UninitialisedStorage<X,CONF::MAX_SIZ>; using Storage = lib::UninitialisedStorage<X,CONF::MAX_SIZ>;
Storage<PortRef> leadPort; Storage<PortRef> leadPort;
Storage<BufferDescriptor> inDescr;
Storage<BufferDescriptor> outDescr; Storage<BufferDescriptor> outDescr;
//////////////////////////////////////////OOO builder must set-up those descriptors //////////////////////////////////////////OOO builder must set-up those descriptors
@ -483,6 +483,7 @@ namespace engine {
class Turnout class Turnout
: public Port : public Port
, public PAT , public PAT
//////////////////////////////OOO non-copyable? move-only??
{ {
using Feed = typename PAT::Feed; using Feed = typename PAT::Feed;
public: public:
@ -504,6 +505,32 @@ namespace engine {
} }
}; };
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1367 : Prototyping: how to assemble a Turnout
template<uint N, class FUN>
using SimpleDirectInvoke = SimpleWeavingPattern<Conf_DirectFunctionInvocation<N,FUN>>;
template<uint N, class FUN>
struct SimpleWeavingBuilder
: Turnout<SimpleDirectInvoke<N,FUN>>
{
SimpleWeavingBuilder
attachToLeadPort(ProcNode& lead, uint portNr)
{
ASSERT (this->fanIn < N);
PortRef leadPort; /////////////////////////////////////OOO TODO need Accessor on ProcNode!!!!!
this->leadPort.createAt(this->fanIn, leadPort)
++(this->fanIn);
return move(*this);
}
Turnout<SimpleDirectInvoke<N,FUN>>
build()
{
return move(*this);
}
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1367 : (End)Prototyping: how to assemble a Turnout
}}// namespace steam::engine }}// namespace steam::engine

View file

@ -1855,9 +1855,7 @@
<node CREATED="1535557111546" ID="ID_649935976" MODIFIED="1538263469668" TEXT="Label-Text als ctor param"/> <node CREATED="1535557111546" ID="ID_649935976" MODIFIED="1538263469668" TEXT="Label-Text als ctor param"/>
<node CREATED="1535557122205" ID="ID_1034248466" MODIFIED="1538263469668" TEXT="resize_toplevel (=true by default)"> <node CREATED="1535557122205" ID="ID_1034248466" MODIFIED="1538263469668" TEXT="resize_toplevel (=true by default)">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
...ob beim Expand/Collapse das umschlie&#223;ende Widget resized werden soll ...ob beim Expand/Collapse das umschlie&#223;ende Widget resized werden soll
@ -1904,9 +1902,7 @@
</node> </node>
<node CREATED="1535636297102" ID="ID_1966837488" MODIFIED="1535636338854"> <node CREATED="1535636297102" ID="ID_1966837488" MODIFIED="1535636338854">
<richcontent TYPE="NODE"><html> <richcontent TYPE="NODE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
als <i>denjenigen</i>&#160;Container... als <i>denjenigen</i>&#160;Container...
@ -1924,9 +1920,7 @@
<node CREATED="1535636640849" FOLDED="true" ID="ID_1629039815" MODIFIED="1561827464612" TEXT="con"> <node CREATED="1535636640849" FOLDED="true" ID="ID_1629039815" MODIFIED="1561827464612" TEXT="con">
<node CREATED="1535636663334" ID="ID_1826518668" MODIFIED="1535636693159" TEXT="ordnet alle anderen Belange diesem Belang unter"> <node CREATED="1535636663334" ID="ID_1826518668" MODIFIED="1535636693159" TEXT="ordnet alle anderen Belange diesem Belang unter">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
ggfs m&#252;ssen alle anderen Funktionen nach unten delegieren ggfs m&#252;ssen alle anderen Funktionen nach unten delegieren
@ -2606,9 +2600,7 @@
<node CREATED="1534630176586" ID="ID_712401559" MODIFIED="1534630190996" TEXT="wird aber per Default auf hide() gemappt"/> <node CREATED="1534630176586" ID="ID_712401559" MODIFIED="1534630190996" TEXT="wird aber per Default auf hide() gemappt"/>
<node COLOR="#435e98" CREATED="1534634189347" ID="ID_146943890" MODIFIED="1534635809110"> <node COLOR="#435e98" CREATED="1534634189347" ID="ID_146943890" MODIFIED="1534635809110">
<richcontent TYPE="NODE"><html> <richcontent TYPE="NODE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
GTK-Konzepte: &quot;<b>Schlie&#223;en</b>&quot; GTK-Konzepte: &quot;<b>Schlie&#223;en</b>&quot;
@ -3754,9 +3746,7 @@
<node CREATED="1538230675997" ID="ID_1672501842" MODIFIED="1538232718759" TEXT="br&#xe4;uchte eine C-Repr&#xe4;sentation f&#xfc;r BareEntryID"/> <node CREATED="1538230675997" ID="ID_1672501842" MODIFIED="1538232718759" TEXT="br&#xe4;uchte eine C-Repr&#xe4;sentation f&#xfc;r BareEntryID"/>
<node CREATED="1538232816534" ID="ID_712541347" MODIFIED="1538232905703" TEXT="habe den Anspruch aber bereits aufgegeben"> <node CREATED="1538232816534" ID="ID_712541347" MODIFIED="1538232905703" TEXT="habe den Anspruch aber bereits aufgegeben">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
...und zwar an dem Punkt, an dem ich eine DiffMessage in das GUI schicke. ...und zwar an dem Punkt, an dem ich eine DiffMessage in das GUI schicke.
@ -5138,9 +5128,7 @@
<icon BUILTIN="pencil"/> <icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1538938751743" FOLDED="true" ID="ID_243888746" MODIFIED="1679361235146"> <node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1538938751743" FOLDED="true" ID="ID_243888746" MODIFIED="1679361235146">
<richcontent TYPE="NODE"><html> <richcontent TYPE="NODE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
&#187;die <b>Timeline</b>&#171; &#187;die <b>Timeline</b>&#171;
@ -6921,9 +6909,7 @@
<icon BUILTIN="idea"/> <icon BUILTIN="idea"/>
<node CREATED="1489544836757" ID="ID_1543872004" MODIFIED="1576282358132" TEXT="Ausf&#xfc;hrung abweisen"> <node CREATED="1489544836757" ID="ID_1543872004" MODIFIED="1576282358132" TEXT="Ausf&#xfc;hrung abweisen">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
...stattdessen einen Fehler-Indikator ausl&#246;sen ...stattdessen einen Fehler-Indikator ausl&#246;sen
@ -9458,9 +9444,7 @@
</node> </node>
<node CREATED="1512250874420" ID="ID_407939641" MODIFIED="1512250969766" TEXT="aber zus&#xe4;tzlicher Code-Aufwand"> <node CREATED="1512250874420" ID="ID_407939641" MODIFIED="1512250969766" TEXT="aber zus&#xe4;tzlicher Code-Aufwand">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head> <head/>
</head>
<body> <body>
<p> <p>
und zwar in dem Moment, wo man die Layer zusammensetzt. und zwar in dem Moment, wo man die Layer zusammensetzt.
@ -80555,8 +80539,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1687302599709" ID="ID_1237500630" MODIFIED="1687302620405" TEXT="Render-Node-Invocation"> <node BACKGROUND_COLOR="#f6fed9" COLOR="#ff0000" CREATED="1687302599709" ID="ID_1237500630" MODIFIED="1720997870103" TEXT="Render-Node-Invocation">
<icon BUILTIN="hourglass"/> <icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1687302631000" ID="ID_229742286" MODIFIED="1687302644211" TEXT="erster Enwurf von 2010"> <node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1687302631000" ID="ID_229742286" MODIFIED="1687302644211" TEXT="erster Enwurf von 2010">
<icon BUILTIN="info"/> <icon BUILTIN="info"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713657957591" ID="ID_1023195884" MODIFIED="1713658011836" TEXT="#1363 reassess render node draft code"> <node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713657957591" ID="ID_1023195884" MODIFIED="1713658011836" TEXT="#1363 reassess render node draft code">
@ -81057,11 +81041,11 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713819879109" ID="ID_943908122" MODIFIED="1718843746703" TEXT="Entwurf und Aufbau"> <node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1713819879109" ID="ID_943908122" MODIFIED="1720997843192" TEXT="Entwurf und Aufbau">
<arrowlink COLOR="#c80a37" DESTINATION="ID_845562088" ENDARROW="Default" ENDINCLINATION="-130;10;" ID="Arrow_ID_66382855" STARTARROW="None" STARTINCLINATION="42;-31;"/> <arrowlink COLOR="#c80a37" DESTINATION="ID_845562088" ENDARROW="Default" ENDINCLINATION="-130;10;" ID="Arrow_ID_66382855" STARTARROW="None" STARTINCLINATION="42;-31;"/>
<arrowlink COLOR="#fdd3b6" DESTINATION="ID_1102491970" ENDARROW="Default" ENDINCLINATION="-366;-51;" ID="Arrow_ID_1227159439" STARTARROW="None" STARTINCLINATION="30;255;"/> <arrowlink COLOR="#fdd3b6" DESTINATION="ID_1102491970" ENDARROW="Default" ENDINCLINATION="-366;-51;" ID="Arrow_ID_1227159439" STARTARROW="None" STARTINCLINATION="30;255;"/>
<linktarget COLOR="#fde0ca" DESTINATION="ID_943908122" ENDARROW="Default" ENDINCLINATION="-1682;204;" ID="Arrow_ID_1115019309" SOURCE="ID_1278689110" STARTARROW="None" STARTINCLINATION="-1643;116;"/> <linktarget COLOR="#fde0ca" DESTINATION="ID_943908122" ENDARROW="Default" ENDINCLINATION="-1682;204;" ID="Arrow_ID_1115019309" SOURCE="ID_1278689110" STARTARROW="None" STARTINCLINATION="-1643;116;"/>
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="pencil"/>
<node CREATED="1713820093819" ID="ID_1401449333" MODIFIED="1713823888370" TEXT="Zugangsweg"> <node CREATED="1713820093819" ID="ID_1401449333" MODIFIED="1713823888370" TEXT="Zugangsweg">
<icon BUILTIN="forward"/> <icon BUILTIN="forward"/>
<node CREATED="1713820133641" ID="ID_888185703" MODIFIED="1718842764783" TEXT="Gliederung in drei Stufen"> <node CREATED="1713820133641" ID="ID_888185703" MODIFIED="1718842764783" TEXT="Gliederung in drei Stufen">
@ -81081,8 +81065,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
<node CREATED="1713823582760" ID="ID_857212769" MODIFIED="1713823865318" TEXT="Kl&#xe4;rung: einfach &#x27f6; komplex"> <node CREATED="1713823582760" ID="ID_857212769" MODIFIED="1713823865318" TEXT="Kl&#xe4;rung: einfach &#x27f6; komplex">
<icon BUILTIN="yes"/> <icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1713823596151" ID="ID_252499492" MODIFIED="1713823821817" TEXT="Node-Grundstruktur"> <node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1713823596151" ID="ID_252499492" MODIFIED="1720997896629" TEXT="Node-Grundstruktur">
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1714182997931" ID="ID_1800457140" MODIFIED="1714183006724" TEXT="Anforderungen"> <node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1714182997931" ID="ID_1800457140" MODIFIED="1714183006724" TEXT="Anforderungen">
<icon BUILTIN="yes"/> <icon BUILTIN="yes"/>
<node CREATED="1714183028139" ID="ID_196869837" MODIFIED="1714183035818" TEXT="Node kennt N Vorl&#xe4;ufer"> <node CREATED="1714183028139" ID="ID_196869837" MODIFIED="1714183035818" TEXT="Node kennt N Vorl&#xe4;ufer">
@ -81210,7 +81194,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
</node> </node>
</node> </node>
<node CREATED="1715037797261" ID="ID_1888148655" MODIFIED="1715037803336" TEXT="Erzeugen einer Node"> <node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1715037797261" ID="ID_1888148655" MODIFIED="1720997902462" TEXT="Erzeugen einer Node">
<icon BUILTIN="pencil"/>
<node CREATED="1715037805125" ID="ID_1432652709" MODIFIED="1715037824459" TEXT="grunds&#xe4;tzlich: Konstrkution &#x2259; Verdrahtung"> <node CREATED="1715037805125" ID="ID_1432652709" MODIFIED="1715037824459" TEXT="grunds&#xe4;tzlich: Konstrkution &#x2259; Verdrahtung">
<icon BUILTIN="idea"/> <icon BUILTIN="idea"/>
</node> </node>
@ -81579,7 +81564,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
</node> </node>
</node> </node>
<node CREATED="1719276014384" ID="ID_274182619" MODIFIED="1719276023591" TEXT="Entwurf syntaktische Struktur"> <node BACKGROUND_COLOR="#d1bcb3" CREATED="1719276014384" ID="ID_274182619" MODIFIED="1720997949542" TEXT="Entwurf syntaktische Struktur">
<icon BUILTIN="info"/>
<node CREATED="1719970599748" ID="ID_1299763307" MODIFIED="1720050731701" TEXT="in mehrere Level aufteilen"> <node CREATED="1719970599748" ID="ID_1299763307" MODIFIED="1720050731701" TEXT="in mehrere Level aufteilen">
<icon BUILTIN="yes"/> <icon BUILTIN="yes"/>
<node CREATED="1719970637161" ID="ID_1950149667" MODIFIED="1720050731702" TEXT="Level-1 : direkte Instruktionen f&#xfc;r den Turnout-Aufruf"> <node CREATED="1719970637161" ID="ID_1950149667" MODIFIED="1720050731702" TEXT="Level-1 : direkte Instruktionen f&#xfc;r den Turnout-Aufruf">
@ -81594,9 +81580,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1720143873151" ID="ID_92747719" MODIFIED="1720143899547" TEXT="es werden nur gew&#xfc;nschte Produktions-Verbindungen spezifiziert"/> <node CREATED="1720143873151" ID="ID_92747719" MODIFIED="1720143899547" TEXT="es werden nur gew&#xfc;nschte Produktions-Verbindungen spezifiziert"/>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1719970252027" ID="ID_1241897346" MODIFIED="1719971248624" TEXT="Builder-Schema"> <node BACKGROUND_COLOR="#f0e3c5" COLOR="#990000" CREATED="1719970252027" ID="ID_1241897346" MODIFIED="1720997987064" TEXT="Builder-Schema">
<linktarget COLOR="#b82d72" DESTINATION="ID_1241897346" ENDARROW="Default" ENDINCLINATION="-200;386;" ID="Arrow_ID_1194515432" SOURCE="ID_912277542" STARTARROW="None" STARTINCLINATION="-600;-89;"/> <linktarget COLOR="#b82d72" DESTINATION="ID_1241897346" ENDARROW="Default" ENDINCLINATION="-200;386;" ID="Arrow_ID_1194515432" SOURCE="ID_912277542" STARTARROW="None" STARTINCLINATION="-600;-89;"/>
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="pencil"/>
<node CREATED="1719971327507" ID="ID_1941686244" MODIFIED="1720050731701" TEXT="Level-2"> <node CREATED="1719971327507" ID="ID_1941686244" MODIFIED="1720050731701" TEXT="Level-2">
<node CREATED="1719970302300" ID="ID_87633601" MODIFIED="1719970332019" TEXT="Prinzip: 1:1 als Default + explizite Abweichung"> <node CREATED="1719970302300" ID="ID_87633601" MODIFIED="1719970332019" TEXT="Prinzip: 1:1 als Default + explizite Abweichung">
<icon BUILTIN="yes"/> <icon BUILTIN="yes"/>
@ -81710,13 +81696,13 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="flag-yellow"/>
<node CREATED="1720177891586" ID="ID_1634202091" MODIFIED="1720177901196" TEXT="der Implementator dieses Glue-Code..."/> <node CREATED="1720177891586" ID="ID_1634202091" MODIFIED="1720177901196" TEXT="der Implementator dieses Glue-Code..."/>
<node CREATED="1720177901993" ID="ID_1005424545" MODIFIED="1720177946185" TEXT="braucht eine M&#xf6;glichkeit, jeden Eingabe-Parameter &#xbb;wiederzuerkennen&#xab;"/> <node CREATED="1720177901993" ID="ID_1005424545" MODIFIED="1720177946185" TEXT="braucht eine M&#xf6;glichkeit, jeden Eingabe-Parameter &#xbb;wiederzuerkennen&#xab;"/>
<node CREATED="1720177992858" ID="ID_981836838" MODIFIED="1720178378014" TEXT="Erl&#xe4;uterung...."> <node CREATED="1720177992858" ID="ID_981836838" MODIFIED="1720999220239" TEXT="Erl&#xe4;uterung....">
<richcontent TYPE="NOTE"><html> <richcontent TYPE="NOTE"><html>
<head/> <head/>
<body> <body>
<ul> <ul>
<li> <li>
in einem fr&#252;heren Build-Schritt wird festgestellt, welche Eingabeparameter eine Lib-Funktion braucht in einem fr&#252;heren Build-Schritt wird festgestellt,<br />welche Eingabeparameter eine Lib-Funktion braucht
</li> </li>
<li> <li>
f&#252;r alle diese Eingabe-Parameter wird eine Quelle vorgemerkt f&#252;r alle diese Eingabe-Parameter wird eine Quelle vorgemerkt
@ -81753,7 +81739,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
<node CREATED="1720178543387" ID="ID_1839001807" MODIFIED="1720178576252" TEXT="adaptInvocation&lt;ADA&gt;"> <node CREATED="1720178543387" ID="ID_1839001807" MODIFIED="1720178576252" TEXT="adaptInvocation&lt;ADA&gt;">
<node CREATED="1720178577432" ID="ID_438090694" MODIFIED="1720178597453" TEXT="ADA &#x2261; Typ der Invocation-Adapter Klasse"/> <node CREATED="1720178577432" ID="ID_438090694" MODIFIED="1720178597453" TEXT="ADA &#x2261; Typ der Invocation-Adapter Klasse"/>
<node CREATED="1720178598060" ID="ID_1951506826" MODIFIED="1720178673488"> <node CREATED="1720178598060" ID="ID_1951506826" MODIFIED="1720999561682">
<richcontent TYPE="NODE"><html> <richcontent TYPE="NODE"><html>
<head/> <head/>
<body> <body>
@ -81762,6 +81748,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</p> </p>
</body> </body>
</html></richcontent> </html></richcontent>
<arrowlink COLOR="#cd0172" DESTINATION="ID_668512282" ENDARROW="Default" ENDINCLINATION="-522;-42;" ID="Arrow_ID_1453353099" STARTARROW="None" STARTINCLINATION="651;43;"/>
<icon BUILTIN="forward"/> <icon BUILTIN="forward"/>
</node> </node>
<node CREATED="1720178620602" ID="ID_1754473259" MODIFIED="1720178640340" TEXT="und dann mit einer Referenz auf die FeedManifold aufgerufen"/> <node CREATED="1720178620602" ID="ID_1754473259" MODIFIED="1720178640340" TEXT="und dann mit einer Referenz auf die FeedManifold aufgerufen"/>
@ -86933,8 +86920,11 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node> </node>
</node> </node>
<node CREATED="1719791285941" ID="ID_320104526" MODIFIED="1719791288952" TEXT="Verschaltung"> <node CREATED="1719791285941" ID="ID_320104526" MODIFIED="1719791288952" TEXT="Verschaltung">
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1719791290189" ID="ID_606778127" MODIFIED="1719791319757" TEXT="Schema f&#xfc;r die FeedManifold noch nicht entscheidbar"> <node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1719791290189" ID="ID_606778127" MODIFIED="1720998971868" TEXT="Schema f&#xfc;r die FeedManifold vom Gebrauch abh&#xe4;ngig">
<icon BUILTIN="messagebox_warning"/> <icon BUILTIN="messagebox_warning"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720998988665" ID="ID_522852777" MODIFIED="1720999010608" TEXT="mu&#xdf; mich durch Prototyping herantasten....">
<icon BUILTIN="yes"/>
</node>
<node CREATED="1719791322472" ID="ID_258494217" LINK="#ID_656569241" MODIFIED="1719791358411" TEXT="ich wei&#xdf; nur: sie hat den Charakter einer Meta-Spec"/> <node CREATED="1719791322472" ID="ID_258494217" LINK="#ID_656569241" MODIFIED="1719791358411" TEXT="ich wei&#xdf; nur: sie hat den Charakter einer Meta-Spec"/>
<node CREATED="1719791364810" ID="ID_881885593" MODIFIED="1719791369910" TEXT="zwei M&#xf6;glichkeiten"> <node CREATED="1719791364810" ID="ID_881885593" MODIFIED="1719791369910" TEXT="zwei M&#xf6;glichkeiten">
<node CREATED="1719791370908" ID="ID_1842583216" MODIFIED="1719791566361" TEXT="orientiert sich an der umschlie&#xdf;enden Node"> <node CREATED="1719791370908" ID="ID_1842583216" MODIFIED="1719791566361" TEXT="orientiert sich an der umschlie&#xdf;enden Node">
@ -88109,8 +88099,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
ein <font face="Monospaced" color="#8a0606">emitBuffer()</font>&#160;erfolgen soll ein <font face="Monospaced" color="#8a0606">emitBuffer()</font>&#160;erfolgen soll
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
<arrowlink COLOR="#3c3267" DESTINATION="ID_861820571" ENDARROW="Default" ENDINCLINATION="65;-527;" ID="Arrow_ID_1939934739" STARTARROW="None" STARTINCLINATION="1714;371;"/> <arrowlink COLOR="#3c3267" DESTINATION="ID_861820571" ENDARROW="Default" ENDINCLINATION="65;-527;" ID="Arrow_ID_1939934739" STARTARROW="None" STARTINCLINATION="1714;371;"/>
<node CREATED="1720995730036" ID="ID_578172689" MODIFIED="1720995740742" TEXT="bedeutet: nur f&#xfc;r die Ausgabeseite"/> <node CREATED="1720995730036" ID="ID_578172689" MODIFIED="1720995740742" TEXT="bedeutet: nur f&#xfc;r die Ausgabeseite"/>
</node> </node>
@ -88129,12 +88118,74 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720622579250" ID="ID_474766411" MODIFIED="1720622685877" TEXT="Parameter-Strukturen im Turnout aufbauen"> <node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1720622579250" ID="ID_474766411" MODIFIED="1720622685877" TEXT="Parameter-Strukturen im Turnout aufbauen">
<arrowlink COLOR="#942459" DESTINATION="ID_1611074620" ENDARROW="Default" ENDINCLINATION="-71;593;" ID="Arrow_ID_1297849942" STARTARROW="None" STARTINCLINATION="-1091;65;"/> <arrowlink COLOR="#942459" DESTINATION="ID_1611074620" ENDARROW="Default" ENDINCLINATION="-71;593;" ID="Arrow_ID_1297849942" STARTARROW="None" STARTINCLINATION="-1091;65;"/>
<icon BUILTIN="pencil"/> <icon BUILTIN="pencil"/>
<node CREATED="1720999599081" ID="ID_413237580" MODIFIED="1720999608586" TEXT="hierf&#xfc;r notwendig...">
<node CREATED="1720999613678" ID="ID_1098347489" MODIFIED="1720999621465" TEXT="Typ des Weaving-Pattern-Chain">
<node CREATED="1720999647911" ID="ID_455578970" MODIFIED="1720999650926" TEXT="base-CONF"/>
<node CREATED="1720999651654" ID="ID_523504674" MODIFIED="1720999657433" TEXT="Layer dar&#xfc;ber bauen"/>
</node>
<node CREATED="1720999757930" ID="ID_1449147191" MODIFIED="1720999764421" TEXT="dynamische Parametrisierung">
<node CREATED="1720999773568" ID="ID_1975133359" MODIFIED="1720999780554" TEXT="fanIn / fanOut festlegen"/>
<node CREATED="1720999791164" ID="ID_159386495" MODIFIED="1720999805478" TEXT="Lead-Port-Referenzen einf&#xfc;llen"/>
<node CREATED="1720999812160" ID="ID_1014249721" MODIFIED="1720999825402" TEXT="Ausgabe Buffer-Descriptoren konstruieren"/>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720999952601" ID="ID_773939367" MODIFIED="1720999968167" TEXT="stelle fest: brauche einen Weaving-Pattern-Builder">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1721000066150" ID="ID_1111138525" MODIFIED="1721000102756" TEXT="auch dieses per Prototyping ausarbeiten">
<icon BUILTIN="yes"/>
<node CREATED="1721001272080" ID="ID_1644136965" MODIFIED="1721001278238" TEXT="mu&#xdf; irgendwie N festlegen"/>
<node CREATED="1721001278759" ID="ID_1598574377" MODIFIED="1721001291674" TEXT="weitere Schwierigkeit: die FUN initialisieren"/>
<node CREATED="1721001783958" ID="ID_671303341" MODIFIED="1721001800843" TEXT="m&#xf6;chte das eigentlich Schicht f&#xfc;r Schicht aufbauen">
<node CREATED="1721001804870" ID="ID_520221401" MODIFIED="1721001828433" TEXT="analog zum IterExplorer-Builder">
<icon BUILTIN="idea"/>
</node>
<node CREATED="1721001829710" ID="ID_1175533988" MODIFIED="1721001854628" TEXT="&#x27f9; fortlaufend einen neuen Builder-Typ zur&#xfc;ckgeben"/>
</node>
<node CREATED="1721002518189" ID="ID_539153824" MODIFIED="1721002527069" TEXT="Lead-Ports einf&#xfc;llen">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721002528188" ID="ID_1483660753" MODIFIED="1721002546307" TEXT="Ha! kann fanIn schrittweise hochz&#xe4;hlen">
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721002548302" ID="ID_1439228362" MODIFIED="1721002561328" TEXT="brauche Port-Accessor auf ProcNode">
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721002564319" ID="ID_566779431" MODIFIED="1721002578582" TEXT="Connectivity herausf&#xfc;hren">
<icon BUILTIN="flag-yellow"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1721002570214" ID="ID_1634824320" MODIFIED="1721002578582" TEXT="verwendet RefArray">
<icon BUILTIN="flag-yellow"/>
</node>
</node>
</node>
</node>
</node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720622703868" ID="ID_332813706" MODIFIED="1720622709065" TEXT="in Bausteine zerlegen"> <node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720622703868" ID="ID_332813706" MODIFIED="1720622709065" TEXT="in Bausteine zerlegen">
<icon BUILTIN="flag-yellow"/> <icon BUILTIN="flag-yellow"/>
</node> </node>
</node> </node>
</node> </node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1720999408569" ID="ID_253722349" MODIFIED="1720999419252" TEXT="dann aus diesem Konstrukt ein Builder-API ableiten">
<icon BUILTIN="flag-yellow"/>
<node CREATED="1719970886798" ID="ID_718917982" MODIFIED="1719970979999" TEXT="createBuffers&lt;ILA&gt;(args....)"/>
<node CREATED="1720178543387" ID="ID_1390316493" MODIFIED="1720178576252" TEXT="adaptInvocation&lt;ADA&gt;">
<node CREATED="1720178577432" ID="ID_563185736" MODIFIED="1720178597453" TEXT="ADA &#x2261; Typ der Invocation-Adapter Klasse"/>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1720999461725" ID="ID_668512282" MODIFIED="1720999561683" TEXT="kl&#xe4;ren: wo/wie wird diese instantiiert?">
<linktarget COLOR="#cd0172" DESTINATION="ID_668512282" ENDARROW="Default" ENDINCLINATION="-522;-42;" ID="Arrow_ID_1453353099" SOURCE="ID_1951506826" STARTARROW="None" STARTINCLINATION="651;43;"/>
<icon BUILTIN="help"/>
<node CREATED="1720999894058" ID="ID_214293974" MODIFIED="1720999922585" TEXT="Instantiiert wird sie erst im Turnout::mount()"/>
<node CREATED="1720999923389" ID="ID_1583842175" MODIFIED="1720999949503">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
aber festgelegt wird sie <i>beim Bauen </i>des Turnout
</p>
</body>
</html>
</richcontent>
</node>
</node>
</node>
</node>
</node> </node>
</node> </node>
</node> </node>
@ -127521,8 +127572,7 @@ std::cout &lt;&lt; tmpl.render({&quot;what&quot;, &quot;World&quot;}) &lt;&lt; s
</li> </li>
</ul> </ul>
</body> </body>
</html> </html></richcontent>
</richcontent>
</node> </node>
</node> </node>
<node CREATED="1719248978957" ID="ID_1526659438" MODIFIED="1719248990921" TEXT="BufferProvider"> <node CREATED="1719248978957" ID="ID_1526659438" MODIFIED="1719248990921" TEXT="BufferProvider">
@ -127556,8 +127606,7 @@ std::cout &lt;&lt; tmpl.render({&quot;what&quot;, &quot;World&quot;}) &lt;&lt; s
<u>Achtung</u>: <b>nicht</b>&#160;idempotent <u>Achtung</u>: <b>nicht</b>&#160;idempotent
</p> </p>
</body> </body>
</html> </html></richcontent>
</richcontent>
<icon BUILTIN="messagebox_warning"/> <icon BUILTIN="messagebox_warning"/>
</node> </node>
</node> </node>