YoVDO

Semantic Sugar - Tips for Effective Template Library APIs

Offered By: CppNow via YouTube

Tags

C++Now Courses Software Development Courses C Programming Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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