refactor(resolver): replace resolver_results wrapper with a type alias#278
refactor(resolver): replace resolver_results wrapper with a type alias#278mvandeberg wants to merge 1 commit into
Conversation
resolver_results was a shared_ptr<vector<resolver_entry>> wrapper that gave O(1) copies and an identity-based operator==. The equality ops were never used, and the only by-value sink (connect) must own the range for coroutine safety regardless, so an rvalue is moved in cheaply either way. Make resolver_results an alias for std::vector<resolver_entry>: deletes the wrapper boilerplate and exposes the full vector interface. The one regression — deep-copying an lvalue you want to retain — is documented on resolve() and connect(), which point callers at std::move or the iterator-based connect overloads. Closes cppalliance#123.
|
An automated preview of the documentation is available at https://278.corosio.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-06-12 20:28:52 UTC |
|
GCOVR code coverage report https://278.corosio.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-06-12 20:41:06 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #278 +/- ##
===========================================
- Coverage 77.73% 77.65% -0.08%
===========================================
Files 96 96
Lines 7234 7204 -30
Branches 1764 1758 -6
===========================================
- Hits 5623 5594 -29
Misses 1102 1102
+ Partials 509 508 -1
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
resolver_results was a shared_ptr<vector<resolver_entry>> wrapper that gave O(1) copies and an identity-based operator==. The equality ops were never used, and the only by-value sink (connect) must own the range for coroutine safety regardless, so an rvalue is moved in cheaply either way.
Make resolver_results an alias for std::vector<resolver_entry>: deletes the wrapper boilerplate and exposes the full vector interface. The one regression — deep-copying an lvalue you want to retain — is documented on resolve() and connect(), which point callers at std::move or the iterator-based connect overloads. Closes #123.