lumiera_documentation/tests/lib
Ichthyostega a0d83b4fe8 Library: investigate design for an opaque inline functor
This is a design study to find out what would be required
to build an opaque function wrapper, similar to `std::function`,
yet without using any heap memory ever.

Such a building block would allow for some interesting options
for a well structured design of elaborate data structures.

This changeset provides an implementation draft.

__Two important findings to note__:
 * it is impossible to get away with just a single function pointer
 * because at the very least we need to invoke the destructor of the
   embedded delegate. Thus something akin to a "manager" is required.
 * this implies that the component would not be so efficient as I hoped,
   since it requires two pointers and requires to emit code for each
   type of delegate.
 * by making the component **NonCopyable**, I avoided the complexities
   of virtual copy support. In case the latter is desired, it would be
   much simpler to switch to a classical OO approach with a VTable
   and use our `PolymorphicValue` wrapper to handle copy and cloning.
2026-04-08 01:53:53 +02:00
..
c-lib Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
diff Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
idi Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
meta Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
query Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
stat Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
allocation-cluster-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
app-config-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
branch-case-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
builder-qualifier-support-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
cmdline-wrapper-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
custom-shared-ptr-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
del-stash-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
DIR_INFO Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
exception-error-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
file-support-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
format-cout-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
format-helper-test.cpp Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
format-string-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
fun-hash-dispatch-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
gnuplot-gen-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
hash-generator-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
hash-indexed-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
hash-standard-to-boost-bridge-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
helloworldtest.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
hetero-data-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
incidence-count-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
index-iter-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
ios-savepoint-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
item-wrapper-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-adapter-stl-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-adapter-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-chain-search-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-core-adapter-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
iter-cursor-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-explorer-test.cpp Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
iter-queue-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-source-test.cpp Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
iter-stack-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
iter-zip-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
itertools-test.cpp Library: investigate further ramifications and clean-up Itertools 2026-04-01 01:49:36 +02:00
lazy-init-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
life-cycle-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
linked-elements-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
multifact-argument-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
multifact-singleton-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
multifact-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
null-value-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
opaque-holder-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
opaque-unchecked-buffer-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
optional-ref-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
parse-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00
path-array-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
polymorphic-value-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
query-text-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
random-concurrent-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
random-draw-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
random-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
rational-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
removefromsettest.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
result-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
scoped-collection-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
scoped-ptrvect-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
search-path-splitter-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
several-builder-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
split-splice-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
symbol-hashtable-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
symbol-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-barrier-performance-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-barrier-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-classlock-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-locking-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-timedwait-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
sync-waiting-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
text-template-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
thread-wrapper-autonomous-test.cpp Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
thread-wrapper-join-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
thread-wrapper-lifecycle-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
thread-wrapper-self-recognition-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
thread-wrapper-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
typed-allocation-manager-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
unique-malloc-owner-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-collection-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-floordiv-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-floorwrap-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-foreach-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-identity-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-parse-bool-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-sanitised-identifier-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
util-tuple-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
variant-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
verb-function-dispatch-test.cpp Tests: reorganise test folders 2026-03-07 00:56:19 +01:00
verb-visitor-dispatch-test.cpp Library: deep dive into type reconciliation and tuple handling 2026-04-07 06:32:23 +02:00