lumiera_/src/lib/diff
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
..
diff-language.hpp Diff-Framework: add clean-up hook to diff-application 2019-12-15 15:06:04 +01:00
diff-mutable.hpp DiffFramework: simplify existing bindings 2021-01-23 12:55:10 +01:00
diff.cpp Timeline: decide upon the diff format expected for creating a timeline 2018-10-13 02:46:09 +02:00
gen-node.cpp Diff-Listener: need a really basic test 2019-12-12 23:41:26 +01:00
gen-node.hpp Job-Ticket: consider how to deal with channels and prerequisites 2023-05-11 22:47:56 +02:00
index-table.hpp allow for iterative access to the snapshot data in the lookup table 2015-01-04 14:23:12 +01:00
list-diff-application.hpp Diff-Framework: add clean-up hook to diff-application 2019-12-15 15:06:04 +01:00
list-diff-detector.hpp Library: replace boost::noncopyable by our own library solution 2018-03-24 05:35:13 +01:00
list-diff.hpp DOC: fix syntax of some doxygen links 2018-09-21 14:33:12 +02:00
mutation-message.hpp Library/Application: switch BusTerm_test 2023-10-05 03:21:51 +02:00
record.hpp Lib/Diff: extend PlantingHandle to allow for placment-new 2021-05-02 19:40:11 +02:00
test-mutation-target.hpp Lib/Diff: prefer the name "emplace" over "build" 2021-05-02 18:31:47 +02:00
tree-diff-application.hpp Library: Uninitialised-Storage array (see #1204) 2023-12-02 23:56:46 +01:00
tree-diff-traits.hpp Diff-Listener: define API 2019-12-14 23:35:16 +01:00
tree-diff.cpp Lib/Diff: prefer the name "emplace" over "build" 2021-05-02 18:31:47 +02:00
tree-diff.hpp Diff-Listener: finished and unit test pass (closes: #1206) 2019-12-15 21:40:09 +01:00
tree-mutator-attribute-binding.hpp Project: update and clean-up Doxygen configuration 2021-01-24 19:35:45 +01:00
tree-mutator-collection-binding.hpp Lib/Diff: prefer the name "emplace" over "build" 2021-05-02 18:31:47 +02:00
tree-mutator-diffmutable-binding.hpp DiffFramework: simplify existing bindings 2021-01-23 12:55:10 +01:00
tree-mutator-gen-node-binding.hpp Diff-Framework: investigate simplification for the most common case 2021-01-22 12:38:45 +01:00
tree-mutator-listener-binding.hpp Diff-Listener: add a variant to trigger also on value assignment (see #1206) 2020-03-15 23:11:14 +01:00
tree-mutator-noop-binding.hpp Lib/Diff: prefer the name "emplace" over "build" 2021-05-02 18:31:47 +02:00
tree-mutator.hpp Library: relocate signature-detection macro 2023-05-04 12:35:23 +02:00