Discovering a User-Facing Concept

Christopher Di Bella

online
90 minute session
intermediate
advanced
20:00-21:00, Thursday, 14th July 2022

How do we wield concepts to get effective usage? There's a lot of presentations talking about the technical details of concepts over the past few years, but far fewer delve into how to design a concept in detail. Simply understanding how language features work isn't good enough: we need to know how to use them in order to get maximum effectiveness out of a feature. What are concepts supposed to describe? What are patterns to follow and patterns to avoid? What's the difference between a "constraint" and a "semantic requirement"? What's the difference between a concept that's applied to a function and a concept that's applied to a type?

In this session, we will answer all of these questions, by studying an algorithm, identifying its requirements, and discovering a concept.

generic programming
algorithms
concepts
ranges

Christopher Di Bella

Christopher Di Bella is a software engineer working on the Chrome OS toolchain at Google. He enjoys working on the Clang front-end and is currently working to add the concepts and ranges libraries to libc++. When not working on C++-related things, Christopher likes to play games, watch films, and has recently discovered baking.