Skip to content

feat: add .members() iterator adapter for range-based for loops (#288)#1679

Open
baylesj wants to merge 2 commits intomasterfrom
members
Open

feat: add .members() iterator adapter for range-based for loops (#288)#1679
baylesj wants to merge 2 commits intomasterfrom
members

Conversation

@baylesj
Copy link
Copy Markdown
Contributor

@baylesj baylesj commented Apr 9, 2026

This adds a zero-allocation iterator adapter to Json::Value that enables idiomatic range-based for loops over object members. This allows iterating over key-value pairs without allocating a vector of keys via getMemberNames(), and cleanly supports C++17 structured bindings (e.g. for (const auto& [name, val] : obj.members())).

Bot configuration changes are also included to ensure between support of different C++ versions.

Fixes #288

This adds a zero-allocation iterator adapter to `Json::Value` that enables idiomatic range-based for loops over object members. This allows iterating over key-value pairs without allocating a vector of keys via `getMemberNames()`, and cleanly supports C++17 structured bindings (e.g. `for (const auto& [name, val] : obj.members())`).

Fixes #288
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 9, 2026

Coverage Report for CI Build 24215871107

Coverage increased (+0.05%) to 90.149%

Details

  • Coverage increased (+0.05%) from the base build.
  • Patch coverage: 17 of 17 lines across 1 file are fully covered (100%).
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 2709
Covered Lines: 2592
Line Coverage: 95.68%
Relevant Branches: 2600
Covered Branches: 2194
Branch Coverage: 84.38%
Branches in Coverage %: Yes
Coverage Strength: 23581.95 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Please provide object key (key,value) iterators

2 participants