Skip to content

Comments

Add MrDocs reference link to documentation nav#170

Merged
sgerbino merged 2 commits intocppalliance:developfrom
sgerbino:pr/mrdocs
Feb 24, 2026
Merged

Add MrDocs reference link to documentation nav#170
sgerbino merged 2 commits intocppalliance:developfrom
sgerbino:pr/mrdocs

Conversation

@sgerbino
Copy link
Collaborator

@sgerbino sgerbino commented Feb 24, 2026

Resolves #39.

Summary by CodeRabbit

Release Notes

  • Chores
    • Improved build configuration with enhanced native component header file organization to streamline internal development infrastructure.

@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

📝 Walkthrough

Walkthrough

Added a new header file aggregating native component interfaces and updated the CMakeLists.txt build configuration to include it during Mr. Docs reference generation for Corosio documentation support.

Changes

Cohort / File(s) Summary
Build Configuration
CMakeLists.txt
Added include directive for boost/corosio/native/native.hpp to mrdocs.cpp generation alongside existing boost/corosio.hpp include.
Native Component Aggregation
include/boost/corosio/native/native.hpp
New header file that aggregates native-related component headers: native_io_context.hpp, native_resolver.hpp, native_scheduler.hpp, native_signal_set.hpp, native_tcp_acceptor.hpp, native_tcp_socket.hpp, and native_timer.hpp via include directives.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A header hops in, all bundled with care,
Native components gathered from here and there,
Mr. Docs shall shine with Corosio's bright light,
References now ready—documentation's right! ✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Add MrDocs reference link to documentation nav' directly aligns with the main objective from issue #39 to integrate MrDocs reference into documentation, and reflects the actual changes in CMakeLists.txt.
Linked Issues check ✅ Passed The PR successfully addresses issue #39 by adding MrDocs reference generation and integration: CMakeLists.txt includes the native header in mrdocs.cpp, and native/native.hpp aggregates native-related headers for documentation.
Out of Scope Changes check ✅ Passed All changes are scoped to the MrDocs reference generation objective: CMakeLists.txt modification adds native includes for mrdocs processing, and the new native.hpp header aggregates native API headers for documentation purposes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.04%. Comparing base (fba7b77) to head (326b4f1).
⚠️ Report is 3 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #170      +/-   ##
===========================================
- Coverage    82.21%   82.04%   -0.18%     
===========================================
  Files           70       70              
  Lines         5876     5876              
===========================================
- Hits          4831     4821      -10     
- Misses        1045     1055      +10     

see 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

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

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

@cppalliance-bot
Copy link

cppalliance-bot commented Feb 24, 2026

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

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

2026-02-24 14:50:54 UTC

@cppalliance-bot
Copy link

cppalliance-bot commented Feb 24, 2026

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

Build time: 2026-02-24 14:54:05 UTC

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
include/boost/corosio/native/native.hpp (1)

21-21: Nit: add a closing comment to #endif for readability.

🔧 Proposed change
-#endif
+#endif // BOOST_COROSIO_NATIVE_NATIVE_HPP
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@include/boost/corosio/native/native.hpp` at line 21, Add a trailing comment
to the lone `#endif` in include/boost/corosio/native/native.hpp to indicate
which conditional it closes (match the opening include-guard or `#if`/`#ifdef`
identifier), e.g., append a descriptive comment referencing the include guard or
module name so the `#endif` is self-documenting.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@include/boost/corosio/native/native.hpp`:
- Around line 13-19: The public aggregator native.hpp currently includes
detail-bearing headers (native_io_context.hpp, native_resolver.hpp,
native_scheduler.hpp, native_signal_set.hpp, native_tcp_acceptor.hpp,
native_tcp_socket.hpp, native_timer.hpp) which pull platform-specific system
headers; remove these direct includes from
include/boost/corosio/native/native.hpp and instead expose only portable,
platform-agnostic interfaces or facades from the public header (e.g., a minimal
native API header) while moving platform-specific aggregators and includes into
a non-public/detail or src/ implementation header; update native.hpp to include
only the portable facade or forward-declarations so no detail/<platform> headers
(and thus no <sys/socket.h>, <WinSock2.h>, etc.) are transitively exposed.

---

Nitpick comments:
In `@include/boost/corosio/native/native.hpp`:
- Line 21: Add a trailing comment to the lone `#endif` in
include/boost/corosio/native/native.hpp to indicate which conditional it closes
(match the opening include-guard or `#if`/`#ifdef` identifier), e.g., append a
descriptive comment referencing the include guard or module name so the `#endif`
is self-documenting.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fba7b77 and 326b4f1.

⛔ Files ignored due to path filters (1)
  • doc/modules/ROOT/nav.adoc is excluded by !**/doc/**
📒 Files selected for processing (2)
  • CMakeLists.txt
  • include/boost/corosio/native/native.hpp

Comment on lines +13 to +19
#include <boost/corosio/native/native_io_context.hpp>
#include <boost/corosio/native/native_resolver.hpp>
#include <boost/corosio/native/native_scheduler.hpp>
#include <boost/corosio/native/native_signal_set.hpp>
#include <boost/corosio/native/native_tcp_acceptor.hpp>
#include <boost/corosio/native/native_tcp_socket.hpp>
#include <boost/corosio/native/native_timer.hpp>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check native_*.hpp files for direct platform-specific system header includes

echo "=== Checking for platform-specific includes in native_*.hpp ==="
rg -n '#\s*include\s*[<"](windows\.h|WinSock2\.h|Ws2tcpip\.h|MSWSock\.h|sys/socket\.h|netinet/in\.h|arpa/inet\.h|unistd\.h|sys/types\.h)[">]' \
    include/boost/corosio/native/ || echo "No platform-specific includes found"

echo ""
echo "=== List all files in include/boost/corosio/native/ ==="
find include/boost/corosio/native/ -type f \( -name "*.h" -o -name "*.hpp" \) | sort

Repository: cppalliance/corosio

Length of output: 6612


🏁 Script executed:

#!/bin/bash
# Inspect the native_*.hpp files to see what they include

echo "=== Checking native_io_context.hpp ==="
head -50 include/boost/corosio/native/native_io_context.hpp | grep -n "#include"

echo ""
echo "=== Checking native_tcp_socket.hpp ==="
head -50 include/boost/corosio/native/native_tcp_socket.hpp | grep -n "#include"

echo ""
echo "=== Checking native_resolver.hpp ==="
head -50 include/boost/corosio/native/native_resolver.hpp | grep -n "#include"

echo ""
echo "=== Checking native_scheduler.hpp ==="
head -50 include/boost/corosio/native/native_scheduler.hpp | grep -n "#include"

echo ""
echo "=== Checking if native.hpp includes aggregate includes any platform-specific headers directly ==="
head -30 include/boost/corosio/native/native.hpp

Repository: cppalliance/corosio

Length of output: 2054


Remove direct includes of native detail headers from the public native.hpp aggregator header.

The file include/boost/corosio/native/native.hpp violates the portable-headers guideline by including files such as native_io_context.hpp, which in turn directly include platform-specific detail headers (e.g., detail/epoll/epoll_scheduler.hpp, detail/iocp/win_scheduler.hpp). These detail headers contain platform-specific includes like <sys/socket.h>, <WinSock2.h>, <netinet/in.h>, and <unistd.h>. Since include/boost/corosio/native/ is a public header directory, all included headers—including detail subdirectories—must not expose platform-specific system headers. Either abstract the platform-specific details behind portable interfaces, or move platform-specific aggregators outside the public header tree.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@include/boost/corosio/native/native.hpp` around lines 13 - 19, The public
aggregator native.hpp currently includes detail-bearing headers
(native_io_context.hpp, native_resolver.hpp, native_scheduler.hpp,
native_signal_set.hpp, native_tcp_acceptor.hpp, native_tcp_socket.hpp,
native_timer.hpp) which pull platform-specific system headers; remove these
direct includes from include/boost/corosio/native/native.hpp and instead expose
only portable, platform-agnostic interfaces or facades from the public header
(e.g., a minimal native API header) while moving platform-specific aggregators
and includes into a non-public/detail or src/ implementation header; update
native.hpp to include only the portable facade or forward-declarations so no
detail/<platform> headers (and thus no <sys/socket.h>, <WinSock2.h>, etc.) are
transitively exposed.

@sgerbino sgerbino merged commit c0ae39b into cppalliance:develop Feb 24, 2026
21 checks passed
@sgerbino sgerbino deleted the pr/mrdocs branch February 24, 2026 15:17
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.

Mr. Docs Reference

2 participants