2010-05-30 22 views
10

¿Hay alguna manera de documentar los parámetros de plantilla como esta:Doxygen documentación C++ plantilla en línea

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

en lugar de enumerar cada parámetro con tparam?

tenga en cuenta que los argumentos de la función pueden documentarse como este en doxygen actual:

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

si no hay uno, lo difícil sería para ponerlo en práctica? si está familiarizado con las partes internas de doxygen, ¿me puede indicar dónde implementarlo?

que

Respuesta

6

gracias No hay manera de documentar sus parámetros de plantilla como la que describes.

Diría que no es una buena idea, porque entonces documentaría los parámetros de su plantilla de forma diferente a sus parámetros habituales, y ¿por qué querría eso?

Por lo general, tiene el siguiente aspecto:

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

y que desea que se vea como esto ?!

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

¿Por qué?

+2

He * podría * colocar cada parámetro habitual en una nueva línea también. – Pieter

+0

sí, también quería colocar parámetros como ese. Acabo de encontrar algo más fácil de leer (en fuente), ya que el parámetro está documentado justo después de la declaración – Anycorn

+2

Al documentar los parámetros donde están definidos en el código, el riesgo de olvidar documentar un nuevo parámetro cuando se agrega, o olvidando eliminar la documentación de un parámetro cuando se elimina, disminuye significativamente. – HelloGoodbye

Cuestiones relacionadas