I am trying to document part of my code with Doxygen. I have a library that I call the Doxygen group, and many classes in separate header files. A number of constructors are shown as public member functions on class pages, but their documentation is displayed on the group page, not in the && & & Destroyers on the class page. Some are not; I still do not quite understand the template.
Here is one of them:
... namespace Espresso { ... class ToyTagger { public: ToyTagger(CalibrationMode _mode, const Distribution& _pdf, const Calibration* _smear_cal = nullptr); ... } }
The following documentation is created for the ToyTagger class:

The constructor shown in the pseudocode above is listed in the Public Member Functions section, but not in the documentation for constructors and destructors. Instead, the "More Information" link leads to the gr_espresso group page. The same is true for another constructor, as well as for one of the three member functions:

I did not show the code for the second constructor or the three member functions, but there is no obvious difference.
On the other hand, here is one that succeeds:
... namespace Espresso { ... class StandardCalibration : public Calibration { public: StandardCalibration(); ... } }
This creates the documentation I expect:

Does anyone know what is going on here? Am I doing something wrong that leads to such (apparently) unpredictable behavior?
c ++ doxygen
jwimberley
source share