lumiera_documentation/src/common
Ichthyostega e618493829 Library: switch to 64bit implementation for hash-chaining (see #722)
⚠ __This is a problematic decision__
It temporarily **breaks compatibility with 32bit** until this issue is resolved.

== Explanation ==
Lumiera relies on a mix of the Standard library and Lib-Boost for calculation of hash values.
Before C++11, the Standard did not support and hashtable implementation; meanwhile, we
got several hash based containers in the STL and a framework for hashes,
which unfortunately is incomplete and cumbersome to use.

The C++ Committee has spend endless discussions and was not able to settle
on a convincing solution without major drawbacks regarding one aspect or the other.

This situation is problematic, since Lumiera relies heavily on the technique
of building stable systematic identifiers based on chained hash values.
It is thus essential to use a strong, reliable and portable hash function.

But unfortunately...
 * the standard-fallback solution is known to be weak.
 * Lib-Boost automatically uses stronger implementations for 64bit systems
 * this implies that Hash-Values **are non-portable**

As the Lumiera project currently has no developer time to expend on such a
difficult and deep topic of fundamental research, today I decided to go down
the path of least resistance and **effectively abandon any system
that can not compile and use the 64bit `hash_combine` implementation.

This changeset extracts code from Lib-Boost 1.67 and adds a static assertion
to **break compilation** on non-64bit-platforms (whatever this means)
2024-11-17 23:05:39 +01:00
..
advice Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
integration Doxygen Fixes (#1062) 2017-04-02 04:22:51 +02:00
query Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
advice.hpp Library: rework detection of ''same object'' 2024-11-15 00:11:14 +01:00
appstate.cpp Library: reorder some pervasively used includes 2024-03-21 19:57:34 +01:00
appstate.hpp GCC-7: integrate recent clean-up and refactoring work (lib::Depend) 2018-04-27 02:23:20 +02:00
basic-setup.cpp Switch basic Application initialisation to the rewritten DependencyFactory 2018-04-02 02:56:08 +02:00
basic-setup.hpp Library: replace boost::noncopyable by our own library solution 2018-03-24 05:35:13 +01:00
config-interface.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config-interface.h Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config-lookup.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config-lookup.h Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config-rules.hpp Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
config-typed.c Project: update and clean-up Doxygen configuration 2021-01-24 19:35:45 +01:00
config-wordlist.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
config.h Global-Layer-Renaming: fix remaining textual usages and IDs in the code 2018-12-10 00:09:56 +01:00
configentry.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
configentry.h Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
configfacade.cpp Library: reorder some pervasively used includes 2024-03-21 19:57:34 +01:00
configitem.c Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
configitem.h Doxygen: fill in missing file level headlines for config and query frameworks 2016-11-04 21:26:56 +01:00
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
display-interface-proxy.cpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
guifacade.cpp Library/Application: consolidate Monitor API and usage 2023-10-15 20:42:55 +02:00
instancehandle.hpp Library: fix failed tests(1) -- Rational_test 2024-11-14 05:27:14 +01:00
interface-descriptor.h Doxygen: fill in file level headlines for further application core services 2016-11-04 22:29:24 +01:00
interface.c Library: verify PlantingHandle's extended capabilities 2021-05-07 22:50:13 +02:00
interface.h Doxygen: fill in file level headlines for further application core services 2016-11-04 22:29:24 +01:00
interfaceregistry.c LANDING: transition to GTK-3 2015-05-30 17:11:41 +02:00
interfaceregistry.h clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
notification-interface-proxy.cpp Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
option.cpp Library: reorder some pervasively used includes 2024-03-21 19:57:34 +01:00
option.hpp Library: some first thoughts regarding random number generation 2024-03-12 00:48:11 +01:00
plugin-dynlib.c Ticket #1034 : leave note at dlclose() call 2016-10-28 16:54:02 +02:00
plugin.c clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
plugin.h clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
query.hpp Library: switch to 64bit implementation for hash-chaining (see #722) 2024-11-17 23:05:39 +01:00
subsys.cpp MERGE Doxygen clean-up done during the last months 2017-04-01 23:59:00 +02:00
subsys.hpp some whitespace clean-up 2021-08-20 14:33:21 +02:00
subsystem-runner.hpp Library: reorder some pervasively used includes 2024-03-21 19:57:34 +01:00
ui-protocol.cpp Clip-Drag: consider translation of command ctxID into a InteractionState implementation 2021-03-28 18:03:40 +02:00