Исключить некоторые классы из документации на кислород

Я создаю проект на основе Qt, и многие классы Qt находятся в целевой документации.

Как я могу сказать Doxygen отключить создание документации для некоторых классов? Для Q. *?

Ответы

Ответ 1

Работа в предположении, что у вас есть что-то вроде этого: (Вопрос в этом отношении немного неясен)

/**
 * Some documentation for class X
 */
class X: public osg::Drawable {
...
}

И ваша проблема заключается в том, что вы хотите включить документацию для класса X, но не для класса osg::Drawable, правильная техника - использовать EXCLUDE_SYMBOLS. Например, в приведенном выше примере используйте

EXCLUDE_SYMBOLS = osg::Drawable

Если вы хотите быть немного более строгим, вы можете использовать

EXCLUDE_SYMBOLS = osg::Drawable \
                  Drawable

Также разрешены Wild-карты, поэтому это также будет работать

EXCLUDE_SYMBOLS = osg::*

Ответ 2

Если тэг \internal не работает, вы можете попробовать теги \cond ... \endcond для маркировки части кода, которая должна быть скрыта от Doxygen.

ИЗМЕНИТЬ

Если вы хотите исключить определенные файлы, вы можете использовать переменную EXCLUDE_PATTERNS в файле конфигурации Doxyfile.

Ответ 3

Это не лучший способ, но можно отметить часть документации (класс, члены,...) с помощью private. Это предотвращает включение части кода в выходную документацию. (Я использую это, чтобы скрыть конструкторы/операторы копирования/перемещения из документации API.)

/*!
 * \brief This is included.
 */
class API
{
public:
    /*!
     * \brief So is this.
     */
    API() noexcept;
    /// \private
    ~API() noexcept; /* But this not, though technically public. */
private:
    int m_version; /* This is not either. */
}

Следует отметить, что это расширение Doxygen для PHP, которое, согласно документации, не должно использоваться.

Для файлов PHP существует ряд дополнительных команд, которые могут использоваться внутри классов, чтобы сделать их общедоступными, частными или защищенными, даже если сам язык не поддерживает это понятие.

Другой вариант - использовать решение mouviciel, но для этого требуется не менее двух строк.


Хотя не правильный ответ на подробный вопрос, это может быть полезно для читателей названия вопроса (например, я). Он тоже работает для класа!