我的库的所有类都在命名空间中定义。当我为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"
吗?
答案 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 ...
*/