diff options
author | David Faure <david.faure@kdab.com> | 2020-02-28 20:00:24 +0100 |
---|---|---|
committer | David Faure <david.faure@kdab.com> | 2020-03-08 15:38:04 +0100 |
commit | 4bc9e3b8470ed2026604dc06dc027c80e6f7c445 (patch) | |
tree | 510a8a4673d4fba662705010b3b1e89b3e1b43ad /src/corelib/serialization/qdatastream.h | |
parent | 114394702b2975b5d890833a5f14510b5e1a2e2b (diff) |
QDataStream: fix compilation with QT_DISABLE_DEPRECATED_BEFORE=0x0050F00
Fixes: QTBUG-81023
Change-Id: I0d56785d1fed2c4c8e0e87ccefb0b72b0ed3644a
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'src/corelib/serialization/qdatastream.h')
-rw-r--r-- | src/corelib/serialization/qdatastream.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/corelib/serialization/qdatastream.h b/src/corelib/serialization/qdatastream.h index 4d827772c8..6f6593f9bf 100644 --- a/src/corelib/serialization/qdatastream.h +++ b/src/corelib/serialization/qdatastream.h @@ -285,6 +285,13 @@ QDataStream &readListBasedContainer(QDataStream &s, Container &c) return s; } +template <typename T> +struct MultiContainer { using type = T; }; +template <typename K, typename V> +struct MultiContainer<QMap<K, V>> { using type = QMultiMap<K, V>; }; +template <typename K, typename V> +struct MultiContainer<QHash<K, V>> { using type = QMultiHash<K, V>; }; + template <typename Container> QDataStream &readAssociativeContainer(QDataStream &s, Container &c) { @@ -301,10 +308,7 @@ QDataStream &readAssociativeContainer(QDataStream &s, Container &c) c.clear(); break; } -QT_WARNING_PUSH -QT_WARNING_DISABLE_DEPRECATED - c.insertMulti(k, t); -QT_WARNING_POP + static_cast<typename MultiContainer<Container>::type &>(c).insert(k, t); } return s; |