Overview
Explore the concept of Regular Types and their importance in C++20 through an in-depth examination of std::span in this 57-minute conference talk. Delve into the foundations of generic programming, revisiting key concepts from STL design principles and Alexander Stepanov's work. Investigate how C++20 Concepts are built upon fundamental type requirements like Semiregular, Regular, and EqualityComparable. Analyze recent STL additions such as std::string_view, std::reference_wrapper, and std::optional, as well as upcoming C++20 types like std::span and std::function_ref. Learn about the crucial role of designing and implementing regular types in everyday programming and library design. Discover the relationship between Regular types and std::span through examples, common pitfalls, and practical guidance. Gain insights into the evolution of Span, its usability enhancements, and compiler support. Explore multidimensional spans, automatic checkers, and other related tools to enhance your C++ programming skills.
Syllabus
Introduction
Why regular types
Fundamentals of generic programming
Practical apps
Spaceship Operator
StringView
Arthur ODwyer
String View
Stream View
Span
Historical Background
Ranges
GSL
Tools
Automatic checkers
Span overview
Usability enhancements
Utilities
Copy for Span
Deep Compare
Unmet Expectations
Quarantine
Context
Compiler Support
Evolution of Span
implementations
test macros
slide
multidimensional span
call to action
we are types
Resources
Taught by
NDC Conferences