Skip to content

docs: reconcile manual with code and fix non-compiling examples#329

Merged
sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/doc-pass
Jun 21, 2026
Merged

docs: reconcile manual with code and fix non-compiling examples#329
sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/doc-pass

Conversation

@sgerbino

Copy link
Copy Markdown
Collaborator

Audited the Antora book and header Javadoc against the implementation and corrected every factual and conceptual discrepancy, treating the code as canonical.

Key corrections:

  • read_some/write_some error contract: n < buffer_size on error, and a full buffer always means success (conditions deferred to the next read); rewrote the chapter 9 rationale and fixed the 9n header misquote
  • BufferSource/BufferSink: span-based pull/prepare plus consume, matching the real concepts (was pointer+count with integer returns)
  • cancellation: this_coro::stop_token and error::canceled (removed the nonexistent get_stop_token and error::operation_aborted)
  • dynamic buffers: fixed-capacity adapters over external storage built via pointer or the dynamic_buffer factory (was grow-on-demand)
  • any_* wrappers: owning by value vs reference by pointer (no S& ctor)
  • IoAwaitable/IoRunnable concepts, Executor concept, composed-op return types (io_task), and assorted symbol/path fixes

Verified all 489 code examples compile against the real API. Fixed real breakage: mutable_buffer(array) to make_buffer, co_await std::move on a named task, the mmap_source io_result return, the fabricated test::stream(fuse) constructor, and buffer_to_string on bufgrind slices.

Build instructions link capy with no external dependencies, and the thread_pool examples call join() to drain outstanding work.

@cppalliance-bot

cppalliance-bot commented Jun 20, 2026

Copy link
Copy Markdown

An automated preview of the documentation is available at https://329.capy.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-06-20 22:13:00 UTC

@cppalliance-bot

cppalliance-bot commented Jun 20, 2026

Copy link
Copy Markdown

GCOVR code coverage report https://329.capy.prtest3.cppalliance.org/gcovr/index.html
LCOV code coverage report https://329.capy.prtest3.cppalliance.org/genhtml/index.html
Coverage Diff Report https://329.capy.prtest3.cppalliance.org/diff-report/index.html

Build time: 2026-06-20 22:28:30 UTC

@codecov

codecov Bot commented Jun 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.07%. Comparing base (1d41c61) to head (f84f441).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop     #329   +/-   ##
========================================
  Coverage    98.07%   98.07%           
========================================
  Files          164      164           
  Lines         8774     8774           
========================================
  Hits          8605     8605           
  Misses         169      169           
Flag Coverage Δ
linux 98.17% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
include/boost/capy/ex/strand.hpp 100.00% <ø> (ø)
include/boost/capy/ex/thread_pool.hpp 100.00% <ø> (ø)
include/boost/capy/io_result.hpp 100.00% <ø> (ø)
include/boost/capy/read.hpp 100.00% <ø> (ø)
include/boost/capy/test/buffer_sink.hpp 91.83% <ø> (ø)
include/boost/capy/test/buffer_to_string.hpp 91.66% <ø> (ø)

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1d41c61...f84f441. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Audited the Antora book and header Javadoc against the implementation
and corrected every factual and conceptual discrepancy, treating the
code as canonical.

Key corrections:
- read_some/write_some error contract: n < buffer_size on error, and a
  full buffer always means success (conditions deferred to the next
  read); rewrote the chapter 9 rationale and fixed the 9n header misquote
- BufferSource/BufferSink: span-based pull/prepare plus consume, matching
  the real concepts (was pointer+count with integer returns)
- cancellation: this_coro::stop_token and error::canceled (removed the
  nonexistent get_stop_token and error::operation_aborted)
- dynamic buffers: fixed-capacity adapters over external storage built via
  pointer or the dynamic_buffer factory (was grow-on-demand)
- any_* wrappers: owning by value vs reference by pointer (no S& ctor)
- IoAwaitable/IoRunnable concepts, Executor concept, composed-op return
  types (io_task), and assorted symbol/path fixes

Verified all 489 code examples compile against the real API. Fixed real
breakage: mutable_buffer(array) to make_buffer, co_await std::move on a
named task, the mmap_source io_result return, the fabricated
test::stream(fuse) constructor, and buffer_to_string on bufgrind slices.

Build instructions link capy with no external dependencies, and the
thread_pool examples call join() to drain outstanding work.
@sgerbino sgerbino merged commit 4c551c0 into cppalliance:develop Jun 21, 2026
39 checks passed
@sgerbino sgerbino deleted the pr/doc-pass branch June 21, 2026 01:56
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.

2 participants