Нет способа документировать параметры вашего шаблона, как вы описали.
Я бы сказал, что это не очень хорошая идея, потому что тогда вы будете задокументировать параметры вашего шаблона иначе, чем ваши обычные параметры, и зачем вам это нужно?
Обычно это выглядит так:
/*! \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);
Почему?