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.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.