我试图用Doxygen记录我的一些代码。我有一个我称之为Doxygen组的库,以及单独的头文件中的许多类。许多构造函数在类页面上显示为公共成员函数,但它们的文档显示在组页面上而不是构造函数&&和类页面上的析构函数部分。有些不是;我还没有确切地想出这个模式。
这是失败的:
/**
* @addtogroup gr_espresso
* @{
*/
/**
* @file ToyTagger.hh
*/
...
namespace Espresso {
...
/**
* @class ToyTagger
* @brief Fake tagging algorithm
* @details ...
*
*/
class ToyTagger {
public:
/**
* @brief Simple constructor.
* @details ...
*/
ToyTagger(CalibrationMode _mode, const Distribution& _pdf, const Calibration* _smear_cal = nullptr);
...
}
}
/**
* @}
*/
为ToyTagger类生成以下文档:
上面以伪代码显示的构造函数列在Public Member Functions下,但不在Constructors&析构函数文档。相反,"更多信息"链接指向gr_espresso组的页面。对于另一个构造函数以及三个成员函数之一也是如此:
我还没有显示第二个构造函数或三个成员函数的代码,但没有明显的区别。
另一方面,这是一个成功的:
/**
* @addtogroup gr_espresso
* @{
*/
/**
* @file StandardCalibration.hh
*/
...
namespace Espresso
{
...
class StandardCalibration : public Calibration {
public:
/**
* @brief Default constructor
* @details Simple constructor that creates a trivial calibration
* where \f$\omega(\eta) = \eta\f$
*/
StandardCalibration();
...
}
}
/**
* @}
*/
这会生成我期望的文档:
有谁知道这里发生了什么?我做错了什么导致这种(显然)不可预测的行为?