- Qt 5.15
- QDoc Manual
- C++ Specific Configuration Variables
- Qt 5.15.19 Reference Documentation

Creating Help Project Files ◦ Format-specific Configuration Variables

# 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.