Doxygen:在函数内移动静态变量文档
Doxygen: Moving a static variable documentation inside a function
考虑这段代码:
#include <string>
namespace MyNamespace
{
/** \brief Error Class */
class Error
{
public :
/** \brief Constructor */
Error ( int in_code, const std::string& in_message );
...
};
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
};
MyNameSpace 已经是 doxygen 组的一部分。当我生成文档时,我得到:
- 一页
Error
class 描述
SUCCESS
和 ERROR_UNKNOWN
在 MyNamespace
页面 中是 "Functions"(奇怪!)
如何标记 SUCCESS
和 ERROR_UNKNOWN
以显示在 Error
class 描述页面中?
注意:我无法定义一个新组并将两者都放入,因为我的组列表已冻结(我们希望每个库一个组)。 "Hidden"组可能是解决方案。
到目前为止,我能找到的最好的 "solution" 是使用 \memberof
。
这个:
/** \memberof Error @{ */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
将 SUCCESS
和 ERROR_UNKNOWN
移动到 Error
class 描述的 "Static Public Member Functions" 下。这不是很好,因为它们然后与其他真正的静态 public 成员函数混合。但是还要添加一个 \name
标签...
/** \memberof Error @{ */
/** \name Error values: */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
将把 SUCCESS
和 ERROR_UNKNOWN
移动到 Error
class 描述的 "Related Functions" 下的 "Error values" 部分,并附有很好的注释报告(Note that these are not member functions.)
..绝对可以接受...
在代码中,SUCCESS
和ERROR_UNKNOWN
是而不是的Error
部分class,因此生成的文档是正确的(撇开 "function" 的问题)。
试图让 doxygen 将它们显示为错误的一部分 class 是非常具有误导性的,因为文档和代码现在是矛盾的。
如果您确实希望 SUCCESS
成为 Error
class 的一部分,请在代码中实现。
或者,这可能是意图,在 Error
class 的文档中,添加像 @see SUCCESS
、@see ERROR_UNKNOWN
.[=18= 这样的注释]
这将生成 "See also" 指向这些项目文档的评论。
考虑这段代码:
#include <string>
namespace MyNamespace
{
/** \brief Error Class */
class Error
{
public :
/** \brief Constructor */
Error ( int in_code, const std::string& in_message );
...
};
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
};
MyNameSpace 已经是 doxygen 组的一部分。当我生成文档时,我得到:
- 一页
Error
class 描述 SUCCESS
和ERROR_UNKNOWN
在MyNamespace
页面 中是 "Functions"(奇怪!)
如何标记 SUCCESS
和 ERROR_UNKNOWN
以显示在 Error
class 描述页面中?
注意:我无法定义一个新组并将两者都放入,因为我的组列表已冻结(我们希望每个库一个组)。 "Hidden"组可能是解决方案。
到目前为止,我能找到的最好的 "solution" 是使用 \memberof
。
这个:
/** \memberof Error @{ */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
将 SUCCESS
和 ERROR_UNKNOWN
移动到 Error
class 描述的 "Static Public Member Functions" 下。这不是很好,因为它们然后与其他真正的静态 public 成员函数混合。但是还要添加一个 \name
标签...
/** \memberof Error @{ */
/** \name Error values: */
/** \brief Successfull result */
static Error SUCCESS( 0, "Success. " );
/** \brief Error of unknown kind, used internally only to identify a pending result */
static Error ERROR_UNKNOWN( 1, "Unknown Error. " );
...
/** @} */
将把 SUCCESS
和 ERROR_UNKNOWN
移动到 Error
class 描述的 "Related Functions" 下的 "Error values" 部分,并附有很好的注释报告(Note that these are not member functions.)
..绝对可以接受...
在代码中,SUCCESS
和ERROR_UNKNOWN
是而不是的Error
部分class,因此生成的文档是正确的(撇开 "function" 的问题)。
试图让 doxygen 将它们显示为错误的一部分 class 是非常具有误导性的,因为文档和代码现在是矛盾的。
如果您确实希望 SUCCESS
成为 Error
class 的一部分,请在代码中实现。
或者,这可能是意图,在 Error
class 的文档中,添加像 @see SUCCESS
、@see ERROR_UNKNOWN
.[=18= 这样的注释]
这将生成 "See also" 指向这些项目文档的评论。