C++ Specific Configuration Variables
The C++ specific configuration variables are provided to avoid erroneous documentation due to non-standard C++ constructs.
Cpp.ignoredirectives
The 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.
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.ignoretokens
The 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 qtgui.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.