mirror of
https://github.com/NohamR/RMHook-Win.git
synced 2026-05-25 12:27:12 +00:00
84 lines
2.4 KiB
C
84 lines
2.4 KiB
C
// Copyright (C) 2022 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#ifndef QTVERSIONCHECKS_H
|
|
#define QTVERSIONCHECKS_H
|
|
|
|
#if 0
|
|
#pragma qt_class(QtVersionChecks)
|
|
#pragma qt_sync_stop_processing
|
|
#endif
|
|
|
|
#ifdef QT_BOOTSTRAPPED
|
|
// qconfig-bootstrapped.h is not supposed to be a part of the synced header files. So we find it by
|
|
// the include path specified for Bootstrap library in the source tree instead of the build tree as
|
|
// it's done for regular header files.
|
|
#include "qconfig-bootstrapped.h"
|
|
#else
|
|
#include <QtCore/qconfig.h>
|
|
#include <QtCore/qtcore-config.h>
|
|
#endif
|
|
|
|
/*
|
|
QT_VERSION is (major << 16) | (minor << 8) | patch.
|
|
*/
|
|
#define QT_VERSION QT_VERSION_CHECK(QT_VERSION_MAJOR, QT_VERSION_MINOR, QT_VERSION_PATCH)
|
|
/*
|
|
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0))
|
|
*/
|
|
#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch))
|
|
|
|
/*
|
|
Helper macros to make some simple code active in Qt 6 or Qt 7 only,
|
|
like:
|
|
struct QT6_ONLY(Q_CORE_EXPORT) QTrivialClass
|
|
{
|
|
void QT7_ONLY(Q_CORE_EXPORT) void operate();
|
|
}
|
|
*/
|
|
#if QT_VERSION_MAJOR == 7
|
|
# define QT7_ONLY(...) __VA_ARGS__
|
|
# define QT6_ONLY(...)
|
|
#elif QT_VERSION_MAJOR == 6
|
|
# define QT7_ONLY(...)
|
|
# define QT6_ONLY(...) __VA_ARGS__
|
|
#else
|
|
# error Qt major version not 6 or 7
|
|
#endif
|
|
|
|
/* Macro and tag type to help overload resolution on functions
|
|
that are, e.g., QT_REMOVED_SINCE'ed. Example use:
|
|
|
|
#if QT_CORE_REMOVED_SINCE(6, 4)
|
|
int size() const;
|
|
#endif
|
|
qsizetype size(QT6_DECL_NEW_OVERLOAD) const;
|
|
|
|
in the normal cpp file:
|
|
|
|
qsizetype size(QT6_IMPL_NEW_OVERLOAD) const {
|
|
~~~
|
|
}
|
|
|
|
in removed_api.cpp:
|
|
|
|
int size() const { return int(size(QT6_CALL_NEW_OVERLOAD)); }
|
|
*/
|
|
#ifdef Q_QDOC
|
|
# define QT6_DECL_NEW_OVERLOAD
|
|
# define QT6_DECL_NEW_OVERLOAD_TAIL
|
|
# define QT6_IMPL_NEW_OVERLOAD
|
|
# define QT6_IMPL_NEW_OVERLOAD_TAIL
|
|
# define QT6_CALL_NEW_OVERLOAD
|
|
# define QT6_CALL_NEW_OVERLOAD_TAIL
|
|
#else
|
|
# define QT6_DECL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t = Qt::Disambiguated)
|
|
# define QT6_DECL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_DECL_NEW_OVERLOAD)
|
|
# define QT6_IMPL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated_t)
|
|
# define QT6_IMPL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_IMPL_NEW_OVERLOAD)
|
|
# define QT6_CALL_NEW_OVERLOAD QT6_ONLY(Qt::Disambiguated)
|
|
# define QT6_CALL_NEW_OVERLOAD_TAIL QT6_ONLY(, QT6_CALL_NEW_OVERLOAD)
|
|
#endif
|
|
|
|
#endif /* QTVERSIONCHECKS_H */
|