LUMIERA.clone/src/steam/engine
Ichthyostega c5679b0fd0 Library: Uninitialised-Storage array (see #1204)
Introduced as remedy for a long standing sloppiness:
Using a `char[]` together with `reinterpret_cast` in storage management helpers
bears danger of placing objects with wrong alignment; moreover, there are increasing
risks that modern code optimisers miss the ''backdoor access'' and might apply too
aggressive rewritings.

With C++17, there is a standard conformant way to express such a usage scheme.
 * `lib::UninitialisedStorage` can now be used in a situation (e.g. as in `ExtentFamily`)
   where a complete block of storage is allocated once and then subsequently used
   to plant objects one by one
 * moreover, I went over the code base and adapted the most relevant usages of
   ''placement-new into buffer'' to also include the `std::launder()` marker
2023-12-02 23:56:46 +01:00
..
worker Library/Application: keep DummyPlayer compilable (see #1342) 2023-10-05 03:21:51 +02:00
buffer-local-key.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
buffer-metadata.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
buffer-provider.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
buffer-provider.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
buffhandle-attach.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
buffhandle.hpp QA: check for possible misalignment through placement new (-> #1204) 2019-11-08 01:14:36 +01:00
bufftable-obsolete.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
bufftable.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
calc-stream.hpp Job-Planning: Analysis for the next step 2023-05-26 04:20:12 +02:00
channel-descriptor.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
diagnostic-buffer-provider.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
diagnostic-buffer-provider.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
dispatch-table.cpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatch-table.hpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatcher.cpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
dispatcher.hpp bye bye Monad (closes #1276) 2023-06-22 20:23:55 +02:00
engine-diagnostics.hpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
engine-service-mock.cpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
engine-service-mock.hpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
engine-service.cpp Dispatcher-Pipeline: decide upon the translation into portIDX 2023-06-12 19:21:14 +02:00
engine-service.hpp Job-Planning: new draft - organise the overall planning process 2023-04-17 04:51:38 +02:00
exit-node.hpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
job-planning.hpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
job-ticket.cpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
job-ticket.hpp Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
mask.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
mask.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
nodefactory.cpp Dispatcher-Pipeline: consider how to access render nodes from job 2023-06-06 04:25:12 +02:00
nodefactory.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
nodeinvocation.hpp Project: update and clean-up Doxygen configuration 2021-01-24 19:35:45 +01:00
nodeoperation.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
nodewiring-config.hpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
nodewiring-def.hpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
nodewiring.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
nodewiring.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
procnode.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
render-drive.cpp Activity-Lang: failure will certainly not be signalled to the Job 2023-08-15 17:18:30 +02:00
render-drive.hpp Activity-Lang: failure will certainly not be signalled to the Job 2023-08-15 17:18:30 +02:00
render-invocation.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
render-invocation.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
renderengine.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
renderengine.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
rendergraph.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
rendergraph.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
source.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
source.hpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
stateproxy.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
stateproxy.hpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
tracking-heap-block-provider.cpp Global-Layer-Renaming: rename namespaces 2018-11-15 23:55:13 +01:00
tracking-heap-block-provider.hpp Library: Uninitialised-Storage array (see #1204) 2023-12-02 23:56:46 +01:00
type-handler.hpp Functions-Commands: discard the ability to compare functors for equivalence (closes #294) 2019-06-23 19:45:30 +02:00