LUMIERA.clone/research
Ichthyostega e393d44e92 DI: replace Meyers Singleton by an explicitly managed buffer
Meyers Singleton is elegant and fast and considered the default solution
However...

 - we want an "instance" pointer that can be rebound and reset,
   and thus we are forced to use an explicit Mutex and an atomic variable.
   And the situation is such that the optimiser can not detect/verify this usage
   and thus generates a spurious additional lock for Meyers Singleton

 - we want the option to destroy our singletons explicitly
 - we need to create an abstracted closure for the ctor invocation
 - we need a compiletime-branch to exclude code generation for invoking
   the ctor of an abstract baseclass or interface

All those points would be somehow manageable, but would counterfeit the
simplicity of Meyers Singleton
2018-03-17 17:30:28 +01:00
..
clang-static-init-1.cpp BUG: Clang shows a problem when accessing templated static variable through separate compilation units 2013-10-06 23:17:18 +02:00
clang-static-init-2.cpp bughunt: re-create the whole 2nd layer with a configurable product type --> HIT 2013-10-06 23:17:18 +02:00
clang-static-init.hpp BUG: Clang shows a problem when accessing templated static variable through separate compilation units 2013-10-06 23:17:18 +02:00
crash_gdb_jessie-2015-08.sh investigation: Segfault in GDB (IV) (related to #946) 2015-08-16 01:17:35 +02:00
DIR_INFO SCons: new build target for experimental code 2011-12-03 06:10:12 +01:00
SConscript experiment: now bind a Proc-Layer command to these fabricated functions 2016-01-15 23:55:44 +01:00
try.cpp DI: replace Meyers Singleton by an explicitly managed buffer 2018-03-17 17:30:28 +01:00