Unicode for C++23: Error Handling and API Design

Details
Abstract:
Text handling in the C and C++ Standards is a tale of legacy encodings
and a demonstration of decisions made that work at the moment don't
scale up to the needs of tomorrow. With Unicode on the horizon, C++20
prepared fundamental changes such as char8_t and polishing things to
make it easier to catch bad conversions and logical program errors
when working with encoded text. Still, the landscape has poor support
for transcoding from one encoding to the other, let alone talking
about higher level algorithms without pulling in heavyweight
dependencies whose age shows in terms of design and usability.
We can do better.
This talk explores the fundamentals of a new design for text handling
in C++ that abstracts away encoding and lets a user work with units of
data meaningful to their application. It will dive into some of the
tenants of text encoding, the flexibility of its error handling
mechanism, and a few of the safety features built into the API.
Bio:
JeanHeyd "ThePhD" is a student at Columbia University in New York.
Most of his programming is for fun and as a hobby, even if his largest
open-source contribution -- sol2 -- is used across many industries. He
is currently working towards earning his own nickname, climbing the
academic ladder while spending as much time as possible contributing
to C++ standardization and development.
He very much loves dogs and hopes to have his own in a year or so. He
also likes Vulf's "Tee Time" from the album Mr. Finish Line.

Unicode for C++23: Error Handling and API Design