Doxygen注释中的"using namespace"

14

我的库中所有的类都被定义在一个命名空间内。当我为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个回答

14

如果你的注释在命名空间内部,那么可以使其适用于一个命名空间。但是,由于我们有多个嵌套的命名空间,我不喜欢在Doxygen注释中使用它们,这让我相当困扰。

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

从Markdown的角度看2016更新

我正在为Realm使用Doxygen编写C#文档(是的,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)

你可以在这里在线查看渲染后的版本。


4
您可以这样使用别名: ALIASES += refmylib{1}="@ref MyLibraryNamespace::\1 "\1"" 这是一个用法示例: /** * \mainpage 我的库 * * 使用@refmylib{MyClass}来... */ 上述内容将被Doxygen处理成这样: /** * \mainpage 我的库 * * 使用@ref MyLibraryNamespace::MyClass "MyClass"来... */

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接