Modern Template Techniques

Speaker: Jon Kalb

Audience level: Intermediate

So if you’ve covered the basics of template syntax for types and functions, but you're not quite ready to dive into template metaprogramming yet. Then this session's for you.

In this session, we’ll assume you know most of the basic templating syntax (advanced syntax not required) and we’ll cover the next step in your templating journey.

We’ll briefly review function templates and then cover topics like the Curiously Recurring Template Pattern and static polymorphism. We’ll also cover modern design tools like policy classes and perfect forwarding.

We’ll not dive into template meta programming, but we’ll dip our toes in by covering type traits, compile-time conditional overloading, and C++17’s new compile-time if, which are the building blocks for template metaprogramming.

We’ll finish by looking at how we can learn the types of objects whose types are deduced by the compiler. A practical survival skills on your templating journey.