From 0508839f7e8e24eb6fd632a928d15a8ab5369f2e Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Mon, 6 May 2024 11:55:20 +0200 Subject: [PATCH] Docs: fix QT_NO_FOREACH/KEYWORDS macro documentation QT_NO_FOREACH didn't related to anything so the documentation wasn't generated, and QT_NO_KEYWORDS wasn't documented but referenced. Conflict resolution: include relevant documentation that was added in 3a6c8e02b6d1b0574da52b0087092d0c74aa92c1 as well. Change-Id: I7b79e61519c186d10f8e8c674705adb3d10bd53a Reviewed-by: Venugopal Shivashankar (cherry picked from commit fd6cfd22831c6ff7078bb97e62439375cfc849f6) Reviewed-by: Volker Hilsheimer --- src/corelib/doc/src/foreach-keyword.qdoc | 14 ++++++++++++++ src/corelib/global/qglobal.cpp | 13 +++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/corelib/doc/src/foreach-keyword.qdoc b/src/corelib/doc/src/foreach-keyword.qdoc index e0109f1f0ce..6aa21d58805 100644 --- a/src/corelib/doc/src/foreach-keyword.qdoc +++ b/src/corelib/doc/src/foreach-keyword.qdoc @@ -73,4 +73,18 @@ \c foreach would not. But using \c foreach always copies the container, which is usually not cheap for STL containers. If in doubt, prefer \c foreach for Qt containers, and range based \c for for STL ones. + + You can remove the availability of the Qt's \c foreach loop by + defining the \c{QT_NO_FOREACH} macro. +*/ + +/*! + \macro QT_NO_FOREACH + \since 6.0 + \relates + + Defining this macro removes the availability of Qt's \c foreach + loop. + + \sa QT_NO_KEYWORDS */ diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index cddf446392e..304f4fb2e51 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -213,6 +213,19 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters) return false; } +/*! + \macro QT_NO_KEYWORDS + \relates + + Define this macro to disable the Qt-specific keywords that are usually enabled, + such as \c signals and \c slots. Use \c Q_SIGNALS and \c Q_SLOTS instead. + + Libraries should define this macro to make sure that they don't use the generic + keywords without the \c Q_ prefix in their public headers. + + \sa QT_NO_FOREACH +*/ + /*! \macro QT_NAMESPACE \internal