Binary Object Serialization with Data Structure Traversal & Reconstruction in Cpp
summary
Claims a minimally intrusive, portable C++14/17 serialization that deduces types with Template Argument Deduction (TAD), uses SFINAE/std::enable_if<> (and can move to C++20 concepts), and reconstructs polymorphic types via a CRTP serializable registry holding factory pointers and type hashes. It tracks object IDs to avoid recursive reentrancy, compacts integer encoding, supports files/memory/sockets with checksum and optional xor filtering, serializes shared_ptr graphs, and demos show a tree persisted to file and a ping‑pong socket roundtrip that reconstructs the same object graph.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:00Agenda
- 7:46Serialization Style
- 9:00Saving Objects
- 12:40Types
- 16:59Archive
- 19:19Serializable
- 21:28Multiple Layers
- 23:13Base Type
- 24:41Serializable Base
- 29:35Serializable Inheritance
- 31:35Data Sources
- 32:54Socket Source
- 35:05Key and checksum
- 36:52Stream optimization
- 37:59Multilayer inheritance
- 44:50Shared pointers
- 47:49Multilayer example
- 48:31Stream Ice example
related talks
55mBuilding an Extensible Type Serialization System Using Partial Template Specialization
46mExperimenting with type erasure in C++17
36mCompile-time reflection, Serialization and ORM
01h 02m“Lightweight Object Persistence With Relocatable Heaps in Modern C++"
48mC++ Data Structures That Make Video Games Go Round
57mUsing Modern C++ to Build XOffsetDatastructure - Zero-Encoding & Zero-Decoding Serialization Library
58mBoost.Asio and Boost.Serialization, Part I
56mEverything is serialization
