LUMIERA.clone/tests/lib/par
Ichthyostega 0217fc9dbe Parameters: demonstrate type conversions and opaque value assignment
Largely this test covers already established functionality.
It is ''somewhat difficult'' to prove that an opaque type is present,
beyond showing that values are truncated or accommodated.

At the beginning of the implementation-draft, I considered a double-dispatch,
but concluded that this would be too much overhead for the standard case;
the drafted visitor-style dispatch was "parked" as `Domain::transferTo`.
It turned out that this implementation is not directly usable, since it
assumes that »the value buffer« is accessible, albeit as opaque ValBuff&.

As the design matured, I decided that the presence of a »Buffer« should better
not be assumed, and thus flipped the high-level-APIs around. But it is
easily possible to implement this double-dispatch scheme anew on top of
the now settled implementation scheme:
 - `Disposition::assignValueTo (Disposition&)` invoked on the source side
 - implemented in `ParamData<VAL, IFA>::assignValueTo (Disposition&)`,
   and there delegating to the templated front-end setter
   `Disposition::setVal(X)` (which performs the second dispatch step)

It remains to be seen if such an opaque value assignement is required in practice
2026-10-19 00:05:15 +02:00
..
nom-set-test.cpp Parameters: consider what to conceptualise as a Scale 2026-08-10 01:28:41 +02:00
parameter-domain-test.cpp Parameters: demonstrate type conversions and opaque value assignment 2026-10-19 00:05:15 +02:00
parameter-provision-test.cpp Parameters: look for a suitable arrangement of interfaces 2026-09-01 01:53:43 +02:00
parameter-scale-test.cpp Parameters: resolve type precision problems with scale-joinig 2026-09-22 18:39:09 +02:00
parameter-test.cpp Parameters: demonstrate type conversions and opaque value assignment 2026-10-19 00:05:15 +02:00
type-registry-test.cpp Parameters: scrutinise behaviour under load 2026-10-18 00:58:43 +02:00