LUMIERA.clone/research
Ichthyostega 8f43c2591e Library: investigate malfunction in metaprogramming
the template lib::PolymorphicValue seemingly picked the wrong
implementation strategy for "virtual copy support": In fact it is possible
to use the optimal strategy here, since our interface inherits from CloneSupport,
yet the metaprogramming logic picked the mix-in-adapter (which requires one additional "slot"
of storage plus a dynamic_cast at runtime).

The reason for this malfunction was the fact that we used META_DETECT_FUNCTION
to detect the presence of a clone-support-function. This is not correct, since
it can only detect a function in the *same* class, not an inherited function.

Thus, switching to META_DETECT_FUNCTION_NAME solves this problem
Well, this solution has some downsides, but since I intend to rewrite the
whole virtual copy support (#1197) anyway, I'll deem this acceptable for now


TODO / WIP: still some diagnostics code to clean up, plus a better solution for the EmptyBase
2019-05-10 02:19:01 +02:00
..
clang-static-init-1.cpp
clang-static-init-2.cpp
clang-static-init.hpp
crash_gdb_jessie-2015-08.sh
DIR_INFO
gtk-canvas-experiment.cpp
gtk-canvas-experiment.hpp
gtk-canvas-main.cpp
SConscript
try.cpp Library: investigate malfunction in metaprogramming 2019-05-10 02:19:01 +02:00