Repository navigation
refactor!: rename the IoAwaitable family to context-based names - #455
Conversation
|
An automated preview of the documentation is available at https://455.capy.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-10-16 21:54:17 UTC |
|
GCOVR code coverage report https://455.capy.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-10-16 22:09:55 UTC |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #455 +/- ##
===========================================
+ Coverage 98.33% 98.45% +0.11%
===========================================
Files 137 137
Lines 7316 7297 -19
===========================================
- Hits 7194 7184 -10
+ Misses 122 113 -9
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 9 files with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
4e0ddf4 to
c964df6
Compare
The awaitable protocol propagates an execution context (executor, stop token, frame allocator), not I/O, so the names now say so: IoAwaitable -> ContextAwaitable IoAwaitableRange -> ContextAwaitableRange IoRunnable -> ContextRunnable io_env -> await_context io_awaitable_promise_base -> context_awaitable_promise_base io_result -> results io_task is removed; spell it task<results<Ts...>>. Headers, include guards, detail helpers, tests, examples, benchmarks and documentation follow the new names, and the headers move to concept/context_awaitable.hpp, concept/context_runnable.hpp, ex/await_context.hpp, ex/context_awaitable_promise_base.hpp and results.hpp. io_task.hpp is deleted. Also link each library in the README's family list to its repository, and remove index.html, a leftover redirect to a doc/html directory that does not exist.
c964df6 to
85a11dd
Compare
Problem
The awaitable protocol carries an execution context (executor, stop token, frame allocator), but its names say "I/O".
Renames
IoAwaitableContextAwaitableIoAwaitableRangeContextAwaitableRangeIoRunnableContextRunnableio_envawait_contextio_awaitable_promise_basecontext_awaitable_promise_baseio_resultresultsio_task<Ts...>task<results<Ts...>>Headers move to match:
concept/context_awaitable.hpp,concept/context_runnable.hpp,ex/await_context.hpp,ex/context_awaitable_promise_base.hpp,results.hpp.io_task.hppis deleted.Derived names follow the same scheme, for example
is_results_v,results_payload_t, thewhen_all/when_any*_results_*detail helpers, and the awaitable-sender example'scontext_sender_env/get_context_executor.Docs
Every page, snippet, javadoc and reference example uses the new names. Pages whose file names carried the old names are renamed (
4e.io-awaitable.adoc→4e.context-awaitable.adoc, the unlistedio-awaitables-*pages), and the "Reporting Errors" anchor is now#reporting-errors. Published papers underpapers/are unchanged.Downstream
corosio and http need matching changes on branches named
pr/rename-foundation. Their CI builds against capydevelop, so this PR has to merge first. beast2 needs no source changes.Also
index.htmlis removed: it was a leftover redirect, titled "Boost.Buffers", to adoc/htmldirectory that does not exist.