check whether args were passed to AuxFunBase prior to using them in toCpp
Given that AuxFunBase
is a virtual base class, the 'most derived' class is responsible for
calling its constructor, otherwise its default constructor (which is valid) is invoked. As the
constructor argument is used in toCpp
to print the C++ representation of itself, it is important
to distinguish between not notifying AuxFunBase
of any arguments, or of not having any
arguments. The latter can be done by explicitly supplying an 'empty' tuple to the AuxFunBase
constructor.
This commit allows to distinguish between passing 'no arguments' to AuxFunBase
-- by invoking
AuxFunBase{ std::tie() }
-- and invoking the default AuxFunBase
constructor (implicitly). In case
the latter is called, any subsequent call to toCpp
will generate invalid code which will signal which
code needs to be fixed to explicitly initialize AuxFunBase
.