Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtdeprecationmarkers.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QTDEPRECATIONMARKERS_H
5#define QTDEPRECATIONMARKERS_H
6
7#include <QtCore/qtconfigmacros.h>
8#include <QtCore/qtdeprecationdefinitions.h>
9#include <QtCore/qtversionchecks.h>
10#include <QtCore/qcompilerdetection.h> // for Q_DECL_DEPRECATED
11
12#if 0
13#pragma qt_class(QtDeprecationMarkers)
14#pragma qt_sync_stop_processing
15#endif
16
18
19#if defined(QT_NO_DEPRECATED)
20# undef QT_DEPRECATED
21# undef QT_DEPRECATED_X
22# undef QT_DEPRECATED_VARIABLE
23# undef QT_DEPRECATED_CONSTRUCTOR
24#elif !defined(QT_NO_DEPRECATED_WARNINGS)
25# undef QT_DEPRECATED
26# define QT_DEPRECATED Q_DECL_DEPRECATED
27# undef QT_DEPRECATED_X
28# define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
29# undef QT_DEPRECATED_VARIABLE
30# define QT_DEPRECATED_VARIABLE Q_DECL_VARIABLE_DEPRECATED
31# undef QT_DEPRECATED_CONSTRUCTOR
32# define QT_DEPRECATED_CONSTRUCTOR Q_DECL_CONSTRUCTOR_DEPRECATED explicit
33#else
34# undef QT_DEPRECATED
35# define QT_DEPRECATED
36# undef QT_DEPRECATED_X
37# define QT_DEPRECATED_X(text)
38# undef QT_DEPRECATED_VARIABLE
39# define QT_DEPRECATED_VARIABLE
40# undef QT_DEPRECATED_CONSTRUCTOR
41# define QT_DEPRECATED_CONSTRUCTOR
42# undef Q_DECL_ENUMERATOR_DEPRECATED
43# define Q_DECL_ENUMERATOR_DEPRECATED
44# undef Q_DECL_ENUMERATOR_DEPRECATED_X
45# define Q_DECL_ENUMERATOR_DEPRECATED_X(ignored)
46#endif
47
48/*
49 QT_DEPRECATED_SINCE(major, minor) evaluates as true if the Qt version is greater than
50 the deprecation point specified.
51
52 Use it to specify from which version of Qt a function or class has been deprecated
53
54 Example:
55 #if QT_DEPRECATED_SINCE(5,1)
56 QT_DEPRECATED void deprecatedFunction(); //function deprecated since Qt 5.1
57 #endif
58
59*/
60#ifdef QT_DEPRECATED
61#define QT_DEPRECATED_SINCE(major, minor) (QT_VERSION_CHECK(major, minor, 0) > QT_DISABLE_DEPRECATED_UP_TO)
62#else
63#define QT_DEPRECATED_SINCE(major, minor) 0
64#endif
65
66/*
67 QT_DEPRECATED_VERSION(major, minor) and QT_DEPRECATED_VERSION_X(major, minor, text)
68 outputs a deprecation warning if QT_WARN_DEPRECATED_UP_TO is equal to or greater
69 than the version specified as major, minor. This makes it possible to deprecate a
70 function without annoying a user who needs to stay compatible with a specified minimum
71 version and therefore can't use the new function.
72*/
73#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 12, 0)
74# define QT_DEPRECATED_VERSION_X_5_12(text) QT_DEPRECATED_X(text)
75# define QT_DEPRECATED_VERSION_5_12 QT_DEPRECATED
76#else
77# define QT_DEPRECATED_VERSION_X_5_12(text)
78# define QT_DEPRECATED_VERSION_5_12
79#endif
80
81#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 13, 0)
82# define QT_DEPRECATED_VERSION_X_5_13(text) QT_DEPRECATED_X(text)
83# define QT_DEPRECATED_VERSION_5_13 QT_DEPRECATED
84#else
85# define QT_DEPRECATED_VERSION_X_5_13(text)
86# define QT_DEPRECATED_VERSION_5_13
87#endif
88
89#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 14, 0)
90# define QT_DEPRECATED_VERSION_X_5_14(text) QT_DEPRECATED_X(text)
91# define QT_DEPRECATED_VERSION_5_14 QT_DEPRECATED
92#else
93# define QT_DEPRECATED_VERSION_X_5_14(text)
94# define QT_DEPRECATED_VERSION_5_14
95#endif
96
97#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(5, 15, 0)
98# define QT_DEPRECATED_VERSION_X_5_15(text) QT_DEPRECATED_X(text)
99# define QT_DEPRECATED_VERSION_5_15 QT_DEPRECATED
100#else
101# define QT_DEPRECATED_VERSION_X_5_15(text)
102# define QT_DEPRECATED_VERSION_5_15
103#endif
104
105#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 0, 0)
106# define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text)
107# define QT_DEPRECATED_VERSION_6_0 QT_DEPRECATED
108#else
109# define QT_DEPRECATED_VERSION_X_6_0(text)
110# define QT_DEPRECATED_VERSION_6_0
111#endif
112
113#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 1, 0)
114# define QT_DEPRECATED_VERSION_X_6_1(text) QT_DEPRECATED_X(text)
115# define QT_DEPRECATED_VERSION_6_1 QT_DEPRECATED
116#else
117# define QT_DEPRECATED_VERSION_X_6_1(text)
118# define QT_DEPRECATED_VERSION_6_1
119#endif
120
121#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 2, 0)
122# define QT_DEPRECATED_VERSION_X_6_2(text) QT_DEPRECATED_X(text)
123# define QT_DEPRECATED_VERSION_6_2 QT_DEPRECATED
124#else
125# define QT_DEPRECATED_VERSION_X_6_2(text)
126# define QT_DEPRECATED_VERSION_6_2
127#endif
128
129#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 3, 0)
130# define QT_DEPRECATED_VERSION_X_6_3(text) QT_DEPRECATED_X(text)
131# define QT_DEPRECATED_VERSION_6_3 QT_DEPRECATED
132#else
133# define QT_DEPRECATED_VERSION_X_6_3(text)
134# define QT_DEPRECATED_VERSION_6_3
135#endif
136
137#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 4, 0)
138# define QT_DEPRECATED_VERSION_X_6_4(text) QT_DEPRECATED_X(text)
139# define QT_DEPRECATED_VERSION_6_4 QT_DEPRECATED
140#else
141# define QT_DEPRECATED_VERSION_X_6_4(text)
142# define QT_DEPRECATED_VERSION_6_4
143#endif
144
145#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 5, 0)
146# define QT_DEPRECATED_VERSION_X_6_5(text) QT_DEPRECATED_X(text)
147# define QT_DEPRECATED_VERSION_6_5 QT_DEPRECATED
148#else
149# define QT_DEPRECATED_VERSION_X_6_5(text)
150# define QT_DEPRECATED_VERSION_6_5
151#endif
152
153#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 6, 0)
154# define QT_DEPRECATED_VERSION_X_6_6(text) QT_DEPRECATED_X(text)
155# define QT_DEPRECATED_VERSION_6_6 QT_DEPRECATED
156#else
157# define QT_DEPRECATED_VERSION_X_6_6(text)
158# define QT_DEPRECATED_VERSION_6_6
159#endif
160
161#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 7, 0)
162# define QT_DEPRECATED_VERSION_X_6_7(text) QT_DEPRECATED_X(text)
163# define QT_DEPRECATED_VERSION_6_7 QT_DEPRECATED
164#else
165# define QT_DEPRECATED_VERSION_X_6_7(text)
166# define QT_DEPRECATED_VERSION_6_7
167#endif
168
169#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 8, 0)
170# define QT_DEPRECATED_VERSION_X_6_8(text) QT_DEPRECATED_X(text)
171# define QT_DEPRECATED_VERSION_6_8 QT_DEPRECATED
172#else
173# define QT_DEPRECATED_VERSION_X_6_8(text)
174# define QT_DEPRECATED_VERSION_6_8
175#endif
176
177#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 9, 0)
178# define QT_DEPRECATED_VERSION_X_6_9(text) QT_DEPRECATED_X(text)
179# define QT_DEPRECATED_VERSION_6_9 QT_DEPRECATED
180#else
181# define QT_DEPRECATED_VERSION_X_6_9(text)
182# define QT_DEPRECATED_VERSION_6_9
183#endif
184
185#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 10, 0)
186# define QT_DEPRECATED_VERSION_X_6_10(text) QT_DEPRECATED_X(text)
187# define QT_DEPRECATED_VERSION_6_10 QT_DEPRECATED
188#else
189# define QT_DEPRECATED_VERSION_X_6_10(text)
190# define QT_DEPRECATED_VERSION_6_10
191#endif
192
193#if QT_WARN_DEPRECATED_UP_TO >= QT_VERSION_CHECK(6, 11, 0)
194# define QT_DEPRECATED_VERSION_X_6_11(text) QT_DEPRECATED_X(text)
195# define QT_DEPRECATED_VERSION_6_11 QT_DEPRECATED
196#else
197# define QT_DEPRECATED_VERSION_X_6_11(text)
198# define QT_DEPRECATED_VERSION_6_11
199#endif
200
201#define QT_DEPRECATED_VERSION_X_5(minor, text) QT_DEPRECATED_VERSION_X_5_##minor(text)
202#define QT_DEPRECATED_VERSION_X(major, minor, text) QT_DEPRECATED_VERSION_X_##major##_##minor(text)
203
204#define QT_DEPRECATED_VERSION_5(minor) QT_DEPRECATED_VERSION_5_##minor
205#define QT_DEPRECATED_VERSION(major, minor) QT_DEPRECATED_VERSION_##major##_##minor
206
207/*
208 QT_IF_DEPRECATED_SINCE(major, minor, whenTrue, whenFalse) expands to
209 \a whenTrue if the specified (\a major, \a minor) version is less than or
210 equal to the deprecation version defined by QT_DISABLE_DEPRECATED_UP_TO,
211 and to \a whenFalse otherwise.
212
213 Currently used for QT_INLINE_SINCE(maj, min), but can also be helpful for
214 other macros of that kind.
215
216 The implementation uses QT_DEPRECATED_SINCE(maj, min) to define a bunch of
217 helper QT_IF_DEPRECATED_SINCE_X_Y macros, which expand to \a whenTrue or
218 \a whenFalse depending on the value of QT_DEPRECATED_SINCE.
219
220 If you need to use QT_IF_DEPRECATED_SINCE() for a (major, minor) version,
221 that is not yet covered by the list below, you need to copy the definition
222 and change the major and minor versions accordingly. For example, for
223 version (X, Y), you will need to add
224
225 \code
226 #if QT_DEPRECATED_SINCE(X, Y)
227 # define QT_IF_DEPRECATED_SINCE_X_Y(whenTrue, whenFalse) whenFalse
228 #else
229 # define QT_IF_DEPRECATED_SINCE_X_Y(whenTrue, whenFalse) whenTrue
230 #endif
231 \endcode
232*/
233
234#define QT_IF_DEPRECATED_SINCE(major, minor, whenTrue, whenFalse) \
235 QT_IF_DEPRECATED_SINCE_ ## major ## _ ## minor(whenTrue, whenFalse)
236
237#if QT_DEPRECATED_SINCE(6, 0)
238# define QT_IF_DEPRECATED_SINCE_6_0(whenTrue, whenFalse) whenFalse
239#else
240# define QT_IF_DEPRECATED_SINCE_6_0(whenTrue, whenFalse) whenTrue
241#endif
242
243#if QT_DEPRECATED_SINCE(6, 1)
244# define QT_IF_DEPRECATED_SINCE_6_1(whenTrue, whenFalse) whenFalse
245#else
246# define QT_IF_DEPRECATED_SINCE_6_1(whenTrue, whenFalse) whenTrue
247#endif
248
249#if QT_DEPRECATED_SINCE(6, 2)
250# define QT_IF_DEPRECATED_SINCE_6_2(whenTrue, whenFalse) whenFalse
251#else
252# define QT_IF_DEPRECATED_SINCE_6_2(whenTrue, whenFalse) whenTrue
253#endif
254
255#if QT_DEPRECATED_SINCE(6, 3)
256# define QT_IF_DEPRECATED_SINCE_6_3(whenTrue, whenFalse) whenFalse
257#else
258# define QT_IF_DEPRECATED_SINCE_6_3(whenTrue, whenFalse) whenTrue
259#endif
260
261#if QT_DEPRECATED_SINCE(6, 4)
262# define QT_IF_DEPRECATED_SINCE_6_4(whenTrue, whenFalse) whenFalse
263#else
264# define QT_IF_DEPRECATED_SINCE_6_4(whenTrue, whenFalse) whenTrue
265#endif
266
267#if QT_DEPRECATED_SINCE(6, 5)
268# define QT_IF_DEPRECATED_SINCE_6_5(whenTrue, whenFalse) whenFalse
269#else
270# define QT_IF_DEPRECATED_SINCE_6_5(whenTrue, whenFalse) whenTrue
271#endif
272
273#if QT_DEPRECATED_SINCE(6, 6)
274# define QT_IF_DEPRECATED_SINCE_6_6(whenTrue, whenFalse) whenFalse
275#else
276# define QT_IF_DEPRECATED_SINCE_6_6(whenTrue, whenFalse) whenTrue
277#endif
278
279#if QT_DEPRECATED_SINCE(6, 7)
280# define QT_IF_DEPRECATED_SINCE_6_7(whenTrue, whenFalse) whenFalse
281#else
282# define QT_IF_DEPRECATED_SINCE_6_7(whenTrue, whenFalse) whenTrue
283#endif
284
285#if QT_DEPRECATED_SINCE(6, 8)
286# define QT_IF_DEPRECATED_SINCE_6_8(whenTrue, whenFalse) whenFalse
287#else
288# define QT_IF_DEPRECATED_SINCE_6_8(whenTrue, whenFalse) whenTrue
289#endif
290
291#if QT_DEPRECATED_SINCE(6, 9)
292# define QT_IF_DEPRECATED_SINCE_6_9(whenTrue, whenFalse) whenFalse
293#else
294# define QT_IF_DEPRECATED_SINCE_6_9(whenTrue, whenFalse) whenTrue
295#endif
296
297#if QT_DEPRECATED_SINCE(6, 10)
298# define QT_IF_DEPRECATED_SINCE_6_10(whenTrue, whenFalse) whenFalse
299#else
300# define QT_IF_DEPRECATED_SINCE_6_10(whenTrue, whenFalse) whenTrue
301#endif
302
303#if QT_DEPRECATED_SINCE(6, 11)
304# define QT_IF_DEPRECATED_SINCE_6_11(whenTrue, whenFalse) whenFalse
305#else
306# define QT_IF_DEPRECATED_SINCE_6_11(whenTrue, whenFalse) whenTrue
307#endif
308
309#ifdef __cplusplus
310// A tag to help mark stuff deprecated (cf. QStringViewLiteral)
311namespace QtPrivate {
312enum class Deprecated_t {};
313constexpr inline Deprecated_t Deprecated = {};
314}
315#endif
316
317#ifdef QT_ASCII_CAST_WARNINGS
318# define QT_ASCII_CAST_WARN \
319 Q_DECL_DEPRECATED_X("Use fromUtf8, QStringLiteral, or QLatin1StringView")
320#else
321# define QT_ASCII_CAST_WARN
322#endif
323
325
326#endif // QTDEPRECATIONMARKERS_H
Combined button and popup list for selecting options.
\macro QT_NO_KEYWORDS >