Binary Object Serialization With Structure Traversal & Reconstruction
summary
Minimally intrusive binary serializer that deduces types with TAD-based type deduction, writes compact varint IDs and little-endian primitives, and recreates objects via a CRTP-backed virtual-constructor using a type_info hash map. It emits object IDs to detect and reuse cycles so graphs with loops are reconstructed rather than duplicated, supports pointers/shared_ptr/unique_ptr/vectors/maps/strings, streams over files or sockets with optional XOR/filtering, and proves practical C++14-compatible code with C++17/C++20 optimizations on GitHub.
AI-written summary · about
chapters (19)
- 0:00Introduction and motivation
- 1:29MFC inspiration and project goals
- 3:15Binary serialization vs text formats
- 6:04Archive object and core mechanism
- 13:05Handling pointers and object IDs
- 16:12Polymorphic serialization challenges
- 21:14Type info and object reconstruction
- 25:03Reflection and virtual constructors
- 31:23Data sources and network streaming
- 34:10Filtering and checksums
- 37:00Dynamic integer compression
- 39:06Handling standard containers
- 43:27Custom serialization operators
- 45:55C++14 to 17 vs C++20 concepts
- 48:02Compiler and platform compatibility
- 55:14Comparison with Boost.Serialization
- 55:57File and network demos
- 59:23Versioning and future work
- 1:00:49Q&A session
related talks
42mSerialization in C++ has never been easier! But wait, there's more
06mA different way to use boost serialization
57mAdventures in Serialization: A Flexible Approach for Embedded Systems in C++
50mType safe C++? LOL!
01h 13mType safe C++ – LOL! :-)
47m“Intro to the C++ Object Model"
40mImmutable Data Structures in C++
03mLet's cmakeify the C++ standard library
