Repository navigation
Conversation
The flattened-headers section was the only CE guidance, and it describes including the headers by URL. Say that the links on the doc pages include <boost/openmethod.hpp> as usual, with Boost from CE's Libraries list, and that dev/ce_link.py generates them. Note what that implies: the link runs the Boost release CE offers, and nothing regenerates it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The comparison opened two columns: the virtual function call beside a translation unit with both method calls, whose assembly pane showed the two together. Give each call its own column instead, its source above its assembly. dev/ce_link.py replaces --beside and --beside-tag with --column EXAMPLE:TAG, once per column. A column holds the content region of its example minus every nested region except TAG, so that it compiles one call only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The names now say what is called, beside call_virtual_function, in the listings of performance.adoc and in the Compiler Explorer comparison. ast.cpp and the two custom RTTI examples have the same helpers, outside any tagged region, and are renamed with them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
call_virtual_function, call_method_via_ref and call_method_via_virtual_ptr become virtual_function, method_via_ref and method_via_virtual_ptr, with their tags, in the listings of performance.adoc, in its Compiler Explorer comparison, and in the examples that carry the same helpers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
An automated preview of the documentation is available at https://141.openmethod.prtest3.cppalliance.org/libs/openmethod/doc/html/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-11-04 22:43:14 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #141 +/- ##
========================================
Coverage 92.56% 92.57%
========================================
Files 29 29
Lines 2314 2316 +2
Branches 699 699
========================================
+ Hits 2142 2144 +2
Misses 111 111
Partials 61 61 Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(Written by Claude Code, on behalf of @jll63.)
Follow-up to #134.
Three columns for the dispatch comparison
The "Compare the three calls on Compiler Explorer" link on
performance.adocused to open two columns: the virtual function call beside a translation unit holding both method calls, whose assembly pane showed both together. It now opens one column per call, each with its source above its assembly:virtual_functionmethod_via_refmethod_via_virtual_ptrdev/ce_link.pyreplaces--besideand--beside-tagwith--column EXAMPLE:TAG, given once per column. A column holds thecontentregion of its example minus every nested tagged region exceptTAG, so it compiles that one function only:dev/ce_link.py \ --column doc/modules/ROOT/examples/dispatch_virtual_function.cpp:virtual_function \ --column doc/modules/ROOT/examples/dispatch_open_method.cpp:method_via_ref \ --column doc/modules/ROOT/examples/dispatch_open_method.cpp:method_via_virtual_ptrThe "Library functions" filter stays off in all three columns: it would hide
method_via_virtual_ptrcompletely, since every one of its instructions is dispatch code inlined from the headers. With the filter off, the method columns carry about 1,000 lines of library code, but each function still appears within the first screen.Function names
call_virtual_function,call_via_refandcall_via_virtual_ptrbecomevirtual_function,method_via_refandmethod_via_virtual_ptr. The rename covers their tags, the listings and prose ofperformance.adoc, and the helpers with the same names inast.cpp,ast_virtual_function_2.cppand both custom RTTI examples. No page shows those helpers.CLAUDE.md
A new section, "Compiler Explorer links in the documentation", says that doc-page links use normal includes, with Boost picked from CE's Libraries list. The flattened headers are for the
ce/examples only. It also says what follows from that:Testing
-Wall -Wextra -Werrorunder gcc and clang-22, at-O2 -DNDEBUG, and print what they did before.doc/build_antora.shreports no warnings forperformance.adoc. The renderedhrefmatches the generated URL, and the page has no old names left. Thebasicsandmotivationlinks come out of the script unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01958YRGfNfb6SfQS9v4hWTr