Overview
Explore modern generic programming techniques in C++ using the Tick and Fit libraries in this 53-minute CppNow conference talk by Paul Fultz II. Dive into the importance of concept-based type requirements for clear compile errors and learn how to specify and check these requirements using the Tick library. Discover how the Fit library enhances generic programming by providing abstractions over functions and sophisticated overloading capabilities. Compare these solutions with the Concepts Lite proposal and Boost.ConceptCheck. Gain insights into topics such as type requirements, Boost Concept Check limitations, ConceptLite, Tick refinements, dependent typing, integral constants, type traits, function objects, lambdas, adapters, conditional overloading, and error handling. Understand the benefits of library-based solutions versus language features for concept checking in C++ generic programming.
Syllabus
Introduction
Motivation
Type requirements
Boost Concept Check
Limitations
ConceptLite
Tick
Tick refinements
Tick types and templates
Tick specialization
Tick dependent typing
Integral constants
Type traits
Overload
Fit library
Function objects
lambdas
adapters
pipe
conditional overloading
advanced example
conceptlight
fix
errors
error message
reveal adapter
claim adapter
trait check
report back
build a report
do we need language features
multiphase checking
libraries
questions
Taught by
CppNow