举个例子,我有以下几个类:
class A {
public:
void methodOne();
}
class B : private A {
public:
/** Brief description.
*/
using A::methodOne;
}
我还没有找到一种强制doxygen来获取文档块的方法。
作为约束我还有很多其他的doxygen记录的私有成员(来自其他类)我不想让doxygen处理文档块,所以 EXTRACT_PRIVATE 不是一个选项,甚至如果使用条件块,如 \ cond ... \ endcond 。
我找到了example可能有用的东西。它使用 INPUT_FILTER 配置变量有效地定位一些标记的私有成员,并在将文件提供给doxygen之前将其声明更改为public。不幸的是,这并不适用于我的情况,因为该方法在技术上已经被公开。
感谢您的帮助。
答案 0 :(得分:0)
我也遇到了这个问题。一种解决方案虽然很丑陋,但它是在Doxyfile中设置PREDEFINED
选项,并在Doxygen生成文档时使用#ifdef
预处理程序指令将成员函数实际添加到派生类中。
例如,使用包含以下内容的Doxyfile:
PREDEFINED = _DOXYGEN_
源可以定义如下:
class A {
public:
void methodOne();
}
class B : private A {
public:
#ifdef _DOXYGEN_
/** Brief description.
*/
void methodOne();
#endif
using A::methodOne;
}
这很糟糕,原因有几个,但是最糟糕的部分是必须从基类中复制函数声明,因此,如果该声明发生更改,则需要记住更新派生类文档。
这是我想到的记录此类声明的唯一方法,因为Doxygen不支持此功能。