Doxygen:当函数在@name描述

时间:2017-04-04 08:04:22

标签: c++ doxygen

我的doxygen配置文件指定:

WARN_NO_PARAMDOC       = YES
WARN_IF_UNDOCUMENTED   = YES

这意味着我想在没有记录或部分记录功能时收到警告。因为我要求完整记录代码。

当我在这段代码上运行doxygen时:

/** Description */
class A
{
public:
    void func1();
    int func2( int param1, int param2 );

    /** Partial description (missing a parameter)
     * \param param1 description
     * \return description
     */
    int func3( int param1, int param2 );

    /** Partial description (missing return value)
     * \param param1 description
     */
    int func4( int param1 );
};

我得到4个警告:

warning : Member func1() (function) of class A is not documented.
warning : Member func2(int param1, int param2) (function) of class A is not documented. 
warning : The following parameters of A::func3(int param1, int param2) are not documented.
warning : return type of member A::func4 is not documented

精细。

现在,如果有人在某些函数声明之前添加/** \name */,如下所示:

/** Description */
class A
{
public:

    /** \name first functions: */

    void func1();
    int func2( int param1, int param2 );

    /** \name second functions: */

    /** Partial description (missing a parameter)
     * \param param1 description
     * \return description
     */
    int func3( int param1, int param2 );

    /** Partial description (missing return value)
     * \param param1 description
     */
    int func4( int param1 );
};

然后我们只得到两个警告:

warning : The following parameters of A::func3(int param1, int param2) are not documented:
warning : return type of member A::func4 is not documented
  • func1没有文档的事实不再报告。有人可能会说它有一个继承自\name旗帜的文件,但它绝对没有记录!

  • 不再报告func2缺少参数和返回值的事实。在这里,人们无法诚实地争辩;-),这里肯定有未记载的参数,他们必须生成警告。

我的目标是将成员函数分组到子部分下,如下所示: enter image description here

有没有办法在\name标记下保留功能分组并报告4个警告? (例如,通过自定义doxyfile内容?)。

可接受的答案:

  • 找到一种方法,即使在\name代码
  • 之后也会报告所有警告
  • 或者找到另一种方法,而不是使用\name标签对标题类似于&#34的函数进行分组;第一个函数:"和"第二功能:"以上将保留所有报告的警告。

目前,我唯一的选择是暂时将所有\name@name替换为name(not a doxygen flag),生成文档,修复警告,然后将name(not a doxygen flag)替换为{ {1}}回来......真烦人。我正在寻找一种更好的方法来解决这个问题。

注意:报告了doxygen bug https://bugzilla.gnome.org/show_bug.cgi?id=780912

0 个答案:

没有答案