Implement complete Boost.Yaml library with C++11 API, documentation, and CI #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a complete C++11 library for parsing and working with YAML documents in the
boost::yamlnamespace, following the structure and patterns established by Boost.URL.Overview
The library provides an idiomatic C++ interface for reading YAML files and accessing their structured contents. It supports YAML 1.2 core schema with both flow-style and block-style syntax.
Key Features
Core API
value,scalar(string),sequence(vector),mapping(map), andnull_tis_null(),is_scalar(),is_sequence(),is_mapping()predicates and correspondingas_*()accessorsparse()function withsystem::result<value>return type for robust error handlingExample Usage
YAML Support
[a, b, c]and block style with-){key: value}and block style)#syntax)Build Systems
CMake
Full CMake support with:
B2 (Boost.Build)
Complete Jamfile configuration for library, tests, and examples.
Library Options
<boost/yaml/src.hpp>in one translation unitlibboost_yamlTesting
Comprehensive test suite with 46 assertions across 3 test files:
All tests use the test framework from Boost.URL (
test_suite.hpp) for consistency.Documentation
Antora Documentation
Complete documentation structure following Boost.URL:
API Documentation
All public APIs include comprehensive documentation comments describing:
CI/CD
GitHub Actions workflow configured to test on:
Project Structure
Dependencies
string_view)Testing Verification
All tests pass successfully:
Example program output:
Implementation Notes
Closes #1
Original prompt
Fixes #1
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.