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.
Read more