Generative Programming (GP) with C++

This paper gives a brief summary of generative programming (GP) and its main principles. To investigate GP and for implementing generators usually new languages are developed and deployed in research. But it seems not to be imperative to base work on new languages. Therefore the qualification of the multiparadigm language C++ will be examined. The effectiveness of C++ for GP as well as basic idioms and techniques are explored in more detail. This includes statically and dynamically configured systems, migrating from generic to generative programming, compositional use of templates, delaying code injection in statically configured systems, controlling virtualization of functions, interface extension and adding properties by inheriting from template parameters, and expressing constraints for template parameters of related classes.