2016-08-26 103 views
3

我在翻譯我的C++庫並使用Doxygen編寫了一個很好的文檔。假設我聲明瞭類型:Doxygen中返回值的默認描述

typedef enum { 
    NO_ERROR,    ///< Everything fine. 
    SOME_REALLY_BAD_ERROR, ///< Something went wrong. 
    VERY_INFREQUENT_ERROR ///< Used only in some cases. 
} ReturnType; 

並將其用作返回值以標記函數中可能的錯誤。現在,我定義一個函數:

/** Very important description 
* 
* @return NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise. 
*/ 
ReturnType ImportantFunction(); 

所以每函數定義我必須粘貼默認返回值的描述相同(但有時我會回到VERY_INFREQUENT_ERROR和寫入不同的描述)。所以我的問題是:

Doxygen有沒有辦法創建返回值的默認描述,或者我應該創建一個罕見情況的描述?

回答

2

AFAIK您無法創建默認說明。你可以做的是使用\copydoc至少寫你texte只有一次:

/** 
* \class common_ReturnType 
* 
* NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise. 
*/ 

/** Very important description 
* 
* @return \copydoc common_ReturnType 
*/ 
ReturnType ImportantFunction(); 

/** Very important description with very infrequent result 
* 
* @return \copydoc common_ReturnType In very infrequent cases, VERY_INFREQUENT_ERROR. 
*/ 
ReturnType ImportantFunctionWithInfrequentResult(); 

,這將產生你的文檔中爲common_ReturnType虛擬條目。您可以在配置文件中使用EXCLUDE_SYMBOLS = common_*將其從輸出中排除。

+2

前幾天我推。在我看來,這種類型的問題的一個可能的解決方案,以github「引入命令includedoc和snippetdoc」拉請求503.使用\ snippetdoc這應該是可能的, – albert

+0

我想這將是足夠的,因爲我可以然後創建一個好'ReturnType'的文檔。 – SzymonPajzert

1

您可以用確切的說迴文檔定義別名命令:

ALIASES += "[email protected] NO_ERROR on proper exit, SOME_REALLY_BAD_ERROR otherwise." 

然後你可以使用快捷鍵:

/** 
* @return_noerr 
*/ 
+0

不錯的主意,但我擔心這意味着每次我想修改類型文檔時都會修改通用配置文件。既然它可以發生在類型本身的每一個變化,我更喜歡基於代碼的解決方案。 – SzymonPajzert