C ++类操作符的Doxygen Out of Line记录

时间:2011-01-24 03:02:20

标签: c++ doxygen

如果我在文件中有一个类,我无法更改,但我需要在doxygen中记录,最好的方法是什么?我知道最好在实际的.h或.cpp文件中记录,但在这个特定的例子中,这是不可能的。

我已经想出如何记录一些成员,但我无法以可靠的方式记录操作员。让我举个例子。这是一个示例类,其中包含一个导致问题的成员,另一个工作正常:

class Foo
{
public:
    int Bar();
    bool operator!() const;
};

在doxygen查看的其他一些文件中,我提出了以下内容:

/// @fn Foo::Bar
/// @brief Some info about the constructor
/// @return Some stuff about what bar returns

构造函数的文档有效,但不是:

/// @fn Foo::operator!
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns

两者都没有:

/// @fn operator!
/// @memberof Foo
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns

我还尝试使用%和%转义各个部分。所以它看起来像“/// @fn%operator!”,“/// @fn operator%!”或“/// @fn运算符!”但没有什么比这更有帮助了。

关于操作员的信息永远不会出现。有几次我尝试将一个独特的值放入操作员doxygen注释中并在doxygen输出中对它进行grepping并且我空了。我做错了什么?

1 个答案:

答案 0 :(得分:6)

如果你看看你的doxygen输出,应该有一个警告

/path/to/Documentation: warning: no matching class member found for
  Foo::operator!()
Possible candidates:
  bool Foo::operator!() const

在这种情况下,请将文档更改为

/// @fn Foo::operator!() const
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns

请注意() const标识符后附加的@fn