Spec-Zone.ru › Qt 5.11

C++ Специфические переменные конфигурации

Переменные конфигурации, специфичные для C++, предоставляются для предотвращения ошибочной документации из-за нестандартных конструкций C++.

Cpp.ignoredirectives

Переменная Cpp.ignoredirectives заставляет QDoc игнорировать указанные нестандартные конструкции в исходном коде C++.

Если не указано переменными Cpp.ignoretokens или Cpp.ignoredirectives, нестандартные конструкции (обычно макросы) могут привести к ошибочной документации.

Cpp.ignoredirectives = Q_DECLARE_INTERFACE \
                       Q_DECLARE_OPERATORS_FOR_FLAGS \
                       Q_DECLARE_PRIVATE \
                       Q_DECLARE_PUBLIC \
                       Q_DISABLE_COPY \
                       Q_DUMMY_COMPARISON_OPERATOR \
                       Q_ENUMS \
                       Q_FLAGS \
                       Q_INTERFACES \
                       __attribute__

Это гарантирует, что при обработке кода ниже, например, QDoc просто проигнорирует выражения 'Q_ENUMS' и 'Q_FLAGS':

class Q_CORE_EXPORT Qt {
    Q_OBJECT
    Q_ENUMS(Orientation TextFormat BackgroundMode
            DateFormat ScrollBarPolicy FocusPolicy
            ContextMenuPolicy CaseSensitivity
            LayoutDirection ArrowType)
    Q_ENUMS(ToolButtonStyle)
    Q_FLAGS(Alignment)
    Q_FLAGS(Orientations)
    Q_FLAGS(DockWidgetAreas)

  public:
    ...
};

Макрос Q_OBJECT, однако, является исключением: QDoc распознает эту конкретную нестандартную конструкцию, поэтому нет необходимости указывать её с помощью переменной Cpp.ignoredirectives.

Что касается макроса Q_CORE_EXPORT, см. документацию переменной Cpp.ignoretokens.

См. также Cpp.ignoretokens.

Cpp.ignoretokens

Переменная Cpp.ignoretokens заставляет QDoc игнорировать указанные нестандартные конструкции в исходном коде C++.

Если не указано переменными Cpp.ignoretokens или Cpp.ignoredirectives, нестандартные конструкции (обычно макросы) могут привести к ошибочной документации.

В файле qtgui.qdocconf:

Cpp.ignoretokens = QAXFACTORY_EXPORT \
                   QM_EXPORT_CANVAS \
                   ...
                   Q_COMPAT_EXPORT \
                   Q_CORE_EXPORT \
                   Q_EXPLICIT \
                   Q_EXPORT \
                   ...
                   Q_XML_EXPORT

Это гарантирует, что при обработке кода ниже, например, QDoc просто проигнорирует выражение 'Q_CORE_EXPORT':

class Q_CORE_EXPORT Qt {
    Q_OBJECT
    Q_ENUMS(Orientation TextFormat BackgroundMode
            DateFormat ScrollBarPolicy FocusPolicy
            ContextMenuPolicy CaseSensitivity
            LayoutDirection ArrowType)
    Q_ENUMS(ToolButtonStyle)
    Q_FLAGS(Alignment)
    Q_FLAGS(Orientations)
    Q_FLAGS(DockWidgetAreas)
  public:
    ...
};

Что касается макросов Q_OBJECT, Q_ENUMS и Q_FLAGS, см. документацию переменной Cpp.ignoredirectives.

См. также Cpp.ignoredirectives.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/23-qdoc-configuration-cppvariables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API