C++ Specific Configuration VariablesThe C++ specific configuration variables are provided to avoid erroneous documentation due to non-standard C++ constructs. Cpp.ignoredirectivesThe Cpp.ignoredirectives variable makes QDoc ignore the specified non-standard constructs, within C++ source code. If not specified by the Cpp.ignoretokens or Cpp.ignoredirectives variables, non-standard constructs (typically macros) can result in erroneous documentation. In qt.qdocconf: 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__ makes sure that when processing the code below, for example, QDoc will simply ignore the 'Q_ENUMS' and 'Q_FLAGS' expressions: 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: ... }; The Q_OBJECT macro, however, is an exception: QDoc recognizes this particular non-standard construct, so there is no need specifying it using the Cpp.ignoredirectives variable. Regarding the Q_CORE_EXPORT macro; see the documentation of the Cpp.ignoretokens variable. See also Cpp.ignoretokens. Cpp.ignoretokensThe Cpp.ignoretokens variable makes QDoc ignore the specified non-standard constructs, within C++ source code. If not specified by the Cpp.ignoretokens or Cpp.ignoredirectives variables, non-standard constructs (typically macros) can result in erroneous documentation. In qt.qdocconf: Cpp.ignoretokens = QAXFACTORY_EXPORT \ QM_EXPORT_CANVAS \ ... Q_COMPAT_EXPORT \ Q_CORE_EXPORT \ Q_EXPLICIT \ Q_EXPORT \ ... Q_XML_EXPORT makes sure that when processing the code below, for example, QDoc will simply ignore the 'Q_CORE_EXPORT' expression: 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: ... }; Regarding the Q_OBJECT, Q_ENUMS and Q_FLAGS macros; see the documentation of the Cpp.ignoredirectives variable. See also Cpp.ignoredirectives. |