Skip to content

Releases: sopranoworks/CodebookRuntimeCpp-Config

🚀 Release v1.0.0 - Initial Official Release

15 Mar 09:48

Choose a tag to compare

CodebookRuntimeCpp-config is now officially released! This library provides a robust, header-only HOCON (Human-Optimized Config Object Notation) parser tailored for high-reliability C++17 environments.

🌟 Key Highlights

Pure C++17: Leverages modern standard libraries like std::variant and std::optional.

Zero Dependencies: Header-only architecture for seamless integration.

Safety First: Completely exception-free API—errors are handled gracefully via std::optional.

HOCON Power: Support for dotted-path keys, object merging, and array appending (+=).

🛠️ Core Features

Lexical Analysis: Smart tokenization handling CRLF, shell-style # and C-style // comments, and unquoted strings.

Recursive Descent Parser: Efficiently builds complex nested structures from configuration strings or files.

Substitution Engine: Dynamic resolution of ${path} and ${?path} references across the entire configuration tree.

Deep Merging: Automatic concatenation of duplicate keys and objects, ensuring flexible configuration layering.

📦 Module Contents

Value.h: The core data structure for type-safe configuration storage.

Lexer.h / Parser.h: The syntactic pipeline for HOCON processing.

Resolver.h: Post-parsing substitution logic with circular reference protection.

Config.h: Simplified entry points for string and file-based parsing.

🧪 Quality & CI

✅ 100% Test Coverage: 27 functional tests covering all edge cases.

✅ GitHub Actions: Automated CI pipeline for Ubuntu with GCC.

✅ Standardized Headers: Consistent copyright and license headers across all source files.

📄 License

This project is licensed under the MIT License.