While some of my work in the third quarter of this year was dedicated to more work on Boost.JSON and Docca, the most interesting thing was definitely pretty_printers, a collection of utilities and build scripts which help dealing with debugger pretty printers and visualisers. Although currently it only supports GDB, I’m planning to research LLDB and Natvis integration too. The module naturally emerged from my work on GDB pretty printers for Boost.JSON. Even if you don’t know what pretty prin...
Authored and published a new topic on Debug Visualizers in the Contributor Guide. Debug Visualizers offer a powerful way to simplify the debugging process by allowing developers to see complex data structures in a more understandable format. The two main sections are Debug Visualizers in MSVC (Microsoft’s built in visualizers for Visual Studio) - utilizing the Natvis display language, and Debug Visualizers in GDB (the visualizers for the GNU Debugger) - utilizing Python templates to c...
Here’s a look at some recent projects I’ve been focusing on: Boost.Http.Proto Parsing Chunked Bodies The http_proto::parser uses a circular buffer internally, which sometimes causes HTTP message bodies to span across two buffers. Previously, this required copying data into a temporary buffer for chunked parsing, ensuring continuous memory access. To address this, I introduced a chained_sequence abstraction, which lets two buffers appear as a single, contiguous buffer without the need for c...
Throughout Q3 2024, my work was primarily focused on two projects: MrDocs, and Clang. MrDocs Most of my work in MrDocs was centered around fixing bugs and refactoring. To that end, I resolved numerous bugs, mostly relating to AST extraction. On the refactoring side of things, I (finally) removed the bitcode serialization component from MrDocs. This greatly simplifies the project architecture and eliminates most of the boilerplate that was needed when modifying the representation used by MrD...
During this quarter, I have continued to dedicate my efforts to the development of MrDocs, a tool aimed at revolutionizing the generation of reference documentation from C++ code and javadoc comments. My focus has been on expanding its capabilities to solidify its position as the future of documentation in C++. Advances in MrDocs Development This period has witnessed several significant improvements aimed at positioning MrDocs as a leading tool in documentation generation for C++. My key co...