lumiera_documentation/doc/technical/howto
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
..
backporting.txt clean-up: trifles 2025-06-07 23:59:57 +02:00
crackNuts.txt Library: investigate design for an opaque inline functor 2026-04-08 01:53:53 +02:00
DebugGdbPretty.txt clean-up: link maintenance 2025-09-19 19:34:27 +02:00
HashFunctions.txt clean-up: trifles 2025-06-07 23:59:57 +02:00
IdeSetup.txt DOC: fill in explanations for all subsystems (closes #1145) 2020-02-23 08:21:22 +01:00
index.txt clean-up: link maintenance 2025-09-19 19:34:27 +02:00
UsingBoost.txt clean-up: link maintenance 2025-09-19 19:34:27 +02:00