A general introduction to c++ templates. As motivation the possibilities
will be demonstrated in short examples in order to show the might of
these programming techniques. After covering the fundamentals of
templates the following topics will be discussed: polymorphism, traits,
template specialisation, SFINAE and in case there is time left template
meta programming.