2010-05-30 9 views
10

Czy istnieje jakiś sposób, aby udokumentować parametrów szablonu tak:doxygen C++ inline szablon dokumentacji

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

zamiast wymieniając każdy parametr tparam?

proszę zauważyć, że argumenty funkcji mogą być udokumentowane tak w bieżącym doxygen:

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

jeśli nie ma jednej, jak trudno byłoby je realizować? jeśli znasz już wewnętrzne doxygen, czy możesz wskazać mi kierunek, w którym chcesz go zaimplementować.

dziękuję

Odpowiedz

6

Nie ma sposobu, aby udokumentować swoje parametry szablonu jak opisałeś.

Powiedziałbym, że to nie jest dobry pomysł, ponieważ wtedy dokumentowałbyś parametry twojego szablonu inaczej niż zwykłe parametry i dlaczego miałbyś chcieć tego?

Zwykle wygląda to tak:

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

i chcesz to wyglądać tak ?!

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

Dlaczego?

+2

On * może * umieścić każdy zwykły parametr również w nowej linii. – Pieter

+0

tak, chciałem również umieścić takie parametry. Po prostu wydaje mi się nieco łatwiejszy do odczytania (w źródle), ponieważ parametr jest dokumentowany zaraz po deklaracji – Anycorn

+2

Dokumentując parametry, w których są one zdefiniowane w kodzie, ryzyko zapominania o udokumentowaniu nowego parametru podczas jego dodawania, lub zapomnienie o usunięciu dokumentacji parametru po jego usunięciu znacznie się zmniejsza. – HelloGoodbye