- What is functional programming and how far is STL from being functional, what is the relation between functional and generic programming
- Functional objects in C++, callables and std::invoke
- Lazy evaluation, lazy algorithms and ranges
- Creating new language constructs on the library level
- Generic programming and template constraints using void_t
- Monads: optional, expected
, future, ...
- Monads: coroutines in C++ as a special syntax for handling monads
- Implementing programs without mutable state
Ivan could provide a VirtualBox image with the latest GCC and Clang so that you have the same environment when working. Otherwise, the prerequisites would be the latest released GCC, Clang and Qt (just in case).
As for the knowledge, it is enough to say it is for C++ professionals — so not for beginners.