如何仅强制提取特定的私有类成员
How to force extraction of only specific private class members?
我希望Doxygen只强制提取特定的私有类成员。我知道EXTRACT_PRIVATE
选项,但它提取了所有私人成员。我希望能够挑选和选择要提取的私有成员。
例如,如下所示:
class Foo {
private:
/** @forceextract
* @brief Something about this function.
*/
void foo1();
/** @brief Something about this other function.
*/
void foo2();
};
foo1()
的文档虽然是私有的,但foo2()
应该被提取。
可以这样做吗?
从这里开始,您可以使用标记的条件部分,然后不包括ENABLED_SECTIONS下的部分:
class Foo {
private:
/** @brief Blah blah blah */
void foo1();
/// @cond COND1
/** @brief This will be hidden! */
void foo2();
/** @brief So will this */
void foo3();
/** @brief This should be hidden too */
int fooInt;
/// @endcond
};
您不必向要包含的所有字段添加条件并将所有这些条件添加到已启用的部分列表中,只需将条件添加到不希望包含的字段即可。在此示例中,如果不将 COND1 添加到ENABLED_SECTIONS,则应遵循未设置 COND1 的事实,因此不会在文档中包含"foo2()"。确保仍设置EXTRACT_PRIVATE。
编辑:抱歉,我最初的回答是"包括"而不是"不包括"关于该部分。
我想出了一个有点迂回的替代方案。
class Foo {
#ifdef DOXYGEN_EXTRACT
public:
#else
private:
#endif
/** @forceextract
* @brief Something about this function.
*/
void foo1();
private:
/** @brief Something about this other function.
*/
void foo2();
};
然后在 Doxyfile 的 PREDEFINED
下定义DOXYGEN_EXTRACT
(或您喜欢的任何标签)。
一些限制/问题:
- 成员在输出中显示为
public
,而不是private
。 - 应记住为下一个成员显式指定访问说明符。
相关文章:
- 如何仅使用对象名称打印特定于对象的成员
- 仅使用结构名称访问结构成员
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- C++Union,两个活跃成员,仅简历资格不同
- 如何在C++中仅获取容器内类成员的迭代器
- '将成员函数仅添加到类的专用模板
- 是否可以将无符号字符数组reinterpret_cast到仅包含C++中无符号字符成员的结构指针
- 仅当构造函数具有参数时,C++ 公共成员才能访问
- 如何仅使用 c/python API 将 c++ 成员函数绑定到 python?
- 使用迭代器成员函数是否仅适用于某些向量类型"empty()"?
- 未定义的行为错误:对成员变量的更改仅在某些上下文中可见
- 如何进行编译时type_check并且仅在类成员的类型与类型匹配时才编译类的一部分?
- 仅在头文件中静态模板化成员函数的模板行为
- 仅调试成员
- 如何通过指针仅向结构的某些成员提供可变访问权限
- 非静态数据成员初始值设定项仅适用于 和动态内存
- '='应初始化所有枚举成员或仅初始化第一个枚举成员;
- 具有一个成员或仅typedef的结构
- 错误 strlen 不是 std 的成员,仅在 Linux 上而不是在 Solaris 上
- 模板类成员函数仅专用化