The Lumiera »Reference Platform« is now upgraded to Debian/Buster, which provides GCC-14 and Clang-20. Thus the compiler support for C++20 language features seems solid enough, and C++23, while still in ''experimental stage'' can be seen as a complement and addendum. This changeset * upgrades the compile switches for the build system * provides all the necessary adjustments to keep the code base compilable Notable changes: * λ-capture by value now requires explicit qualification how to handle `this` * comparison operators are now handled transparently by the core language, largely obsoleting boost::operators. This change incurs several changes to implicit handling rules and causes lots of ambiguities — which typically pinpoint some long standing design issues, especially related to MObjects and the ''time entities''. Most tweaks done here can be ''considered preliminary'' * unfortunately the upgraded standard ''fails'' to handle **tuple-like** entities in a satisfactory way — rather an ''exposition-only'' concept is introduced, which applies solely to some containers from the STL, thereby breaking some very crucial code in the render entities, which was built upon the notion of ''tuple-like'' entities and the ''tuple protocol''. The solution is to abandon the STL in this respect and **provide an alternative implementation** of the `apply` function and related elements. |
||
|---|---|---|
| .. | ||
| basics | ||
| core | ||
| include | ||
| library | ||
| operation | ||
| plugin | ||
| stage | ||
| tool | ||
| vault | ||
| 00helloworld.tests | ||
| 00support.tests | ||
| 00test.tests | ||
| 10errorhandling.tests | ||
| 10exception.tests | ||
| 11concurrency.tests | ||
| 11list.tests | ||
| 11locking.tests | ||
| 11luid.tests | ||
| 11safeclib.tests | ||
| 11vault-memory.tests | ||
| 12metaprogramming.tests | ||
| 15library.tests | ||
| 16calculation.tests | ||
| 20config_lowlevel.tests | ||
| 20threads.tests | ||
| 22config_highlevel.tests | ||
| 25fundamental.tests | ||
| 30backend-file.tests | ||
| 30interfaces.tests | ||
| 31plugin.tests | ||
| 32scheduler.tests | ||
| 40core.tests | ||
| 41asset.tests | ||
| 42query.tests | ||
| 43session.tests | ||
| 44controller.tests | ||
| 45builder.tests | ||
| 46fixture.tests | ||
| 46node.tests | ||
| 47engine.tests | ||
| 48playout.tests | ||
| 49core-integration.tests | ||
| 51-gui-model.tests | ||
| 52-gui-control.tests | ||
| 80-regression.tests | ||
| DIR_INFO | ||
| SConscript | ||
| test.conf | ||
| test.sh | ||
| testrunner.cpp | ||