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
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube