Invocation: integrate active ''parameter functor''
While basically the `FeedPrototype` could be created directly, passing both the processing- and the parameter-functor, in practice a two-step configuration can be expected, since the processing-functor is built by the Library-Plug-in, while the parameter-functor is then later added as decoration by the builder. Thus we need the ability to ''collect configuration'' within the Level-2 builder, which can be achieved by a ''cross-builder'' mechanic, where we create an adapted builder from the augmented configuration. A similar approach is also used to add the configuration of the custom allocator. Added an extensive demo in the test, playing with several instances to highlight the point where the parameter-functor is actually invoked.
This commit is contained in:
parent
8923d0f7b5
commit
72703f70c9
3 changed files with 210 additions and 88 deletions
|
|
@ -263,7 +263,7 @@ namespace engine {
|
|||
|
||||
static constexpr bool hasParam() { return _Proc::hasParam(); }
|
||||
|
||||
using Param = std::conditional_t<hasParam(), typename _Proc::ArgP, std::tuple<>>;
|
||||
using Param = std::conditional_t<hasParam(), typename _Proc::SigP, std::tuple<>>;
|
||||
|
||||
template<class PF>
|
||||
using Res = typename _Fun<PF>::Ret;
|
||||
|
|
@ -582,9 +582,30 @@ namespace engine {
|
|||
{
|
||||
if constexpr (hasParamFun())
|
||||
if (_Trait::isActivated(paramFun_))
|
||||
return Feed{paramFun_(turnoutSys), procFun_};
|
||||
return Feed(paramFun_(turnoutSys), procFun_);
|
||||
return Feed{procFun_};
|
||||
}
|
||||
|
||||
|
||||
template<typename PFX>
|
||||
using Adapted = FeedPrototype<FUN, PFX>;
|
||||
|
||||
/**
|
||||
* Cross-Builder to add configuration with a given parameter-functor.
|
||||
* @return new FeedPrototype instance outfitted with the current
|
||||
* processing-functor and the given other param-functor
|
||||
* @warning the current instance is likely **defunct** after this call,
|
||||
* and should not be used any more, due to the move-construct.
|
||||
* @remark together with the move-ctor of FeedPrototype this helper
|
||||
* can be used to configure a Prototype in several steps.
|
||||
*/
|
||||
template<typename PFX>
|
||||
auto
|
||||
moveAdapted (PFX otherParamFun)
|
||||
{
|
||||
using OtherParamFun = std::decay_t<PFX>;
|
||||
return Adapted<OtherParamFun>{move(procFun_), move(otherParamFun)};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -328,7 +328,6 @@ namespace test {
|
|||
verify_FeedPrototype()
|
||||
{
|
||||
// Prepare setup to build a suitable FeedManifold...
|
||||
long r1 = rani(100);
|
||||
using Buffer = long;
|
||||
BufferProvider& provider = DiagnosticBufferProvider::build();
|
||||
BuffHandle buff = provider.lockBufferFor<Buffer> (-55);
|
||||
|
|
@ -336,24 +335,66 @@ namespace test {
|
|||
auto fun_singleParamOut = [](short param, Buffer* buff) { *buff = param-1; };
|
||||
using M1 = FeedManifold<decltype(fun_singleParamOut)>;
|
||||
using P1 = M1::Prototype;
|
||||
CHECK ( P1::hasParam());
|
||||
CHECK (not P1::hasParamFun());
|
||||
CHECK ( P1::hasParam()); // checks that the processing-function accepts a parameter
|
||||
CHECK (not P1::hasParamFun()); // while this prototype has no active param-functor
|
||||
CHECK (not P1::canActivate());
|
||||
|
||||
P1 p1{move (fun_singleParamOut)};
|
||||
P1 p1{move (fun_singleParamOut)}; // create the instance of the prototype, moving the functor in
|
||||
CHECK (sizeof(p1) <= sizeof(void*));
|
||||
TurnoutSystem turSys{Time::NEVER};
|
||||
TurnoutSystem turSys{Time::NEVER}; // Each Node invocation uses a TurnoutSystem instance....
|
||||
|
||||
M1 m1 = p1.createFeed(turSys);
|
||||
CHECK (m1.param == short{});
|
||||
m1.outBuff.createAt(0, buff);
|
||||
M1 m1 = p1.createFeed(turSys); //... and also will create a new FeedManifold from the prototype
|
||||
CHECK (m1.param == short{}); // In this case here, the param value is default constructed.
|
||||
m1.outBuff.createAt(0, buff); // Perform the usual steps for an invocation....
|
||||
CHECK (buff.accessAs<long>() == -55);
|
||||
m1.connect();
|
||||
CHECK (*m1.outArgs == -55);
|
||||
|
||||
m1.invoke();
|
||||
CHECK (*m1.outArgs == 0 - 1);
|
||||
CHECK (*m1.outArgs == 0 - 1); // fun_singleParamOut() -> param - 1 and param ≡ 0
|
||||
CHECK (buff.accessAs<long>() == 0 - 1);
|
||||
long& calcResult = buff.accessAs<long>(); // for convenience use a reference into the result buffer
|
||||
|
||||
|
||||
|
||||
//_____________________________________
|
||||
// Reconfigure to attach a param-functor
|
||||
long rr{11}; // ▽▽▽▽ Note: side-effect
|
||||
auto fun_paramSimple = [&](TurnoutSystem&){ return rr += 1+rani(100); };
|
||||
using P1x = P1::Adapted<decltype(fun_paramSimple)>;
|
||||
CHECK ( P1x::hasParam());
|
||||
CHECK ( P1x::hasParamFun());
|
||||
CHECK (not P1x::canActivate());
|
||||
|
||||
P1x p1x = p1.moveAdapted (move(fun_paramSimple));
|
||||
M1 m1x = p1x.createFeed(turSys); // ◁————————— param-functor invoked here
|
||||
CHECK (rr == m1x.param); // ...as indicated by the side-effect
|
||||
short r1 = m1x.param;
|
||||
|
||||
// the rest works as always with FeedManifold (which as such is agnostic of the param-functor!)
|
||||
m1x.outBuff.createAt(0, buff);
|
||||
m1x.connect();
|
||||
m1x.invoke(); // Invoke the processing functor
|
||||
CHECK (calcResult == r1 - 1); // ...which computes fun_singleParamOut() -> param-1
|
||||
|
||||
// but let's play with the various instances...
|
||||
m1.invoke(); // the previous FeedManifold is sill valid and connected
|
||||
CHECK (calcResult == 0 - 1); // and uses its baked in parameter value (0)
|
||||
m1x.invoke();
|
||||
CHECK (calcResult == r1 - 1); // as does m1x, without invoking the param-functor
|
||||
|
||||
// create yet another instance from the prototype...
|
||||
M1 m1y = p1x.createFeed(turSys); // ◁————————— param-functor invoked here
|
||||
CHECK (rr == m1y.param);
|
||||
CHECK (r1 < m1y.param); // ...note again the side-effect
|
||||
m1y.outBuff.createAt(0, buff);
|
||||
m1y.connect();
|
||||
m1y.invoke(); // ...and so this third FeedManifold instance...
|
||||
CHECK (calcResult == rr - 1); // uses yet another baked-in param value;
|
||||
m1x.invoke(); // recall that each Node invocation creates a new
|
||||
CHECK (calcResult == r1 - 1); // FeedManifold on the stack, since invocations are
|
||||
m1.invoke(); // performed concurrently, each with its own set of
|
||||
CHECK (calcResult == 0 - 1); // buffers and parameters.
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -26939,9 +26939,7 @@
|
|||
<node CREATED="1677242750955" ID="ID_1710116847" MODIFIED="1677242765269" TEXT="der bietet eins symbolische Notation, aber nirgends die Zahlenwerte"/>
|
||||
<node CREATED="1677243712139" ID="ID_175318062" MODIFIED="1677243737909" TEXT="man kann einzelne Objekte per Zuweisung redefinieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
b = 0.6180339887498948482
|
||||
|
|
@ -27630,9 +27628,7 @@
|
|||
</node>
|
||||
<node CREATED="1678058960509" ID="ID_755126006" MODIFIED="1678059095895" TEXT="anscheinend eine Kombination mehrerer Fehler in der Layout-Logik">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<ul>
|
||||
<li>
|
||||
|
|
@ -28112,9 +28108,7 @@
|
|||
</node>
|
||||
<node CREATED="1677775842668" ID="ID_178604932" LINK="https://www.cairographics.org/tutorial/#L1transforms" MODIFIED="1677776018897" TEXT="Nein! Laut Doku ist initial der User-Space identisch mit dem Device-Space">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
The device-space coordinate system is tied to the surface, and cannot change. The user-space coordinate system
|
||||
|
||||
|
|
@ -28873,9 +28867,7 @@
|
|||
<node CREATED="1555807297726" ID="ID_1905059435" MODIFIED="1557498707229" TEXT="das wäre heute gar nicht mehr notwendig"/>
|
||||
<node CREATED="1555807489204" ID="ID_1385287282" MODIFIED="1557498707229" TEXT="Ausführung ist lückenhaft, und teilweise nicht korrekt">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Beispiel: Wenn der Typ selber keinen Support anbietet,
|
||||
|
|
@ -28908,9 +28900,7 @@
|
|||
<node CREATED="1555807724232" ID="ID_1817680115" MODIFIED="1557498707229" TEXT="und das, obwohl ich CloneValueSupport als Basis verwendet habe"/>
|
||||
<node CREATED="1557446452899" ID="ID_454930922" MODIFIED="1557498707229" TEXT="META_DETECT_FUNCTION erkennt keine geerbten Methoden">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...denn diese Duck-Detector-Metafunktion bildet den <b>Typ</b> eines Member-Pointers,
|
||||
|
|
@ -30202,9 +30192,7 @@
|
|||
</node>
|
||||
<node COLOR="#435e98" CREATED="1566487282848" ID="ID_771271362" MODIFIED="1672875017148" TEXT="Workaround: jeweils explizit set_size_request">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<u>Anmerkung 1/2023</u>: seinerzeit habe ich die Mechanik der Layout-Zuteilung noch nicht wirklich verstanden
|
||||
|
|
@ -31593,9 +31581,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1563117450249" ID="ID_36783315" MODIFIED="1563117529819">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
spezielle Regel gesetzt auf: <b>.timeline-page > .timeline-body fork.timeline</b>
|
||||
|
|
@ -32945,9 +32931,7 @@
|
|||
<node CREATED="1567085512476" ID="ID_1140063837" MODIFIED="1567085514964" TEXT="warum?"/>
|
||||
<node CREATED="1567085515823" ID="ID_224781783" MODIFIED="1576282358042" TEXT="weil wir später Clips in den Track platzieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
d.h. wir müssen...
|
||||
|
|
@ -33686,9 +33670,7 @@
|
|||
</node>
|
||||
<node CREATED="1678063155834" ID="ID_774623134" MODIFIED="1679073584761" TEXT="ein Problem könnte die Verteilung zusätzlcher vertikaler Ausdehnung sein">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...darüber bin ich auch beim Zeichnen der Connector im StaveBracket gestolpert
|
||||
|
|
@ -33876,9 +33858,7 @@
|
|||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1583679312741" ID="ID_440797673" MODIFIED="1584108642018" TEXT="dediziertes Clip-API">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<ul>
|
||||
<li>
|
||||
|
|
@ -34580,9 +34560,7 @@
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1584229580470" ID="ID_1095483529" MODIFIED="1584229645233" TEXT="Effekt/Medienspur">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...diese erstreckt sich typischerweise über die gesamte Länge des umschließenden Containers, und paßt sich dieser ohne weiteres dynamisch an
|
||||
|
|
@ -34960,9 +34938,7 @@
|
|||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1611492890873" ID="ID_458756808" MODIFIED="1611492956892" TEXT="sollte in der seit 4/20 existierenden Implementierung bereits funktionieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...habe ich aber noch nie getestet...
|
||||
|
|
@ -88756,8 +88732,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
auch Implementierung von <font face="Monospaced" color="#750db9">all_buffers_released</font><font face="Monospaced">()</font> fehlt
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -88765,8 +88740,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
Glorreich — <i>testgetriebene Entwicklung</i> und dann den wichtigen zentralen Test >10 Jahre lang auskommentiert rumstehen lassen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="smiley-angry"/>
|
||||
</node>
|
||||
<node COLOR="#862e72" CREATED="1734657284816" ID="ID_273646931" MODIFIED="1734657328403" TEXT="Hilfe! alles ziemlich komplex ... verstehe nur ungefähr...">
|
||||
|
|
@ -88792,8 +88766,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
also muß ich im BlockPool alles als <i>released</i> markieren
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734657650997" ID="ID_597301148" MODIFIED="1734657671746" TEXT="die BufferMetadat-Registry zeigt auch noch eine Warnung an">
|
||||
|
|
@ -88837,6 +88810,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node COLOR="#338800" CREATED="1734657789598" ID="ID_452572995" LINK="#ID_189910811" MODIFIED="1734658019920" TEXT="aufrufen ohne Parameter">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734673688080" ID="ID_1753930029" LINK="#ID_154709521" MODIFIED="1734673731126" TEXT="mit Param-Functor im Prototype">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -91653,8 +91629,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734197949703" ID="ID_614756914" MODIFIED="1734299449717" TEXT="in zwei Schritten umstellen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1734197949703" ID="ID_614756914" MODIFIED="1734662069545" TEXT="in zwei Schritten umstellen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#338800" CREATED="1734197960677" ID="ID_928664533" MODIFIED="1734299248635" TEXT="Schritt-1 : neues Interface">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1734198655392" ID="ID_1607922853" MODIFIED="1734213039477" TEXT="kann ArgI|O sofort umbenennen ⟼ SigI|O">
|
||||
|
|
@ -91695,17 +91671,19 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1734213045001" ID="ID_787577161" MODIFIED="1734213055524" TEXT="sonstige Signatur bereits anlegen"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734197971763" ID="ID_1977596531" MODIFIED="1734299442669" TEXT="Schritt-2 : tatsächliche Flexibilität">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1734197971763" ID="ID_1977596531" MODIFIED="1734662057423" TEXT="Schritt-2 : tatsächliche Flexibilität">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1734214199422" ID="ID_525858909" MODIFIED="1734299260472" TEXT="stellt sich wieder (zum x-ten Mal) die Frage nach dem Layout der FeedManifold">
|
||||
<arrowlink COLOR="#2e2c57" DESTINATION="ID_1045815708" ENDARROW="Default" ENDINCLINATION="-98;-400;" ID="Arrow_ID_639104343" STARTARROW="None" STARTINCLINATION="-367;14;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734299273886" ID="ID_1992832073" MODIFIED="1734550631972" TEXT="intern mehrstufig aufgebaut">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1734299273886" ID="ID_1992832073" MODIFIED="1734661912333" TEXT="intern mehrstufig aufgebaut">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1734299304455" ID="ID_286097173" MODIFIED="1734299376662" TEXT="Trait zur Fallunterscheidung">
|
||||
<arrowlink COLOR="#8e8fa7" DESTINATION="ID_978315882" ENDARROW="Default" ENDINCLINATION="52;169;" ID="Arrow_ID_793891080" STARTARROW="None" STARTINCLINATION="-331;-17;"/>
|
||||
</node>
|
||||
<node CREATED="1734299287036" ID="ID_675651825" MODIFIED="1734299411972" TEXT="Trait zur Klassifikation eines Arguments">
|
||||
<node COLOR="#5b280f" CREATED="1734299287036" FOLDED="true" ID="ID_675651825" MODIFIED="1734662032806" TEXT="Trait zur Klassifikation eines Arguments">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1734299588563" ID="ID_1171470327" MODIFIED="1734299593079" TEXT="Hilfsmittel">
|
||||
<node CREATED="1734299594621" ID="ID_1652085011" MODIFIED="1734299598721" TEXT="is_Value">
|
||||
<node CREATED="1734299796014" ID="ID_91717467" MODIFIED="1734299803280" TEXT="keine Referenz">
|
||||
|
|
@ -91811,6 +91789,13 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1734550451183" ID="ID_1408787596" MODIFIED="1734550469001" TEXT="sonstige Logik direkt auf Parameter-Eigenschafuten aufgebaut"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1734661921178" ID="ID_616834002" MODIFIED="1734661998251" TEXT="Ergebnis: brauche gar keine »Klassifikation eienes Arguments« mehr">
|
||||
<arrowlink COLOR="#f8f2c0" DESTINATION="ID_352066932" ENDARROW="Default" ENDINCLINATION="1559;-1127;" ID="Arrow_ID_1251018017" STARTARROW="None" STARTINCLINATION="641;26;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734662010846" ID="ID_895926165" MODIFIED="1734662030273" TEXT="damit aber trotzdem die Fundemente bereitgestellt">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734458417453" ID="ID_1458239434" MODIFIED="1734458430809" TEXT="struktuierte Argumente korrekt klassifizieren">
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1734458433484" ID="ID_569916262" MODIFIED="1734458448795" TEXT="Frage: wie umgehen mit leeren Strukturen?">
|
||||
|
|
@ -91872,7 +91857,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734299615144" ID="ID_1061968970" MODIFIED="1734299633817" TEXT="Umgang mit komplexen Argumenten">
|
||||
<node COLOR="#338800" CREATED="1734299615144" ID="ID_1061968970" MODIFIED="1734662054769" TEXT="Umgang mit komplexen Argumenten">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#5b280f" CREATED="1734299635613" ID="ID_1256304259" MODIFIED="1734299646473" TEXT="Fallunterscheidung Tupel und Array">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
</node>
|
||||
|
|
@ -91902,14 +91888,15 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734190947370" ID="ID_765080280" MODIFIED="1734191007258" TEXT="FeedManifold umstellen: std::array ⟼ tuple">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1734191532632" ID="ID_503276878" MODIFIED="1734191554354" TEXT="damit fällt eine starke strukturelle Einschränkung weg">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1734191532632" FOLDED="true" ID="ID_503276878" MODIFIED="1734661895753" TEXT="damit fällt eine starke strukturelle Einschränkung weg">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1734191556277" ID="ID_93980686" MODIFIED="1734191564434" TEXT="nicht klar ob das vorteilhaft ist"/>
|
||||
<node CREATED="1734191682679" ID="ID_1626382774" MODIFIED="1734191699892" TEXT="ich wollte mit dem einheitlichen N die Zahl der Template-Instanzen begrenzen">
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1734191801095" ID="ID_438353051" MODIFIED="1734191897064" TEXT="Template-Bloat stellt tasächlich eine Gefahr dar">
|
||||
<node COLOR="#5b280f" CREATED="1734191682679" FOLDED="true" ID="ID_1626382774" MODIFIED="1734661878132" TEXT="ich wollte mit dem einheitlichen N die Zahl der Template-Instanzen begrenzen">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1734191801095" ID="ID_438353051" MODIFIED="1734661870055" TEXT="Template-Bloat stellt tasächlich eine Gefahr dar">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1734191857809" ID="ID_1485766208" MODIFIED="1734191891221" TEXT="stelle aber fest: zusammen mit N geht überall der Typ FUN mit ein">
|
||||
<node COLOR="#435e98" CREATED="1734191857809" ID="ID_1485766208" MODIFIED="1734661866138" TEXT="stelle aber fest: zusammen mit N geht überall der Typ FUN mit ein">
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
</node>
|
||||
<node CREATED="1734192098399" ID="ID_1972074994" MODIFIED="1734192158004">
|
||||
|
|
@ -91984,7 +91971,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734199120857" ID="ID_1343294838" MODIFIED="1734199129917" TEXT="klären: was wird gespeichert?">
|
||||
<node COLOR="#435e98" CREATED="1734199120857" FOLDED="true" ID="ID_1343294838" MODIFIED="1734661850736" TEXT="klären: was wird gespeichert?">
|
||||
<node CREATED="1734199131568" ID="ID_1360177084" MODIFIED="1734199142001" TEXT="aktuell speichern wir ein Array von BuffHandle"/>
|
||||
<node CREATED="1734199150589" ID="ID_974879606" MODIFIED="1734199175846" TEXT="das wird dann im invoke()-Aufruf übersetzt (⟼ dereferenziert)">
|
||||
<node CREATED="1734199263294" ID="ID_1017649830" MODIFIED="1734199276945" TEXT="hab dazu zusätzliche Storage im InvocationAdapter"/>
|
||||
|
|
@ -92104,7 +92091,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734226596427" ID="ID_1730595360" MODIFIED="1734397856015" TEXT="Struktur neu aufbauen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1734226295084" ID="ID_43554059" MODIFIED="1734483723539" TEXT="FeedManifold wird aus mehreren Layern zusammengesetzt">
|
||||
<node COLOR="#338800" CREATED="1734226295084" FOLDED="true" ID="ID_43554059" MODIFIED="1734661778696" TEXT="FeedManifold wird aus mehreren Layern zusammengesetzt">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1734226447447" ID="ID_1121321956" MODIFIED="1734226473215" TEXT="Param-Storage (optional)"/>
|
||||
<node CREATED="1734226474754" ID="ID_334989563" MODIFIED="1734226483630" TEXT="Input-Storage (optional)"/>
|
||||
|
|
@ -92112,9 +92099,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1734226511062" ID="ID_1899717504" MODIFIED="1734226537968" TEXT="ProcFunctor (mandatory)"/>
|
||||
<node CREATED="1734226564932" ID="ID_696691756" MODIFIED="1734226570322" TEXT="Constructor (static)"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734582866744" ID="ID_1616386454" MODIFIED="1734634929289" TEXT="nochmal restrukturieren: muß nun Param-Tupel durchreichen">
|
||||
<node COLOR="#435e98" CREATED="1734582866744" FOLDED="true" ID="ID_1616386454" MODIFIED="1734661773085" TEXT="nochmal restrukturieren: muß nun Param-Tupel durchreichen">
|
||||
<linktarget COLOR="#427ec1" DESTINATION="ID_1616386454" ENDARROW="Default" ENDINCLINATION="-1351;60;" ID="Arrow_ID_676623897" SOURCE="ID_1465521206" STARTARROW="None" STARTINCLINATION="-531;27;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node COLOR="#5b280f" CREATED="1734583035971" ID="ID_662389818" MODIFIED="1734583156432" TEXT="ich möchte nicht das Param-Tupel nachträglich zuweisen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -92129,6 +92116,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1734583026544" ID="ID_1494983661" MODIFIED="1734583167914" TEXT="bedeutet: Konstrkutor-Kette und in Basis-Klasse durchreichen"/>
|
||||
<node CREATED="1734583169204" ID="ID_960536834" MODIFIED="1734583185511" TEXT="das ist schwierig ... weil die Basis-Klasse komplex aufgebaut wird"/>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1734583186883" ID="ID_445121292" MODIFIED="1734634891132" TEXT="Idee: eine Basis-Klasse »Storage« in einer Konfigurations-Klasse definieren">
|
||||
<linktarget COLOR="#708ea5" DESTINATION="ID_445121292" ENDARROW="Default" ENDINCLINATION="-35;127;" ID="Arrow_ID_1651811667" SOURCE="ID_1910773324" STARTARROW="None" STARTINCLINATION="135;10;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1734583221142" ID="ID_49260434" MODIFIED="1734583235671" TEXT="also _StorageSetup<FUN> als äußerer Container"/>
|
||||
<node CREATED="1734583236900" ID="ID_63905696" MODIFIED="1734583247122" TEXT="da kann dann alles Metaprogramming rein..."/>
|
||||
|
|
@ -92222,24 +92210,29 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node COLOR="#435e98" CREATED="1734631663263" ID="ID_1915555663" MODIFIED="1734631703467" TEXT="demonstriere auch reinen Output mit Parameter"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734226618888" ID="ID_758716189" MODIFIED="1734226624083" TEXT="Operationen">
|
||||
<node CREATED="1734226624933" ID="ID_1270095402" MODIFIED="1734282238319" TEXT="buildFeed(TurnoutSystem&) — statisch"/>
|
||||
<node CREATED="1734226650379" ID="ID_1952959461" MODIFIED="1734226679547" TEXT="connect() — befüllt Aufruf-Struktur"/>
|
||||
<node CREATED="1734226680799" ID="ID_435218687" MODIFIED="1734226694521" TEXT="invoke() — führt ProcFun aus"/>
|
||||
<node CREATED="1734226618888" ID="ID_758716189" MODIFIED="1734661814900" TEXT="Operationen">
|
||||
<icon BUILTIN="info"/>
|
||||
<node COLOR="#435e98" CREATED="1734226624933" ID="ID_1270095402" MODIFIED="1734661802377" TEXT="buildFeed(TurnoutSystem&) — im Builder-Prototype"/>
|
||||
<node COLOR="#435e98" CREATED="1734226650379" ID="ID_1952959461" MODIFIED="1734661802377" TEXT="connect() — befüllt Aufruf-Struktur"/>
|
||||
<node COLOR="#435e98" CREATED="1734226680799" ID="ID_435218687" MODIFIED="1734661802377" TEXT="invoke() — führt ProcFun aus"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734276259404" ID="ID_814254927" MODIFIED="1734276322192" TEXT="Typ-Steuerung geht in die FeedManifold">
|
||||
<linktarget COLOR="#3f4fb7" DESTINATION="ID_814254927" ENDARROW="Default" ENDINCLINATION="48;-164;" ID="Arrow_ID_584314736" SOURCE="ID_1748820043" STARTARROW="None" STARTINCLINATION="-244;14;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734282520970" ID="ID_1381423523" MODIFIED="1734282533060" TEXT="Aufgabe: flexible Storage-Struktur bereitstellen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1734282520970" ID="ID_1381423523" MODIFIED="1734661746730" TEXT="Aufgabe: flexible Storage-Struktur bereitstellen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1734282535179" ID="ID_1723358537" MODIFIED="1734397871068" TEXT="läuft wohl hinaus auf ein compile-time conditional mix-in">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734282677568" ID="ID_1599850203" MODIFIED="1734397868364" TEXT="Konfigurations-Basis-Klasse dazwischen schalten">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734661674044" ID="ID_1910773324" MODIFIED="1734661740845" TEXT="noch bessere Anordnung im Code">
|
||||
<arrowlink COLOR="#708ea5" DESTINATION="ID_445121292" ENDARROW="Default" ENDINCLINATION="-35;127;" ID="Arrow_ID_1651811667" STARTARROW="None" STARTINCLINATION="135;10;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1734282698342" ID="ID_1166367446" MODIFIED="1734283404476" TEXT="Aufgabe: Konstruktor-Parameter hängen von der Konfiguration ab">
|
||||
<linktarget COLOR="#fd0e40" DESTINATION="ID_1166367446" ENDARROW="Default" ENDINCLINATION="-134;6;" ID="Arrow_ID_1369831225" SOURCE="ID_151535815" STARTARROW="None" STARTINCLINATION="-270;14;"/>
|
||||
|
|
@ -92459,6 +92452,18 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1734658155485" ID="ID_1572271675" MODIFIED="1734658185062" TEXT="canActivate(): zusätzlich ist dieser Funktor zur Laufzeit aktivier/deaktivierbar">
|
||||
<icon BUILTIN="info"/>
|
||||
<node BACKGROUND_COLOR="#fafe99" COLOR="#fa002a" CREATED="1734671074834" ID="ID_1566333649" MODIFIED="1734671133308" TEXT="spricht fälschlicherweise bei non-capture-λ an">
|
||||
<linktarget COLOR="#f60753" DESTINATION="ID_1566333649" ENDARROW="Default" ENDINCLINATION="-241;14;" ID="Arrow_ID_1437235705" SOURCE="ID_1457931587" STARTARROW="None" STARTINCLINATION="245;26;"/>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1734671154295" ID="ID_1953698300" LINK="https://stackoverflow.com/a/41721337/444796" MODIFIED="1734671189335" TEXT="ist sogar standardkonform: §5.1.2">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1734671197169" ID="ID_538913142" MODIFIED="1734671225598" TEXT="kann man den bool-Test noch retten?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1734671228464" ID="ID_717933896" MODIFIED="1734671244693" TEXT="man könnte explizit die Konversion in einen Funktionspointer ausschließen"/>
|
||||
<node CREATED="1734671254977" ID="ID_238590962" MODIFIED="1734671297200" TEXT="hilft explizite Konversion?"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734572439920" ID="ID_955026014" MODIFIED="1734642701637" TEXT="createFeed (TurnoutSystem&) implementieren">
|
||||
|
|
@ -92490,24 +92495,52 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734572530013" ID="ID_765842112" MODIFIED="1734572593980" TEXT="dynamische quer-Builder hinzufügen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1734572530013" ID="ID_765842112" MODIFIED="1734674037652" TEXT="dynamische quer-Builder hinzufügen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1734673756235" ID="ID_1413443497" MODIFIED="1734673778817" TEXT="hier gibt es leider wenig Spielraum">
|
||||
<icon BUILTIN="smily_bad"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734572553754" ID="ID_155507222" MODIFIED="1734572593980" TEXT="Konstruktor bereitstellen">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#d6c281" COLOR="#4c142f" CREATED="1734673780995" ID="ID_1399950085" MODIFIED="1734673862947" TEXT="muß den Funktor verschieben (alles andere würde zusätzliche Annahmen machen)">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1734673884116" ID="ID_1101157037" MODIFIED="1734673916920" TEXT="nun gut — das hier ist ein low-level-API für einen sehr anspruchsvollen Zweck">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1734673925368" ID="ID_1166262740" MODIFIED="1734674052257">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Name: <font face="Monospaced">prototype.</font><font face="Monospaced" color="#580c74">moveAdapted</font><font face="Monospaced"> (paramFun)</font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<linktarget COLOR="#502980" DESTINATION="ID_1166262740" ENDARROW="Default" ENDINCLINATION="-41;65;" ID="Arrow_ID_1486300698" SOURCE="ID_801446694" STARTARROW="None" STARTINCLINATION="130;-4;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1734673959250" ID="ID_133707253" MODIFIED="1734673970621" TEXT="macht hoffentlich die Gefahr klar"/>
|
||||
<node CREATED="1734674156760" ID="ID_1526243732" MODIFIED="1734674175194" TEXT="⟹ param-Functor by-value"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734572553754" ID="ID_155507222" MODIFIED="1734662088841" TEXT="Konstruktor bereitstellen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1734645843309" ID="ID_860706642" MODIFIED="1734645923949" TEXT="im Test-Setup prüfen">
|
||||
<linktarget COLOR="#418d52" DESTINATION="ID_860706642" ENDARROW="Default" ENDINCLINATION="-562;73;" ID="Arrow_ID_581949487" SOURCE="ID_1506431608" STARTARROW="None" STARTINCLINATION="-475;32;"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734645843309" ID="ID_860706642" MODIFIED="1734661636275" TEXT="im Test-Setup prüfen">
|
||||
<linktarget COLOR="#5fa963" DESTINATION="ID_860706642" ENDARROW="Default" ENDINCLINATION="-580;71;" ID="Arrow_ID_581949487" SOURCE="ID_1506431608" STARTARROW="None" STARTINCLINATION="-475;32;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1734645927394" ID="ID_1561585107" LINK="#ID_332184252" MODIFIED="1734646140375" TEXT="NodeBase_test::verify_FeedPrototype()">
|
||||
<linktarget COLOR="#3490d0" DESTINATION="ID_1561585107" ENDARROW="Default" ENDINCLINATION="-19;-46;" ID="Arrow_ID_1276202297" SOURCE="ID_1442022066" STARTARROW="None" STARTINCLINATION="-184;12;"/>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1734657891873" ID="ID_691202560" MODIFIED="1734657902719" TEXT="FeedPrototype erstellen">
|
||||
<node COLOR="#338800" CREATED="1734657905943" ID="ID_1031794967" LINK="#ID_189910811" MODIFIED="1734658482968" TEXT="FeedManifold ohne Parameter-Funktor">
|
||||
<node COLOR="#338800" CREATED="1734657891873" ID="ID_691202560" MODIFIED="1734674191310" TEXT="FeedPrototype erstellen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#d8e0aa" COLOR="#0f6469" CREATED="1734657925045" ID="ID_189910811" MODIFIED="1734657972489" TEXT="wie üblich ... ein paar kleine Bugs">
|
||||
<node COLOR="#338800" CREATED="1734657925045" ID="ID_189910811" MODIFIED="1734670798593" STYLE="fork" TEXT="FeedManifold ohne Parameter-Funktor">
|
||||
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#d8e0aa" COLOR="#0f6469" CREATED="1734670743767" ID="ID_1750390897" MODIFIED="1734670765723" STYLE="fork" TEXT="wie üblich ... ein paar kleine Bugs">
|
||||
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1734658058658" ID="ID_1713601568" MODIFIED="1734658214396" TEXT="neues Status-Prädikat: hasParamFun">
|
||||
|
|
@ -92520,6 +92553,32 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node COLOR="#435e98" CREATED="1734658464595" ID="ID_1811872585" MODIFIED="1734658478814" TEXT="Parameter wird verwendet"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734670653796" ID="ID_154709521" MODIFIED="1734673745378" TEXT="Prototype mit Parameter-Funktor">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#312465" CREATED="1734670974963" ID="ID_801446694" MODIFIED="1734674085885" TEXT="verwende auch gleich einen cross-Konstruktor">
|
||||
<arrowlink COLOR="#502980" DESTINATION="ID_1166262740" ENDARROW="Default" ENDINCLINATION="-41;65;" ID="Arrow_ID_1486300698" STARTARROW="None" STARTINCLINATION="130;-4;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734670998260" ID="ID_1422753156" MODIFIED="1734671024299" TEXT="funktioniert wie erwartet (und hatte einen Bug)">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1734671025952" ID="ID_1165687930" MODIFIED="1734671035923" TEXT="Instanz-Verhalten zeigen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1734671037711" ID="ID_1457931587" MODIFIED="1734671133308" TEXT="canActivate() spricht an">
|
||||
<arrowlink COLOR="#f60753" DESTINATION="ID_1566333649" ENDARROW="Default" ENDINCLINATION="-241;14;" ID="Arrow_ID_1437235705" STARTARROW="None" STARTINCLINATION="245;26;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734673651973" ID="ID_15461600" MODIFIED="1734673661619" TEXT="ansosten: works as designed">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1734674202627" ID="ID_1008931484" MODIFIED="1734674217583" TEXT="spiele mit mehreren Instanzen">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1734674231175" ID="ID_308732589" MODIFIED="1734674238288" TEXT="std::function verwenden">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -92844,6 +92903,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1734496383891" ID="ID_352066932" MODIFIED="1734546010832" TEXT="damit wird das _ProcFun-Traits-Template wesentlich einfacher....">
|
||||
<linktarget COLOR="#f8f2c0" DESTINATION="ID_352066932" ENDARROW="Default" ENDINCLINATION="1559;-1127;" ID="Arrow_ID_1251018017" SOURCE="ID_616834002" STARTARROW="None" STARTINCLINATION="641;26;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
<node COLOR="#338800" CREATED="1734537123396" ID="ID_1099344573" MODIFIED="1734537142599" TEXT="Fehlsteuerung in der Use-Case-Erkennung jetzt einfach zu beheben">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -92919,7 +92979,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node CREATED="1734645695088" ID="ID_1506431608" LINK="#ID_1048829589" MODIFIED="1734645923948" TEXT="Einbindung in FeedPrototype austesten">
|
||||
<arrowlink COLOR="#418d52" DESTINATION="ID_860706642" ENDARROW="Default" ENDINCLINATION="-562;73;" ID="Arrow_ID_581949487" STARTARROW="None" STARTINCLINATION="-475;32;"/>
|
||||
<arrowlink COLOR="#5fa963" DESTINATION="ID_860706642" ENDARROW="Default" ENDINCLINATION="-580;71;" ID="Arrow_ID_581949487" STARTARROW="None" STARTINCLINATION="-475;32;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -99108,8 +99168,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1711548381477" ID="ID_664146362" MODIFIED="1734654370564" TEXT="Buffer-Manager">
|
||||
<linktarget COLOR="#fec499" DESTINATION="ID_664146362" ENDARROW="Default" ENDINCLINATION="-1409;197;" ID="Arrow_ID_616778881" SOURCE="ID_722733788" STARTARROW="None" STARTINCLINATION="-794;96;"/>
|
||||
<linktarget COLOR="#5a4f77" DESTINATION="ID_664146362" ENDARROW="Default" ENDINCLINATION="-493;1406;" ID="Arrow_ID_297212964" SOURCE="ID_1433806835" STARTARROW="None" STARTINCLINATION="-1768;-2925;"/>
|
||||
<linktarget COLOR="#fec499" DESTINATION="ID_664146362" ENDARROW="Default" ENDINCLINATION="-1409;197;" ID="Arrow_ID_616778881" SOURCE="ID_722733788" STARTARROW="None" STARTINCLINATION="-794;96;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1719249646221" ID="ID_403017464" MODIFIED="1719249923835" TEXT="Begriffe klarstellen">
|
||||
<arrowlink COLOR="#4b5a6c" DESTINATION="ID_1263834914" ENDARROW="Default" ENDINCLINATION="-668;-90;" ID="Arrow_ID_767640863" STARTARROW="None" STARTINCLINATION="-873;115;"/>
|
||||
|
|
@ -150185,7 +150245,7 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo
|
|||
sieht aber soweit sauber aus...
|
||||
</p>
|
||||
<p>
|
||||
Wenngleich auch ziemlich elaboriert; all diese Tracking-Funktionalität war seinerzeit angelegt worden, aber nur oberflächlich getestet, weil der Render-Engine-Entwurf von 2012 letztlich steckengeblieben ist. Jetzt, 2024 beginne ich, den TrackingHeapBlockProvider zu für Tests zu nutzen, einfach weil er da ist — und stelle fest, daß einige Details unfertig und etwas unausgereift wirken....
|
||||
Wenngleich auch ziemlich elaboriert; all diese Tracking-Funktionalität war seinerzeit angelegt worden, aber nur oberflächlich getestet, weil der Render-Engine-Entwurf von 2012 letztlich steckengeblieben ist. Jetzt, 2024 beginne ich, den TrackingHeapBlockProvider zu für Tests zu nutzen, einfach weil er da ist — und stelle fest, daß einige Details unfertig und etwas unausgereift wirken....
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
|
|
|
|||
Loading…
Reference in a new issue