2010-05-30 18 views
10

C'è qualche modo per documentare i parametri di modello come questo:doxygen C++ template in linea documentazione

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

piuttosto che elenca ogni parametro con tparam?

si prega di notare che gli argomenti delle funzioni possono essere documentati come questo in doxygen corrente:

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

se non ce n'è uno, quanto sia difficile sarebbe per la sua attuazione? se hai familiarità con gli interni di doxygen, puoi indicarmi la direzione in cui implementarlo.

si

risposta

6

ringraziamento v'è alcun modo per documentare i parametri di modello come hai descritto.

Direi che non è una buona idea, perché in questo modo si dovrebbero documentare i parametri del modello in modo diverso rispetto ai parametri usuali, e perché lo si desidera?

solito assomiglia a questo:

/*! \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); 

e si desidera guardare come questo ?!

/*! \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); 

Perché?

+2

Egli * potrebbe * posizionare ogni parametro usuale su una nuova riga. – Pieter

+0

sì, volevo anche inserire parametri del genere. L'ho trovato leggermente più semplice da leggere (in source), poiché il parametro è documentato subito dopo la dichiarazione – Anycorn

+2

Documentando i parametri in cui sono definiti nel codice, il rischio di dimenticare di documentare un nuovo parametro quando viene aggiunto, o dimenticando di rimuovere la documentazione di un parametro quando viene rimosso, diminuisce in modo significativo. – HelloGoodbye

Problemi correlati