1// Copyright (C) 2020 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 QCONTAINERFWD_H
5#define QCONTAINERFWD_H
6
7#include <QtCore/qtconfigmacros.h>
8#include <QtCore/qtypes.h>
9
10#if 0
11#pragma qt_class(QtContainerFwd)
12#endif
13
14// std headers can unfortunately not be forward declared
15#include <utility>
16
17QT_BEGIN_NAMESPACE
18
19template <typename Key, typename T> class QCache;
20template <typename Key, typename T> class QHash;
21template <typename Key, typename T> class QMap;
22template <typename Key, typename T> class QMultiHash;
23template <typename Key, typename T> class QMultiMap;
24template <typename T1, typename T2>
25using QPair = std::pair<T1, T2>;
26template <typename T> class QQueue;
27template <typename T> class QSet;
28template <typename T> class QStack;
29template <typename T, qsizetype Prealloc = 256> class QVarLengthArray;
30template <typename T> class QList;
31class QString;
32#ifndef Q_QDOC
33template<typename T> using QVector = QList<T>;
34using QStringList = QList<QString>;
35class QByteArray;
36using QByteArrayList = QList<QByteArray>;
37#else
38template<typename T> class QVector;
39class QStringList;
40class QByteArrayList;
41#endif
42class QMetaType;
43class QVariant;
44
45using QVariantList = QList<QVariant>;
46using QVariantMap = QMap<QString, QVariant>;
47using QVariantHash = QHash<QString, QVariant>;
48using QVariantPair = QPair<QVariant, QVariant>;
49
50QT_END_NAMESPACE
51
52#endif // QCONTAINERFWD_H
53

source code of qtbase/src/corelib/tools/qcontainerfwd.h