CppCon 2021 has ended
Back To Schedule
Friday, October 29 • 1:30pm - 2:30pm
Building an Extensible Type Serialization System Using Partial Template Specialization

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
As software engineers, we all prefer using performant libraries with user-friendly interfaces. But designing a template-free interface can be challenging for some C++ libraries, like serialization libraries, that need to support generic values but handle them differently based on their type.

This talk shows how we can leverage partial template specialization to implement a generic user-friendly API that can be extended to support custom user-defined types. As a proof of concept, I will showcase an extensible type serialization system, that is built on top of the FlatBuffers serialization library, and enables users to register custom serializers for their user-defined types to support their automatic serialization at runtime.

Template programming is generally known to be associated with long type names and indecipherable compile-time errors. This presentation includes examples and recommendations that help C++ engineers to create more expressive and easy-to-understand implementations. Finally, the talk describes how C++20 features like Concepts can further simplify those implementations and facilitate designing elegant user-friendly programming interfaces.

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

avatar for Pejman Ghorbanzade

Pejman Ghorbanzade

Staff Software Engineer, Aurora Innovations, Inc.
Pejman Ghorbanzade is a staff software engineer at Aurora, helping deliver the benefits of self-driving technology safely, quickly, and broadly.Before joining Aurora, he was the founder and CEO of Touca, a developer-tools startup helping engineering teams find the unintended side-effects... Read More →

Friday October 29, 2021 1:30pm - 2:30pm MDT