Semantic Sugar - Tips for Effective Template Library APIs
Offered By: CppNow via YouTube
Course Description
Overview
Explore effective template library API design techniques in this CppNow 2021 conference talk by Roi Barkan. Delve into C++20 concepts and their role in specifying generic libraries and algorithms usage. Compare concepts with mature methods like tag-dispatch, specializations, and customization points for constraining and tailoring library interactions with application code. Examine the semantic vs. syntactic nature of concepts, potential pitfalls, and famous cases where semantics played a crucial role. Learn about 'semantic only' concepts and their potential to enhance library APIs. Gain insights into high-performance and distributed systems development, with a focus on implementing complex algorithms in financial and IT security domains.
Syllabus
Intro
Roi Barkan
Introduction
Documentation
Concepts are fundamental
Templates
EnableIf
Outline
Concepts
Overload
Syntax vs Semantic
Recap
Assign Integral
Required Expressions
Type Trades
Variable Templates
Boolean Expression
And Requires Expression
Specialization
Boolean Expressions on Types
The Basic Idea
Templated Library
Risk of incorrect assumptions
Foot Guns
Concept Syntax
Alternative Syntax
Conclusion
Library Guided Approach
Partial Specialization
Tag Dispatch
PolicyBased Design
Customization Points
Application Guided Approach
Summary
Advanced Examples
Comments Questions
Semantics are Tricky
Taught by
CppNow
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera