Наследование групп кислорода - PullRequest
0 голосов
/ 17 июня 2019

Используя 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, которая содержит мою функцию, но оставляет пустую группу-член.

Этот вопрос кажется актуальным , но он возник несколько лет назад, и я не уверен, что с тех пор что-то изменилось.

Любая помощь приветствуется - в идеале переопределение должно отображаться в группе его базового класса, если оно не переопределено явно.Возможно, это поведение, и я ошибаюсь ...

...