【发布时间】:2011-12-09 14:11:29
【问题描述】:
使用 Doxygen 1.7.4
有时我会有一组公共成员函数,它们属于成员组,并且我觉得它们是自我记录的(例如 getter/setter),所以我不想编写 Doxygen每一个的语法。但是,我可能需要在其中的一两个上添加类似 \note 的内容。另外,我确实仍然希望函数声明显示在最终文档的类成员列表中。因此,使用\cond、\endcond 将不起作用。我注意到,如果所有父元素都记录在案并且 Doxygen 在成员组中遇到未记录的函数,它将重复它在该组中遇到的第一个文档,即使该文档是针对不同名称的函数,例如:
/** @name Group1
* @{
*/
void setA( int i );
int getA( void );
/// @note This note unexpectedly repeated for all functions in this group
void setB( int i );
int getB( void );
void setC( int i );
int getC( void );
//@}
对于阅读代码和文档的任何人来说,很明显该注释只适用于setB()。
如果我删除周围的成员组,这个特殊问题就会消失。然而,这违背了这些函数以某种方式属于一起的文档目的,然后 Doxygen 抱怨(警告)这些函数没有记录。我试过添加空的特殊注释块和空的\brief 和\note 命令,都无济于事。
在记录成员组中的重载函数时,我也遇到过这种现象。如果我的重载函数使用不同数量的参数和不同的参数名称,我将分别记录该函数。但是,有时两个函数只会在参数类型上有所不同。在这种情况下,我的解决方法是使用\overload 命令。但是,我宁愿不必这样做,而且这种解决方法不适用于(语义上)不同名称的函数。
那么,这个重复问题有什么解决方法吗?
【问题讨论】:
标签: oop doxygen documentation-generation