【发布时间】:2021-05-29 15:47:27
【问题描述】:
我正在实现由 CRTP 派生的类。这需要在需要时进行函数专门化。现在,对于派生类中的特定专业化,我想在“全局”接口函数的文档字符串中添加一些内容。我该怎么做(使用 doxygen 1.9.1)?
示例
考虑这个例子:
template <class D>
class CommonInterface
{
public:
/**
\brief My common function description.
*/
void foo()
{
static_cast<D*>(this)->foo_impl();
}
};
class A : public CommonInterface<A>
{
public:
A() = default;
private:
void foo_impl() {};
friend class CommonInterface<A>;
};
A::foo() 在A 的文档中显示为CommonInterface<D>::foo 的派生方法。现在,我想为 foo 方法添加一些文档,这些文档仅在 class A 的文档中可见,而在 class CommonInterface 的文档中不可见。
我不想:
- 重写函数,而是专门使用 CRTP 来避免重写,因为我使用模板化的“重写”。
- 文档
foo_impl(),因为它在公共文档中没有任何意义。
【问题讨论】:
-
您的意思是要为方法 foo 添加一些仅在 A 类的文档中可见但在 CommonInterface 类的文档中不可见的文档?
-
@albert 是的,这正是我的意思!我根据你的公式进行了编辑,比我的要好得多。
标签: doxygen