A C++ header-only library for debugging that prints variables of any type with auto-formatting and syntax highlighting.
cpp-dump is a C++ debugging library that provides a `cpp_dump()` macro to print variables of any type, similar to Python's `print()` or JavaScript's `console.log()`. It automatically formats output with indentation, colored syntax, and support for user-defined types, making variable inspection quick and readable during development.
C++ developers who need a quick, zero-configuration debugging tool for inspecting complex data structures like nested containers, maps, and custom types during development or competitive programming.
Developers choose cpp-dump for its header-only, dependency-free design, extensive type support including standard library containers and user-defined types, and customizable output with syntax highlighting and over 20 manipulators for fine-grained control.
A C++ library for debugging purposes that can print any variable, even user-defined types.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically prints standard library containers (vectors, maps, sets), pointers, and user-defined types via macros or operator<<, without requiring custom print functions for each type.
Formats nested structures to fit within a configurable line width (default 160), improving readability of complex data structures like multi-dimensional vectors.
Provides customizable syntax highlighting with escape sequences, resembling IDE debuggers, and supports themes for both light and dark terminals.
No build or external dependencies required; simply include the header file, making it easy to integrate into any C++17+ project.
Offers over 20 manipulators to control display style, such as omitting container parts, showing indexes, or changing number bases, allowing fine-grained debug output customization.
Advanced features like custom colors, user-defined type macros, and manipulators require understanding of numerous options and macros, which can be overwhelming for simple use cases.
Recursive printing with configurable max_depth and max_iteration_count can introduce overhead and may truncate output for very large or deep data structures, limiting its use in performance-critical debugging.
Designed primarily for quick inspection during development, with output defaulting to std::clog; it lacks built-in features for production logging like log levels or easy file output without customization.