Add MrDocs reference link to documentation nav#170
Add MrDocs reference link to documentation nav#170sgerbino merged 2 commits intocppalliance:developfrom
Conversation
📝 WalkthroughWalkthroughAdded 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
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ 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.
🚀 New features to boost your workflow:
|
|
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 |
|
GCOVR code coverage report https://170.corosio.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-02-24 14:54:05 UTC |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
include/boost/corosio/native/native.hpp (1)
21-21: Nit: add a closing comment to#endiffor 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
⛔ Files ignored due to path filters (1)
doc/modules/ROOT/nav.adocis excluded by!**/doc/**
📒 Files selected for processing (2)
CMakeLists.txtinclude/boost/corosio/native/native.hpp
| #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> |
There was a problem hiding this comment.
🧩 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" \) | sortRepository: 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.hppRepository: 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.
Resolves #39.
Summary by CodeRabbit
Release Notes