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