继承doxygen成员组

时间:2019-06-17 20:19:20

标签: c++ doxygen

使用INHERIT_DOCS,我可以将文档的抽象基类函数复制到派生类文档中。

但是,我已经将抽象函数添加到成员组中,而成员组确实出现在派生类文档中时,它们却显示为空。重写的函数出现在派生类文档的“公共成员函数”部分中。

这是一个代码示例,我使用默认生成的Doxyfile(使用Doxygen 1.8.15)运行:

//! Base class.
class BaseClass
{
public:
    //! @name funcGroup
    //@{

    //! absFunc brief.
    virtual void absFunc () = 0;

    //@}
};

//! Derived class 1.
class DerivedClass1 : public BaseClass
{
public:
    void absFunc () override {}
};

尽管DerivedClass1::absFunc成员组确实出现在文档中,但结果是BaseClass::absFunc包含funcGroup的简介,但不在funcGroup成员组中。

enter image description here

我使用SUBGROUPING,INLINE_GROUPED_CLASSES,DISTRIBUTE_GROUP_DOC和GROUP_NESTED_COMPOUNDS设置都没有成功。其实我都可以

  • 出现在基类组中的替代函数,或
  • 根本不出现基类组

但是让他们空组很烦人。

这是我尝试过的其他一些方法,但没有成功:

//! Derived class 2.
class DerivedClass2 : public BaseClass
{
public:
    //! \ingroup funcGroup
    void absFunc () override {}
};

//! Derived class 3.
class DerivedClass3 : public BaseClass
{
public:
    //! \addtogroup funcGroup
    void absFunc () override {}
};

//! Derived class 4.
class DerivedClass4 : public BaseClass
{
public:
    //! @name funcGroup
    //! A description of the group.
    //! @{

    void absFunc () override {}

    //! @}
};

最后一个变体创建了另一个名为funcGroup的成员组,该成员组包含我的函数,但保留了空的成员组。

This question seems relevant,但这是几年前的事,我不确定此后是否有任何变化。

任何帮助将不胜感激-理想情况下,除非明确覆盖,否则覆盖将出现在其基类的组中。也许这就是行为,我正在犯一个错误...

0 个答案:

没有答案