A header-only C++17 library for parsing and serializing TOML configuration files with full language support.
toml++ is a header-only C++17 library for parsing, manipulating, and serializing TOML configuration files. It solves the problem of reading and writing TOML data in C++ applications with a modern, efficient API that supports the full TOML v1.0.0 specification and optional unreleased features.
C++ developers who need to work with TOML configuration files in their projects, particularly those using C++17 or later and seeking a lightweight, compliant library.
Developers choose toml++ for its header-only design, full TOML compliance, excellent performance, and clean modern C++ API that integrates seamlessly without external dependencies.
Header-only TOML config file parser and serializer for C++17.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Can be integrated as a single header file (toml.hpp), eliminating complex build system dependencies and simplifying deployment.
Passes the official toml-test suite and supports TOML v1.0.0, ensuring reliability with standard TOML files and optional unreleased features.
Serializes TOML data to JSON and YAML using built-in formatters, providing flexibility for data interchange without additional libraries.
Leverages C++17 features like ranged-for loops and visitors, offering a clean, type-safe interface that aligns with modern C++ practices.
The header-only design can significantly increase compilation times in large projects, a trade-off for ease of integration, though configurable defines like TOML_ENABLE_PARSER can mitigate this.
Requires C++17 or later, limiting use in legacy codebases or environments with older compilers, despite some C++20 feature support.
The README admits the C++ ecosystem is a 'fractal nightmare,' and while multiple package managers are supported, integration might be complex for niche or custom build systems.