Overview
Explore the practical applications of C++ Concepts "Lite" in this comprehensive ACCU 2016 conference talk by Roger Orr. Delve into the revised proposal for Concepts, now available as a Technical Specification, and understand how it addresses improved compiler diagnostics and template requirement expression. Learn about the implementation available in gcc's trunk and gain insights into the problems Concepts aims to solve. Examine the background of Concepts and work through various practical examples, covering topics such as run-time and compile-time polymorphism, template troubleshooting, and the evolution of Concepts. Build knowledge from trivial examples to more complex scenarios, including type conversion, function generalization, template constraints, and the use of 'requires' clauses. Discover how Concepts simplify complex overloads and enhance interface design. No prior exposure to Concepts is required, but a working knowledge of C++ is necessary to fully benefit from this in-depth exploration.
Syllabus
Concepts Lite in Practice
Run-time polymorphism
Comple time polymorphism
Template troubles
How, and why, did we get here?
Ler's build up from a trivial example
What about type conversion?
Generalising the function
General Templatising the function
Further extending the template
Constraining the template
magic.h
Using 'requires
Using a named concept
Using a named variable concept
Named concepts
Concepts - first reflection
Constraints and interfaces
Simplifying complex overloads
Concepts simplifying overloads
Taught by
ACCU Conference