为专业类声明Doxygen注释

时间:2014-03-20 12:41:30

标签: c++ templates doxygen

我有以下课程模板:

template<int N>
class A {
    virtual std::array<double, N> a(std::array<double, N> x) = 0
    virtual ~A() { }
}

以及以下模板专业化:

class B : public A<3> {
    std::array<double, 3> a(std::array<double, 3> x) {
        return std::array<double, 3>(); // Returns (0,0,0) for now
    }
}

我想用Doxygen记录这段代码。我已经为模板添加了一些文档,在查看A的文档时显示正常:

/**
 * @brief Calculate a vector quantity of length `N` based on another
 *
 * @param x The input vector
 * @return A `std::array<double, N>` with the calculated vector quantity
 */
 virtual std::array<double, N> a(std::array<double, N> x) = 0;

当我查看B的文档时,如果我展开“继承自A的公共成员函数”这一部分,它也会显示。

但是,我无法将其传播到B::a的文档 - 当我向下滚动页面时,该函数列出了一个新的签名(指定std::array<double, 3>而不是{{1}和所有其他未知的东西。如果我在N中为方法添加一些文档,这是无可置疑的。

对于非模板类,我没有问题让文档“传播”,以便界面中的参数文档等也显示为具体实现。有没有办法为模板及其专业化实现相同的目标?怎么样?

0 个答案:

没有答案