LUMIERA.clone/src
Ichthyostega e00d6c2a4c reorganise inclusion of TreeMutator-DSL builders
previously they where included in the middle of tree-mutator.hpp
This was straight forward, since the builder relies on the classes
defined in the detail headers.

However, the GenNode-binding needs to use a specifically configured
collection binding, and this in turn requires writing a recursive
lambda to deal with nested scopes. This gets us into trouble with
circular definition dependencies.

As a workaround we now only *declare* the DSL builder functions
in the tree-mutator-builder object, and additionally use auto on
all return types. This allows us to spell out the complete builder
definition, without mentioning any of the implementation classes.
Obviously, the detail headers have then to be included *after*
the builder definition, at bottom of tree-mutator.hpp
This also allows us to turn these implementation headers into
completely normal headers, with namespaces and transitive #includes

In the end, the whole setup looks much more "innocent" now.

But beware: the #include of the implementation headers at bottom
of tree-mutator.hpp needs to be given in reverse dependency order,
due to the circular inclusion (back to tree-mutator.hpp) in
conjunction with the inclusion guards!
2016-09-02 01:29:32 +02:00
..
backend wrap-up(#985): resolve various leftovers 2016-01-10 11:21:34 +01:00
common clean-up(#985): remove code superseded by this rework 2016-01-09 02:05:23 +01:00
gui Element protocol: broadcast of state reset messages unit test PASS 2016-02-14 05:03:08 +01:00
include allow for trace-logging the processed diff-tokens 2015-11-01 03:54:43 +01:00
lib reorganise inclusion of TreeMutator-DSL builders 2016-09-02 01:29:32 +02:00
lumiera release prep: remove defunct autotools buildsystem 2013-10-29 03:47:50 +01:00
plugin
proc rectify-design(#301): disentangle CmdClosure hierarchy 2016-02-07 01:41:40 +01:00
tool clean-up: sourcefile layout and spell checking 2014-10-23 23:04:35 +02:00
.gitignore
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
doxygen.dox DOC: reorganise the Doxygen configuration and structure 2013-10-25 06:34:38 +02:00
SConscript build/platform: make lib SigC++ available for GUI test code 2015-12-25 03:06:33 +01:00