Doxygen评论的“使用命名空间”

时间:2010-03-23 10:37:33

标签: namespaces doxygen

我的库的所有类都在命名空间中定义。当我为Doxygen创建一个主页时,我必须在注释中明确使用这个命名空间来使Doxygen生成链接。我想对整个评论块使用类似“using namespace”的内容。

一个例子:

/**
* \mainpage My Library
*
* Use MyLibraryNamespace::MyClass to ...
*/

此处Doxygen会自动生成指向MyLibraryNamespace :: MyClass文档的链接。

/**
* \mainpage My Library
*
* Use MyClass to ...
*/

这里Doxygen不会生成MyLibraryNamespace :: MyClass文档的链接(因为我想在不同的命名空间中可能有多个MyClass定义)。为了简化阅读,我想在注释中省略名称空间前缀。这可能而不必每次都输入\ref MyLibraryNamespace::MyClass "MyClass"吗?

2 个答案:

答案 0 :(得分:14)

通过将注释放在命名空间内,可以使一个命名空间起作用。由于我们有多个嵌套的命名空间而且我讨厌在Doxygen评论中使用它们,这让我很烦恼。

namespace MyLibraryNamespace {
/**
* \mainpage My Library
*
* Use MyClass to ...
*/
};

Markdown Perspective 2016年更新

我正在使用Doxygen作为Realm的C#docs(是的Doxygen也处理典型的C#XML注释格式!)。 Markdown主页使用@ref来引用命名空间类:

The main classes you will use are:

- [Realm](@ref Realms.Realm)
- [RealmObject](@ref Realms.RealmObject)
- [RealmList](@ref Realms.RealmList)
- [Transaction](@ref Realms.Transaction)

您可以看到呈现的版本online here

答案 1 :(得分:3)

你可以使用这样的别名:

ALIASES += refmylib{1}="@ref MyLibraryNamespace::\1 \"\1\""

这是一个用法示例:

/** * \mainpage My Library * * Use @refmylib{MyClass} to ... */

以上将由doxygen处理,如下所示:

/** * \mainpage My Library * * Use @ref MyLibraryNamespace::MyClass "MyClass" to ... */