Talk
JSON in C++: Designing a Type for Working with JSON values
We'll dive into designing a C++ type for working with JSON values. We will:
- remind ourselves some basic ideas and nuances of type design in C++;
- carefully look back at the standard containers and
std::variant;
- try to make the interface easy to use correctly and hard to use incorrectly;
- and add support for C++ allocators.
Along the way, we'll raise a few bumps on the standard library implementations and a compiler.
After the talk, among other things, you will have a good idea of how to cook std::variant
.