1

我希望 Doxygen 仅强制提取特定的私有类成员。我知道这个EXTRACT_PRIVATE选项,但它会提取所有私人成员。我希望能够挑选我想要提取的私人成员。

例如,如下所示:

class Foo {
private:
  /** @forceextract
    * @brief Something about this function.
    */
  void foo1();

  /** @brief Something about this other function.
    */
  void foo2();
};

foo1()的文档虽然是私有的,但foo2()应该被提取出来,但应该不理会。

是否有可能做到这一点?

4

2 回答 2

0

这里获取,您可以使用标记的条件部分,然后包括 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。

编辑:对不起,关于该部分,我的原始答案是“包含”而不是“不包含”。

于 2013-11-08T06:38:36.497 回答
0

我想出了一个有点迂回的替代方案。

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 中定义DOXYGEN_EXTRACT(或您喜欢的任何标签) 。PREDEFINED

几个限制/问题:

  • 成员public在输出中显示,而不是private
  • 您应该记住为下一个成员显式指定访问说明符。
于 2013-11-08T07:59:00.620 回答