2010-03-23 63 views
13

我的庫的所有類都在命名空間中定義。當我爲Doxygen創建主頁時,我必須在註釋中明確使用這個命名空間,以使Doxygen生成鏈接。我想爲整個註釋塊使用「using namespace」之類的東西。「使用命名空間」爲Doxygen評論

一個例子:

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

這裏Doxygen的自動生成的鏈接的MyLibraryNamespace文檔:: MyClass的。

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

這裏的Doxygen不會生成一個鏈接到MyLibraryNamespace :: MyClass的的文件(因爲可能有不同的命名空間中的多個MyClass的定義,我想)。爲了簡化閱讀,我想省略評論中的命名空間前綴。有沒有必要每次輸入\ref MyLibraryNamespace::MyClass "MyClass"

回答

14

通過將您的註釋放入命名空間中,可以使此作品適用於一個命名空間。由於我們有多個嵌套命名空間,這讓我感到很大錯誤,我討厭在Doxygen註釋中使用它們。

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

2016年降價Update透視

我使用Doxygen的爲境界的C#文檔(是Doxygen的處理典型的C#XML註釋格式呢!)。降價主要頁面使用@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

2

您可以使用別名,像這樣:

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

這是使用示例:

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

和上面將由doxygen的這樣進行處理:

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