Back to home page

EIC code displayed by LXR

 
 

    


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

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 #include <QtCore/qtconfigmacros.h>
0005 #include <QtCore/qtversionchecks.h>
0006 
0007 #ifndef QSTRINGFWD_H
0008 #define QSTRINGFWD_H
0009 
0010 QT_BEGIN_NAMESPACE
0011 
0012 #if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
0013 # define QT_BEGIN_HAS_CHAR8_T_NAMESPACE inline namespace q_has_char8_t {
0014 # define QT_BEGIN_NO_CHAR8_T_NAMESPACE namespace q_no_char8_t {
0015 #else
0016 # define QT_BEGIN_HAS_CHAR8_T_NAMESPACE namespace q_has_char8_t {
0017 # define QT_BEGIN_NO_CHAR8_T_NAMESPACE inline namespace q_no_char8_t {
0018 #endif
0019 #define QT_END_HAS_CHAR8_T_NAMESPACE }
0020 #define QT_END_NO_CHAR8_T_NAMESPACE }
0021 
0022 // declare namespaces:
0023 QT_BEGIN_HAS_CHAR8_T_NAMESPACE
0024 QT_END_HAS_CHAR8_T_NAMESPACE
0025 QT_BEGIN_NO_CHAR8_T_NAMESPACE
0026 QT_END_NO_CHAR8_T_NAMESPACE
0027 
0028 class QByteArray;
0029 class QByteArrayView;
0030 #if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) || defined(QT_BOOTSTRAPPED) || defined(Q_QDOC)
0031 # define Q_L1S_VIEW_IS_PRIMARY
0032 class QLatin1StringView;
0033 using QLatin1String = QLatin1StringView;
0034 #else
0035 class QLatin1String;
0036 using QLatin1StringView = QLatin1String;
0037 #endif
0038 class QString;
0039 class QStringRef; // defined in qt5compat
0040 class QStringView;
0041 template <bool> class QBasicUtf8StringView;
0042 class QAnyStringView;
0043 class QChar;
0044 class QRegularExpression;
0045 class QRegularExpressionMatch;
0046 
0047 #ifdef Q_QDOC
0048 class QUtf8StringView;
0049 #else
0050 // ### Qt 7: remove the non-char8_t version of QUtf8StringView
0051 QT_BEGIN_NO_CHAR8_T_NAMESPACE
0052 using QUtf8StringView = QBasicUtf8StringView<false>;
0053 QT_END_NO_CHAR8_T_NAMESPACE
0054 
0055 QT_BEGIN_HAS_CHAR8_T_NAMESPACE
0056 using QUtf8StringView = QBasicUtf8StringView<true>;
0057 QT_END_HAS_CHAR8_T_NAMESPACE
0058 #endif // Q_QDOC
0059 
0060 QT_END_NAMESPACE
0061 
0062 #endif // QSTRINGFWD_H