Skip to content

[RDF][Docs] Group the RInterface API in doxygen into Actions / Transformations / General#22320

Draft
hageboeck wants to merge 16 commits into
root-project:masterfrom
hageboeck:rdf_interfaceGrouping
Draft

[RDF][Docs] Group the RInterface API in doxygen into Actions / Transformations / General#22320
hageboeck wants to merge 16 commits into
root-project:masterfrom
hageboeck:rdf_interfaceGrouping

Conversation

@hageboeck
Copy link
Copy Markdown
Member

This includes commits from #22289. Only the last commit will remain once that is merged.

hageboeck and others added 16 commits May 15, 2026 12:41
- Move the web widgets to the webdisplay group.
- Move webdisplay to GUI group.
- Put the parametric functions group under Math.
- Regroup I/O doxygen groups.
- Move doxygen GUI group to Graphics

Co-authored-by: martinfoell <m.foell.1999@gmail.com>
- Remove internal and detail classes from RDF group.
- Remove source files from RDF group.
- Expand docs of RDataFrame overview page.
- Structure documentation of RDataFrame API.
…xygen group.

Listing files on the doxygen page doesn't have a lot of benefit.
Instead, we will list the contained classes.
- Enable sorting of groups in the treeview
- Enable right-hand side scrolling site overview
- Add "make preview" for a fast preview mode without ROOT
  customisations, with MT processing, and without dot graphs
- Enable inlining of inherited members into the overview of class
  functions
Create groups for transformations and actions. This makes it easier to
look at the RDF interface at a glance, because base-class functions are
inlined in the list of functions.
This required reordering of the code, but this is an NFC.
@hageboeck hageboeck self-assigned this May 18, 2026
@github-actions
Copy link
Copy Markdown

Test Results

    22 files      22 suites   3d 11h 20m 3s ⏱️
 3 855 tests  3 803 ✅ 0 💤 52 ❌
77 037 runs  76 984 ✅ 1 💤 52 ❌

For more details on these failures, see this check.

Results for commit 902b341.

Copy link
Copy Markdown
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

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

Very nice! I have left some comments only related to the last commit.

/// ~~~{.cpp}
/// auto filtered = rdf.Filter(...).Define(...).Define(...);
/// ~~~
/// \{
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What's the role of \{?

return newInterface;
}

// clang-format off
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why clang-format off?

Comment on lines +1363 to +1365
/// \}
// ---------------------------------------------------------------------------------
// End of the doxygen group for Transformations
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ah, I now see the role of the previous \{, but I'm still left with doubts. Why are there three / in the closing braces but only two in the next two lines? Also, it looks a bit sketchy to have to open a "context" at some random point in the header and then close it, but if doxygen doesn't provide anything better I guess we'll have to live with it.

// End of the doxygen group for Transformations

/// \name Immediate Actions
/// Immediate Actions start the event loop and generate a type of result.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Immediate Actions are eager operations, that is they immediately trigger the computation graph and return some type of result.

// ---------------------------------------------------------------------------------
// End of the doxygen group for Transformations

/// \name Immediate Actions
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If the ordering in the header is also the ordering that will appear on Doxygen, it would be nice if immediate actions came after actions, since they are a special type of action.

///
std::vector<std::string> GetFilterNames() { return RDFInternal::GetFilterNames(fProxiedPtr); }

/// \name User-defined Actions
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I like this new section! I would add that user-defined actions are also lazy.

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.

4 participants