2010-05-30 57 views
10

是否有某種方式來記錄模板參數是這樣的:doxygen的C++聯模板文件

template< 
    int N, ///< description 
    typename T ///< description 
> 

,而不是列出所有與tparam每個參數?

void function(int a /**< description */); 

如果沒有一個,如何努力將實現它:

請注意,函數參數可以在當前的doxygen進行記錄這樣嗎?如果你熟悉doxygen的內部構件,你能指出我實現它的方向嗎?

謝謝

回答

6

沒有辦法像你描述的那樣記錄你的模板參數。

我會說這不是一個好主意,因爲那樣你會記錄你的模板參數與通常的參數不同,你爲什麼要這樣做?

通常它看起來是這樣的:

/*! \p transpose : transpose a matrix 
* 
* \param A input matrix 
* \param At output matrix (transpose of A) 
* 
* \tparam MatrixType1 matrix 
* \tparam MatrixType2 matrix 
*/ 

template <typename MatrixType1, typename MatrixType2> 
void transpose(const MatrixType1& A, MatrixType2& At); 

,你希望它看起來像這樣?

/*! \p transpose : transpose a matrix 
* 
* \param A input matrix 
* \param At output matrix (transpose of A) 
* 
*/ 

template < 
    typename MatrixType1, ///< matrix 
    typename MatrixType2 ///< matrix 
> 
void transpose(const MatrixType1& A, MatrixType2& At); 

爲什麼?

+2

他* *可以*將每個常用參數放在一個新行中。 – Pieter 2010-05-31 10:58:31

+0

是的,我也想放置這樣的參數。 我只是覺得讀起來有點容易,因爲在聲明後立即記錄參數 – Anycorn 2010-05-31 16:49:33

+2

通過記錄它們在代碼中定義的參數,添加時忘記記錄新參數的風險,或者忘記刪除參數的文檔時,它會顯着減少。 – HelloGoodbye 2013-06-24 13:43:57