Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-18 09:26:49

0001 // Copyright (C) 2022 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 
0004 #ifndef QTDEPRECATIONMARKERS_H
0005 #define QTDEPRECATIONMARKERS_H
0006 
0007 #include <QtCore/qtconfigmacros.h>
0008 #include <QtCore/qtclasshelpermacros.h>
0009 #include <QtCore/qtdeprecationdefinitions.h>
0010 #include <QtCore/qtversionchecks.h>
0011 #include <QtCore/qcompilerdetection.h> // for Q_DECL_DEPRECATED
0012 
0013 #if 0
0014 #pragma qt_class(QtDeprecationMarkers)
0015 #pragma qt_sync_stop_processing
0016 #endif
0017 
0018 QT_BEGIN_NAMESPACE
0019 
0020 #if defined(QT_NO_DEPRECATED)
0021 #  undef QT_DEPRECATED
0022 #  undef QT_DEPRECATED_X
0023 #  undef QT_DEPRECATED_VARIABLE
0024 #  undef QT_DEPRECATED_CONSTRUCTOR
0025 #elif !defined(QT_NO_DEPRECATED_WARNINGS)
0026 #  undef QT_DEPRECATED
0027 #  define QT_DEPRECATED Q_DECL_DEPRECATED
0028 #  undef QT_DEPRECATED_X
0029 #  define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
0030 #  undef QT_DEPRECATED_VARIABLE
0031 #  define QT_DEPRECATED_VARIABLE Q_DECL_VARIABLE_DEPRECATED
0032 #  undef QT_DEPRECATED_CONSTRUCTOR
0033 #  define QT_DEPRECATED_CONSTRUCTOR Q_DECL_CONSTRUCTOR_DEPRECATED explicit
0034 #else
0035 #  undef QT_DEPRECATED
0036 #  define QT_DEPRECATED
0037 #  undef QT_DEPRECATED_X
0038 #  define QT_DEPRECATED_X(text)
0039 #  undef QT_DEPRECATED_VARIABLE
0040 #  define QT_DEPRECATED_VARIABLE
0041 #  undef QT_DEPRECATED_CONSTRUCTOR
0042 #  define QT_DEPRECATED_CONSTRUCTOR
0043 #  undef Q_DECL_ENUMERATOR_DEPRECATED
0044 #  define Q_DECL_ENUMERATOR_DEPRECATED
0045 #  undef Q_DECL_ENUMERATOR_DEPRECATED_X
0046 #  define Q_DECL_ENUMERATOR_DEPRECATED_X(ignored)
0047 #endif
0048 
0049 /*
0050     QT_DEPRECATED_SINCE(major, minor) evaluates as true if the Qt version is greater than
0051     the deprecation point specified.
0052 
0053     Use it to specify from which version of Qt a function or class has been deprecated
0054 
0055     Example:
0056         #if QT_DEPRECATED_SINCE(5,1)
0057             QT_DEPRECATED void deprecatedFunction(); //function deprecated since Qt 5.1
0058         #endif
0059 
0060 */
0061 #ifdef QT_DEPRECATED
0062 #define QT_DEPRECATED_SINCE(major, minor) (QT_VERSION_CHECK(major, minor, 0) > QT_DISABLE_DEPRECATED_UP_TO)
0063 #else
0064 #define QT_DEPRECATED_SINCE(major, minor) 0
0065 #endif
0066 
0067 /*
0068     QT_REMOVAL_QT{VER}_DEPRECATED_SINCE(major, minor)
0069 
0070     The macro should be used if the API is deprecated and should be removed
0071     in the {VER} major release.
0072 
0073     The \a major and \a minor parameters specify the deprecation version.
0074 
0075     For now, we provide the macros to remove the deprecated APIs in Qt 7
0076     and in Qt 8.
0077 
0078     Example:
0079 
0080     \code
0081     #if QT_REMOVAL_QT7_DEPRECATED_SINCE(6, 9)
0082         QT_DEPRECATED_VERSION_X_6_9("The reason for the deprecation")
0083         void deprecatedFunc();
0084     #endif
0085     \endcode
0086 
0087     The \c {deprecatedFunc()} function is deprecated since Qt 6.9, and will be
0088     completely removed in Qt 7.0.
0089 */
0090 #define QT_DEPRECATED_TO_BE_REMOVED_HELPER(dep_major, dep_minor, rem_major) \
0091     (QT_DEPRECATED_SINCE(dep_major, dep_minor) && (QT_VERSION < QT_VERSION_CHECK(rem_major, 0, 0)))
0092 
0093 // For APIs that should be removed in Qt 7
0094 #define QT_REMOVAL_QT7_DEPRECATED_SINCE(major, minor) \
0095     QT_DEPRECATED_TO_BE_REMOVED_HELPER(major, minor, 7)
0096 
0097 // For APIs that should be removed in Qt 8
0098 #define QT_REMOVAL_QT8_DEPRECATED_SINCE(major, minor) \
0099     QT_DEPRECATED_TO_BE_REMOVED_HELPER(major, minor, 8)
0100 
0101 /*
0102   QT_DEPRECATED_VERSION(major, minor) and QT_DEPRECATED_VERSION_X(major, minor, text)
0103   outputs a deprecation warning if QT_WARN_DEPRECATED_UP_TO is equal to or greater
0104   than the version specified as major, minor. This makes it possible to deprecate a
0105   function without annoying a user who needs to stay compatible with a specified minimum
0106   version and therefore can't use the new function.
0107 */
0108 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 12, 0)
0109 # define QT_DEPRECATED_VERSION_X_5_12(text) QT_DEPRECATED_X(text)
0110 # define QT_DEPRECATED_VERSION_5_12         QT_DEPRECATED
0111 #else
0112 # define QT_DEPRECATED_VERSION_X_5_12(text)
0113 # define QT_DEPRECATED_VERSION_5_12
0114 #endif
0115 
0116 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 13, 0)
0117 # define QT_DEPRECATED_VERSION_X_5_13(text) QT_DEPRECATED_X(text)
0118 # define QT_DEPRECATED_VERSION_5_13         QT_DEPRECATED
0119 #else
0120 # define QT_DEPRECATED_VERSION_X_5_13(text)
0121 # define QT_DEPRECATED_VERSION_5_13
0122 #endif
0123 
0124 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 14, 0)
0125 # define QT_DEPRECATED_VERSION_X_5_14(text) QT_DEPRECATED_X(text)
0126 # define QT_DEPRECATED_VERSION_5_14         QT_DEPRECATED
0127 #else
0128 # define QT_DEPRECATED_VERSION_X_5_14(text)
0129 # define QT_DEPRECATED_VERSION_5_14
0130 #endif
0131 
0132 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 15, 0)
0133 # define QT_DEPRECATED_VERSION_X_5_15(text) QT_DEPRECATED_X(text)
0134 # define QT_DEPRECATED_VERSION_5_15         QT_DEPRECATED
0135 #else
0136 # define QT_DEPRECATED_VERSION_X_5_15(text)
0137 # define QT_DEPRECATED_VERSION_5_15
0138 #endif
0139 
0140 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 0, 0)
0141 # define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
0142 # define QT_DEPRECATED_VERSION_6_0         QT_DEPRECATED
0143 #else
0144 # define QT_DEPRECATED_VERSION_X_6_0(text)
0145 # define QT_DEPRECATED_VERSION_6_0
0146 #endif
0147 
0148 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 1, 0)
0149 # define QT_DEPRECATED_VERSION_X_6_1(text) QT_DEPRECATED_X(text)
0150 # define QT_DEPRECATED_VERSION_6_1         QT_DEPRECATED
0151 #else
0152 # define QT_DEPRECATED_VERSION_X_6_1(text)
0153 # define QT_DEPRECATED_VERSION_6_1
0154 #endif
0155 
0156 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 2, 0)
0157 # define QT_DEPRECATED_VERSION_X_6_2(text) QT_DEPRECATED_X(text)
0158 # define QT_DEPRECATED_VERSION_6_2         QT_DEPRECATED
0159 #else
0160 # define QT_DEPRECATED_VERSION_X_6_2(text)
0161 # define QT_DEPRECATED_VERSION_6_2
0162 #endif
0163 
0164 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 3, 0)
0165 # define QT_DEPRECATED_VERSION_X_6_3(text) QT_DEPRECATED_X(text)
0166 # define QT_DEPRECATED_VERSION_6_3         QT_DEPRECATED
0167 #else
0168 # define QT_DEPRECATED_VERSION_X_6_3(text)
0169 # define QT_DEPRECATED_VERSION_6_3
0170 #endif
0171 
0172 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 4, 0)
0173 # define QT_DEPRECATED_VERSION_X_6_4(text) QT_DEPRECATED_X(text)
0174 # define QT_DEPRECATED_VERSION_6_4         QT_DEPRECATED
0175 #else
0176 # define QT_DEPRECATED_VERSION_X_6_4(text)
0177 # define QT_DEPRECATED_VERSION_6_4
0178 #endif
0179 
0180 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 5, 0)
0181 # define QT_DEPRECATED_VERSION_X_6_5(text) QT_DEPRECATED_X(text)
0182 # define QT_DEPRECATED_VERSION_6_5         QT_DEPRECATED
0183 #else
0184 # define QT_DEPRECATED_VERSION_X_6_5(text)
0185 # define QT_DEPRECATED_VERSION_6_5
0186 #endif
0187 
0188 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 6, 0)
0189 # define QT_DEPRECATED_VERSION_X_6_6(text) QT_DEPRECATED_X(text)
0190 # define QT_DEPRECATED_VERSION_6_6         QT_DEPRECATED
0191 #else
0192 # define QT_DEPRECATED_VERSION_X_6_6(text)
0193 # define QT_DEPRECATED_VERSION_6_6
0194 #endif
0195 
0196 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 7, 0)
0197 # define QT_DEPRECATED_VERSION_X_6_7(text) QT_DEPRECATED_X(text)
0198 # define QT_DEPRECATED_VERSION_6_7         QT_DEPRECATED
0199 #else
0200 # define QT_DEPRECATED_VERSION_X_6_7(text)
0201 # define QT_DEPRECATED_VERSION_6_7
0202 #endif
0203 
0204 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 8, 0)
0205 # define QT_DEPRECATED_VERSION_X_6_8(text) QT_DEPRECATED_X(text)
0206 # define QT_DEPRECATED_VERSION_6_8         QT_DEPRECATED
0207 #else
0208 # define QT_DEPRECATED_VERSION_X_6_8(text)
0209 # define QT_DEPRECATED_VERSION_6_8
0210 #endif
0211 
0212 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 9, 0)
0213 # define QT_DEPRECATED_VERSION_X_6_9(text) QT_DEPRECATED_X(text)
0214 # define QT_DEPRECATED_VERSION_6_9         QT_DEPRECATED
0215 #else
0216 # define QT_DEPRECATED_VERSION_X_6_9(text)
0217 # define QT_DEPRECATED_VERSION_6_9
0218 #endif
0219 
0220 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 10, 0)
0221 # define QT_DEPRECATED_VERSION_X_6_10(text) QT_DEPRECATED_X(text)
0222 # define QT_DEPRECATED_VERSION_6_10         QT_DEPRECATED
0223 #else
0224 # define QT_DEPRECATED_VERSION_X_6_10(text)
0225 # define QT_DEPRECATED_VERSION_6_10
0226 #endif
0227 
0228 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 11, 0)
0229 # define QT_DEPRECATED_VERSION_X_6_11(text) QT_DEPRECATED_X(text)
0230 # define QT_DEPRECATED_VERSION_6_11         QT_DEPRECATED
0231 #else
0232 # define QT_DEPRECATED_VERSION_X_6_11(text)
0233 # define QT_DEPRECATED_VERSION_6_11
0234 #endif
0235 
0236 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 12, 0)
0237 # define QT_DEPRECATED_VERSION_X_6_12(text) QT_DEPRECATED_X(text)
0238 # define QT_DEPRECATED_VERSION_6_12         QT_DEPRECATED
0239 #else
0240 # define QT_DEPRECATED_VERSION_X_6_12(text)
0241 # define QT_DEPRECATED_VERSION_6_12
0242 #endif
0243 
0244 #if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 13, 0)
0245 # define QT_DEPRECATED_VERSION_X_6_13(text) QT_DEPRECATED_X(text)
0246 # define QT_DEPRECATED_VERSION_6_13         QT_DEPRECATED
0247 #else
0248 # define QT_DEPRECATED_VERSION_X_6_13(text)
0249 # define QT_DEPRECATED_VERSION_6_13
0250 #endif
0251 
0252 #define QT_DEPRECATED_VERSION_X_5(minor, text)      QT_DEPRECATED_VERSION_X_5_##minor(text)
0253 #define QT_DEPRECATED_VERSION_X(major, minor, text) QT_DEPRECATED_VERSION_X_##major##_##minor(text)
0254 
0255 #define QT_DEPRECATED_VERSION_5(minor)      QT_DEPRECATED_VERSION_5_##minor
0256 #define QT_DEPRECATED_VERSION(major, minor) QT_DEPRECATED_VERSION_##major##_##minor
0257 
0258 /*
0259     QT_IF_DEPRECATED_SINCE(major, minor, whenTrue, whenFalse) expands to
0260     \a whenTrue if the specified (\a major, \a minor) version is less than or
0261     equal to the deprecation version defined by QT_DISABLE_DEPRECATED_UP_TO,
0262     and to \a whenFalse otherwise.
0263 
0264     Currently used for QT_INLINE_SINCE(maj, min), but can also be helpful for
0265     other macros of that kind.
0266 
0267     The implementation uses QT_DEPRECATED_SINCE(maj, min) to define a bunch of
0268     helper QT_IF_DEPRECATED_SINCE_X_Y macros, which expand to \a whenTrue or
0269     \a whenFalse depending on the value of QT_DEPRECATED_SINCE.
0270 
0271     If you need to use QT_IF_DEPRECATED_SINCE() for a (major, minor) version,
0272     that is not yet covered by the list below, you need to copy the definition
0273     and change the major and minor versions accordingly. For example, for
0274     version (X, Y), you will need to add
0275 
0276     \code
0277     #if QT_DEPRECATED_SINCE(X, Y)
0278     # define QT_IF_DEPRECATED_SINCE_X_Y(whenTrue, whenFalse) whenFalse
0279     #else
0280     # define QT_IF_DEPRECATED_SINCE_X_Y(whenTrue, whenFalse) whenTrue
0281     #endif
0282     \endcode
0283 */
0284 
0285 #define QT_IF_DEPRECATED_SINCE(major, minor, whenTrue, whenFalse) \
0286     QT_IF_DEPRECATED_SINCE_ ## major ## _ ## minor(whenTrue, whenFalse)
0287 
0288 #if QT_DEPRECATED_SINCE(6, 0)
0289 # define QT_IF_DEPRECATED_SINCE_6_0(whenTrue, whenFalse) whenFalse
0290 #else
0291 # define QT_IF_DEPRECATED_SINCE_6_0(whenTrue, whenFalse) whenTrue
0292 #endif
0293 
0294 #if QT_DEPRECATED_SINCE(6, 1)
0295 # define QT_IF_DEPRECATED_SINCE_6_1(whenTrue, whenFalse) whenFalse
0296 #else
0297 # define QT_IF_DEPRECATED_SINCE_6_1(whenTrue, whenFalse) whenTrue
0298 #endif
0299 
0300 #if QT_DEPRECATED_SINCE(6, 2)
0301 # define QT_IF_DEPRECATED_SINCE_6_2(whenTrue, whenFalse) whenFalse
0302 #else
0303 # define QT_IF_DEPRECATED_SINCE_6_2(whenTrue, whenFalse) whenTrue
0304 #endif
0305 
0306 #if QT_DEPRECATED_SINCE(6, 3)
0307 # define QT_IF_DEPRECATED_SINCE_6_3(whenTrue, whenFalse) whenFalse
0308 #else
0309 # define QT_IF_DEPRECATED_SINCE_6_3(whenTrue, whenFalse) whenTrue
0310 #endif
0311 
0312 #if QT_DEPRECATED_SINCE(6, 4)
0313 # define QT_IF_DEPRECATED_SINCE_6_4(whenTrue, whenFalse) whenFalse
0314 #else
0315 # define QT_IF_DEPRECATED_SINCE_6_4(whenTrue, whenFalse) whenTrue
0316 #endif
0317 
0318 #if QT_DEPRECATED_SINCE(6, 5)
0319 # define QT_IF_DEPRECATED_SINCE_6_5(whenTrue, whenFalse) whenFalse
0320 #else
0321 # define QT_IF_DEPRECATED_SINCE_6_5(whenTrue, whenFalse) whenTrue
0322 #endif
0323 
0324 #if QT_DEPRECATED_SINCE(6, 6)
0325 # define QT_IF_DEPRECATED_SINCE_6_6(whenTrue, whenFalse) whenFalse
0326 #else
0327 # define QT_IF_DEPRECATED_SINCE_6_6(whenTrue, whenFalse) whenTrue
0328 #endif
0329 
0330 #if QT_DEPRECATED_SINCE(6, 7)
0331 # define QT_IF_DEPRECATED_SINCE_6_7(whenTrue, whenFalse) whenFalse
0332 #else
0333 # define QT_IF_DEPRECATED_SINCE_6_7(whenTrue, whenFalse) whenTrue
0334 #endif
0335 
0336 #if QT_DEPRECATED_SINCE(6, 8)
0337 # define QT_IF_DEPRECATED_SINCE_6_8(whenTrue, whenFalse) whenFalse
0338 #else
0339 # define QT_IF_DEPRECATED_SINCE_6_8(whenTrue, whenFalse) whenTrue
0340 #endif
0341 
0342 #if QT_DEPRECATED_SINCE(6, 9)
0343 # define QT_IF_DEPRECATED_SINCE_6_9(whenTrue, whenFalse) whenFalse
0344 #else
0345 # define QT_IF_DEPRECATED_SINCE_6_9(whenTrue, whenFalse) whenTrue
0346 #endif
0347 
0348 #if QT_DEPRECATED_SINCE(6, 10)
0349 # define QT_IF_DEPRECATED_SINCE_6_10(whenTrue, whenFalse) whenFalse
0350 #else
0351 # define QT_IF_DEPRECATED_SINCE_6_10(whenTrue, whenFalse) whenTrue
0352 #endif
0353 
0354 #if QT_DEPRECATED_SINCE(6, 11)
0355 # define QT_IF_DEPRECATED_SINCE_6_11(whenTrue, whenFalse) whenFalse
0356 #else
0357 # define QT_IF_DEPRECATED_SINCE_6_11(whenTrue, whenFalse) whenTrue
0358 #endif
0359 
0360 #if QT_DEPRECATED_SINCE(6, 12)
0361 # define QT_IF_DEPRECATED_SINCE_6_12(whenTrue, whenFalse) whenFalse
0362 #else
0363 # define QT_IF_DEPRECATED_SINCE_6_12(whenTrue, whenFalse) whenTrue
0364 #endif
0365 
0366 #if QT_DEPRECATED_SINCE(6, 13)
0367 # define QT_IF_DEPRECATED_SINCE_6_13(whenTrue, whenFalse) whenFalse
0368 #else
0369 # define QT_IF_DEPRECATED_SINCE_6_13(whenTrue, whenFalse) whenTrue
0370 #endif
0371 
0372 #ifdef __cplusplus
0373 // A tag to help mark stuff deprecated (cf. QStringViewLiteral)
0374 namespace QtPrivate {
0375 inline QT_DEFINE_TAG(Deprecated);
0376 }
0377 #endif
0378 
0379 #ifdef QT_ASCII_CAST_WARNINGS
0380 #  define QT_ASCII_CAST_WARN \
0381     Q_DECL_DEPRECATED_X("Use fromUtf8, QStringLiteral, or QLatin1StringView")
0382 #else
0383 #  define QT_ASCII_CAST_WARN
0384 #endif
0385 
0386 QT_END_NAMESPACE
0387 
0388 #endif // QTDEPRECATIONMARKERS_H