Wednesday 4 December 10am & 3pm BST
Templates are an extremely powerful - and terrifying - element of C++ programs. We say "terrifying" - not because templates are particularly hard to use (normally), or even particularly complex to write (normally) - but because when things go wrong the compiler's output is a tsunami of techno-word-salad that can overwhelm even the experienced programmer.
The problem with generic code is that it isn't completely generic. That is, generic code cannot be expected to work on every possible type we could substitute. The generic code typically places constraints on the substituted type, which may be in the form of type characteristics, type semantics or behaviours. Unfortunately, there is no way to find out what those constraints are until you fail to meet them; and that usually happens at instantiation time, far away from your code and deep inside someone else's hard-to-decipher library code.
The idea of Concepts has been around for many years; and arguably they trace their roots right back to the very earliest days of C++. Now in C++17 we are able to use and exploit their power in code.
Concepts allow us to express constraints on template types with the goals of making generic code easier to use, easier to debug and easier to write.
In this 45 minute webinar, Glennan Carnie will look at the basics of Concepts, their syntax and usage. The aim is to get you started, not to make you an expert on Concepts or generic code.
There will also be time for questions. If you'd like to submit a question in advance for him to include in the webinar, please let us know.
You can submit your question when you register or by emailing us firstname.lastname@example.org
We hope you can join us.