【问题标题】:doxygen C++ inline template documentationdoxygen C++ 内联模板文档
【发布时间】:2011-02-25 17:51:11
【问题描述】:

有没有办法像这样记录模板参数:

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

而不是用tparam?列出每个参数?

请注意,在当前的 doxygen 中可以像这样记录函数参数:

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

如果没有,实施起来有多难? 如果你熟悉 doxygen 的内部结构,你能告诉我实现它的方向吗?

谢谢

【问题讨论】:

    标签: c++ templates documentation doxygen


    【解决方案1】:

    无法像您描述的那样记录模板参数。

    我会说这不是一个好主意,因为那样您会以不同于通常参数的方式记录模板参数,您为什么要这样做?

    通常是这样的:

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

    为什么?

    【讨论】:

    • 他也可以将每个常用参数放在一个新行上。
    • 是的,我也想放置这样的参数。我只是觉得它更容易阅读(在源代码中),因为参数是在声明之后记录的
    • 通过在代码中定义参数的位置记录参数,在添加新参数时忘记记录或在删除参数时忘记删除参数文档的风险显着降低.
    猜你喜欢
    • 2015-01-14
    • 2013-12-24
    • 2016-12-07
    • 2011-04-11
    • 2011-03-27
    • 2018-06-07
    • 2017-07-13
    • 2021-02-04
    相关资源
    最近更新 更多