ros-controls / ros-controls/control_toolbox
How to document overloaded functions?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 176
- Forks
- 124
- Avg merge
- 3h 44m
- Merged PRs (30d)
- 9
Description
Should we try using https://www.doxygen.nl/manual/commands.html#cmdoverload instead of copy pasting all the parameter descriptions of the overloaded methods? (see the PID class)
but how?
This works in doxygen
/*!
* \brief Get PID gains for the controller.
* \param p The proportional gain.
* \param i The integral gain.
* \param d The derivative gain.
* \param i_max Upper integral clamp.
* \param i_min Lower integral clamp.
* \param antiwindup Antiwindup functionality. When set to true, limits
the integral error to prevent windup; otherwise, constrains the
integral contribution to the control output. i_max and
i_min are applied in both scenarios.
*/
void get_gains(
double & p, double & i, double & d, double & i_max, double & i_min, bool & antiwindup);
/*!
* \brief Get PID gains for the controller.
* \overload
*/
void get_gains(double & p, double & i, double & d, double & i_max, double & i_min);
but is not parsed nicely from vscode.
https://devblogs.microsoft.com/cppblog/improved-doxygen-overload-resolution/ it seems that this feature also does not exist yet in the released version.
Any chance to satisfy both worlds?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the PID class documentation and its overloaded get_gains declarations. Compare the current Doxygen output with how the declarations are parsed in VS Code, then review the linked Doxygen overload documentation and released-version limitations. Done means a documented approach is identified that preserves readable generated documentation and acceptable editor parsing, or the incompatibility is clearly recorded.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100