Я пишу документацию для моего класса C ++, который наследуется от абстрактного класса, документация которого уже предоставляется извне через файл тегов.
Я не хочу переписывать документацию нескольких унаследованныхфункционирует так, как если бы это была просто копия-вставка абстрактных родительских функций.Однако после указания моего файла тегов в конфигурации Doxygen и включения INHERIT_DOCS
унаследованная документация все еще отсутствует ...
Я пропускаю какой-либо другой параметр или это может быть ограничением Doxygen?
Непосредственная обработка файла заголовка родительского абстрактного класса с помощью Doxygen работает как положено (документация включена в дочерний класс).Кроме того, удаление объявления унаследованной функции в моем дочернем классе добавит функцию в группу «Функции, унаследованные от ParentAbstractClass
» (но, очевидно, больше не компилируется).
Вот мое рабочее дерево:
<root>
+- ParentAbstractClass/
| +- html/
| |- ParentAbstractClass.tag
| |- ParentAbstractClass.hpp
+- ChildClass/
| +- html/
| |- ChildClass.hpp
|- Doxyfile_child
Содержание ParentAbstractClass.hpp
/**
* @brief Parent class
*/
class ParentAbstractClass{
public:
/**
* Inherited function
* @param[in] arg: input argument
*/
virtual void inheritedFunction(const int arg)=0;
};
Содержание ChildClass.hpp
#include "ParentAbstractClass.hpp"
/**
* @brief Child class
*/
class ChildClass : public ParentAbstractClass
{
public:
// Following function should inherit the documentation from its parent
virtual void inheritedFunction(const int arg);
};
И некоторые соответствующие (на мой взгляд) варианты в Doxyfile_child
:
OUTPUT_DIRECTORY = ChildClass
INHERIT_DOCS = YES
INLINE_INHERITED_MEMB = NO
TAGFILES = ParentAbstractClass/ParentAbstractClass.tag=../../ParentAbstractClass/html
Я использую Doxygen 1.8.14.