There are, by now, several well-established C++ JSON libraries. C++ developers can choose between DOM parsers, SAX parsers, and pull parsers. DOM parsers are by design slow and use a lot of memory, SAX parsers are clumsy to use, so pull parsers are the way to go. Our open-source JSON parser fills this gap between the existing parser libraries. It is a fully validating, fast, pull parser with O(1) memory usage. The key innovation lies in our API design. Unlike other parsers that solely validate JSON, ours enforces semantical constraints, requiring developers to define specific structures. This results in automatic error handling and simplifies code. You can also parse directly into your own data structures without any extra copies. This talk showcases our JSON parser API in action, comparing it with established counterparts. Additionally, we demonstrate elegant generic programming C++ techniques, making it accessible to both beginners and intermediate developers.
talk-data.com
Speaker
jonathan m ller
2
talks
Jonathan is a Software Engineer at think-cell. There, he is responsible for maintaining think-cell's core libraries, which include a custom range library, a fast and convenient JSON parser, and many other utilities and data structures to write elegant C++ code. Before working at think-cell, he wrote many useful open-source C++ libraries. He is also a member of the C++ standardization committee, where he serves as the assistant chair for std::ranges, and a frequent conference speaker.
Bio from: C++ Meetup in Berlin
Filter by Event / Source
Talks & appearances
2 activities · Newest first
Functional programming offers a more declarative way to write code — one that can make programs easier to reason about, compose, and maintain. But thinking functionally in C++ means seeing the language differently. Jonathan will show how modern C++ supports functional ideas through std::ranges, composable error handling with std::optional and std::expected, and algebraic data types like std::tuple and std::variant. He’ll even go as far as explaining the M-word — be there for it!