Binary Parsing - C++23 Style!
summary
Claims a self‑contained embedded DSL written with C++23 Template Metaprogramming that generates parsers at compile time without macros or external code generators, handles padding/alignment via explicit field sizes and fixed_string non‑type template parameters, supports nested structs and length‑prefixed vectors, performs runtime validation and returns std::expected‑style errors (buffer exhaustion), uses a monadic pipeline and field‑lookup by type lists, and links to the repo https://github.com/hariceratops/s2s/tree/main.
AI-written summary · about
chapters (16)
- 0:00Binary parsing in C++23
- 3:58Common pitfalls
- 8:11Solutions for challenges
- 11:43Template metaprogramming promises
- 12:45Why choose templates
- 14:11Building parser from scratch
- 17:25Fixed string utilities
- 20:34Field access and layout
- 24:24Field uniqueness checks
- 27:52Reading binary data
- 31:46Error handling pipelines
- 36:04User-facing API
- 37:28Performance benchmarks
- 38:31Future with reflection
- 41:20Project links and closing
- 42:50Q&A on configurability
related talks
42mGenerating Parsers in C++ with Maphoon - Part 1 of 2
07mCan I has grammar?
23mFunctional Programming in C++ (Run time vs Compile time types)
54mCompile-Time Validation in C++ Programming
56mboost.tmp: your DSL for Metaprogramming
41mTemplate meta-programming: Why you must get it
01h 03mCompile-time Regular Expressions
05mA Composable Command Line Parser
