2010-05-30 2 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

He *는 새 매개 변수에도 각 매개 변수를 배치 할 수 있습니다. – Pieter

+0

네, 저도 그런 매개 변수를 배치하고 싶었습니다. 선언 후 매개 변수가 문서화되기 때문에 (소스에서) 읽기가 다소 편합니다. – Anycorn

+2

코드에서 정의 된 매개 변수를 문서화하면 추가 될 때 새로운 매개 변수를 문서화하는 것을 잊어 버릴 위험이 있거나 제거 될 때 매개 변수의 문서를 제거하는 것을 잊어 버리면 상당히 감소합니다. – HelloGoodbye