gpt4 book ai didi

c++ - 多氧 C++ : document privately inherited members exposed by the "using" declaration

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:47:03 25 4
gpt4 key购买 nike

例如,我有以下类:

class A {
public:
void methodOne();
}

class B : private A {
public:
/** Brief description.
*/
using A::methodOne;
}

我还没有找到强制 doxygen 获取文档 block 的方法。

作为约束,我有许多其他 doxygen 记录的私有(private)成员(也来自其他类),我不希望 doxygen 处理这些成员的文档 block ,所以 EXTRACT_PRIVATE 不是一个选项,即使如果使用像 \cond ...\endcond 这样的条件 block 。

我找到了一个 example可能有帮助的东西。它使用 INPUT_FILTER 配置变量有效地针对一些标记为私有(private)的成员,并在将文件提供给 doxygen 之前将它们的声明更改为公共(public)。不幸的是,这并不完全适用于我的情况,因为从技术上讲,该方法已经公开。

感谢您的帮助。

最佳答案

我也遇到了这个问题。一种解决方案,虽然相当难看,是在 Doxyfile 中设置 PREDEFINED 选项,并使用 #ifdef 预处理器指令在 Doxygen 生成时实际将成员函数添加到派生类文档。

例如,Doxyfile 包含:

PREDEFINED = _DOXYGEN_

源可以定义如下:

class A {
public:
void methodOne();
}

class B : private A {
public:
#ifdef _DOXYGEN_
/** Brief description.
*/
void methodOne();
#endif
using A::methodOne;
}

这很糟糕有几个原因,但最糟糕的部分是必须从基类复制函数声明,因此如果该声明发生变化,您需要记住更新派生类文档。

这是我想到的记录此类声明的唯一方法,因为 Doxygen 不支持此功能。

关于c++ - 多氧 C++ : document privately inherited members exposed by the "using" declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com