Each and every C++ programmer uses templates. Containers such as vector<> or array<>, strings, algorithms such as sort(), iterators, and I/O streams are all implemented as generic code. Modern C++ adds type traits, smart pointers, and template member functions such as emplace(), and generic lambdas as a tricky form of generic code.
Nevertheless the knowledge and understanding of how to implement and use templates is very limited and each and every programmer is sooner or later getting uncertain.
This workshop therefore discusses templates for a whole day to make clear what it means to use templates and how to use them in practice. As a result the general understanding of templates will be improved and generic code might become more helpful and less surprising.
Nicolai Josuttis is well known in the C++ Community for speaking and writing with authority about C++ (being the author of 'The C++ Standard Library', 'C++ Templates' and 'C++17 - The Complete Guide') and being an innovative presenter. He is an active member of C++ standardization committee for more than 20 years now usually representing the view of an ordinary application programmer. He works as an independent systems architect, technical manager, author, trainer, and consultant.