Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/QtCore/qtdeprecationmarkers.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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