diff options
Diffstat (limited to 'src/corelib/tools/qmap.h')
-rw-r--r-- | src/corelib/tools/qmap.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h index 0c69d13295..676d9a1fec 100644 --- a/src/corelib/tools/qmap.h +++ b/src/corelib/tools/qmap.h @@ -141,6 +141,7 @@ private: QMapNode() = delete; Q_DISABLE_COPY(QMapNode) + friend struct QMapNodeBase; }; template <class Key, class T> @@ -208,8 +209,11 @@ struct QMapData : public QMapDataBase // using reinterpret_cast because QMapDataBase::header is not // actually a QMapNode. +QT_WARNING_PUSH +QT_WARNING_DISABLE_GCC("-Wstrict-aliasing") const Node *end() const { return reinterpret_cast<const Node *>(&header); } Node *end() { return reinterpret_cast<Node *>(&header); } +QT_WARNING_POP const Node *begin() const { if (root()) return static_cast<const Node*>(mostLeftNode); return end(); } Node *begin() { if (root()) return static_cast<Node*>(mostLeftNode); return end(); } |