lumiera_/tests
Ichthyostega 95a9ceac35 clean-up: simplify function-closure -- avoiding std::function
A very performance relevant shortcoming of the existing implementation
of partial function closure is that the result is always wrapped into a
std::function, which typically causes a heap allocation when more than
a single pre-bound argument must be stored — which is annoying,
since the underlying Binder provides inline storage and thus
could be handled directly as a value object.

However, returning the Binder directly is also problematic, since
this object is outfitted with several overloaded function call operators,
which defeats most techniques to detect a function signature. Notably,
relevant down-stream metaprogramming code, like the tuple-closure used
in the `NodeBuilder` would break when being confronted directly with
a binder object.

An investigation shows that there is no direct remedy, short of
wrapping the binder into another functor. This can be accomplished
with a helper template, that generates a wrapper; however, this
wrapper builder must be supplied with explicit type information
regarding the function arguments (precisely because this type
signature can not be picked up from the Binder object itself)
2025-06-06 19:44:24 +02:00
..
basics clean-up: prepare for variadic Type-Sequences (see #987) 2025-06-02 03:24:44 +02:00
core clean-up: prepare for variadic Type-Sequences (see #987) 2025-06-02 03:24:44 +02:00
include
library clean-up: simplify function-closure -- avoiding std::function 2025-06-06 19:44:24 +02:00
operation Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
plugin Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
stage clean-up: remove gavl_time_t as external dependency 2025-05-17 23:12:47 +02:00
tool Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
vault clean-up: the big anti-bang -- NullType becomes Nil 2025-06-02 17:46:40 +02:00
00helloworld.tests
00support.tests Library: option to provide an explicit random seed for tests 2024-11-12 15:49:15 +01:00
00test.tests Upgrade: fix test-failures (1) 2025-04-24 23:39:58 +02:00
10errorhandling.tests
10exception.tests Library: discontinue setting error flag from Exceptions (see #1341) 2023-10-01 20:11:45 +02:00
11concurrency.tests LibraryApplication: tie DispatcherLoop to thread lifecycle 2023-10-12 20:23:59 +02:00
11list.tests
11locking.tests Library/Application: complete technology switch (closes #1279) 2023-10-16 01:44:04 +02:00
11luid.tests
11safeclib.tests
11vault-memory.tests
12metaprogramming.tests clean-up: simplify function-closure -- can now remove obsoleted impl 2025-06-05 19:11:46 +02:00
15library.tests clean-up: RefArray is gone (closes: #473) 2025-06-01 02:44:40 +02:00
16calculation.tests Library: now using controlled seed and replaced rand (closes #1378) 2024-11-17 19:45:41 +01:00
20config_lowlevel.tests
20threads.tests
22config_highlevel.tests
25fundamental.tests clean-up: relocate NTSC drop-frame conversion functions 2025-05-27 23:39:36 +02:00
30backend-file.tests
30interfaces.tests
31plugin.tests
32scheduler.tests Library: Testsuite maintenance 2024-11-16 00:38:57 +01:00
40core.tests clean-up: some further bits never actually used 2025-06-01 00:53:35 +02:00
41asset.tests
42query.tests clean-up: some further bits never actually used 2025-06-01 00:53:35 +02:00
43session.tests
44controller.tests
45builder.tests
46fixture.tests
46node.tests Invocation: ++ Milestone ++ invoke complex render graph 2025-02-19 23:27:52 +01:00
47engine.tests Invocation: investigate forwarding an output data block 2024-12-23 02:31:29 +01:00
48playout.tests
49core-integration.tests
51-gui-model.tests
52-gui-control.tests
80-regression.tests
DIR_INFO
SConscript Upgrade: fix test-failures (1) 2025-04-24 23:39:58 +02:00
test.conf Testsuite: increase virtual memory limit 2023-10-04 22:42:37 +02:00
test.sh Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00
testrunner.cpp Copyright: clarify and simplify the file headers 2024-11-17 23:42:55 +01:00