summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qshareddata.h
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-08-17 14:54:44 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-08-17 14:54:44 (GMT)
commit46a33725125f0b5408fd421ae8fd9f4c76a123ab (patch)
tree5df2038ecc5225377fbbdb2aa9da4e68acafae56 /src/corelib/tools/qshareddata.h
parentba25514d1c1010d84ffdbf75331ff71596e56c99 (diff)
parentac9f56b31dacc35dd2007caee69a9cf521ed8410 (diff)
downloadQt-46a33725125f0b5408fd421ae8fd9f4c76a123ab.zip
Qt-46a33725125f0b5408fd421ae8fd9f4c76a123ab.tar.gz
Qt-46a33725125f0b5408fd421ae8fd9f4c76a123ab.tar.bz2
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into qtscript-jsc-backend
Diffstat (limited to 'src/corelib/tools/qshareddata.h')
-rw-r--r--src/corelib/tools/qshareddata.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/tools/qshareddata.h b/src/corelib/tools/qshareddata.h
index e13e37c..dde6e88 100644
--- a/src/corelib/tools/qshareddata.h
+++ b/src/corelib/tools/qshareddata.h
@@ -111,6 +111,9 @@ public:
inline bool operator!() const { return !d; }
+ inline void swap(QSharedDataPointer &other)
+ { qSwap(d, other.d); }
+
protected:
T *clone();
@@ -186,6 +189,9 @@ public:
inline bool operator!() const { return !d; }
+ inline void swap(QExplicitlySharedDataPointer &other)
+ { qSwap(d, other.d); }
+
protected:
T *clone();
@@ -235,6 +241,14 @@ template <class T>
Q_INLINE_TEMPLATE QExplicitlySharedDataPointer<T>::QExplicitlySharedDataPointer(T *adata) : d(adata)
{ if (d) d->ref.ref(); }
+template <class T>
+Q_INLINE_TEMPLATE void qSwap(QSharedDataPointer<T> &p1, QSharedDataPointer<T> &p2)
+{ p1.swap(p2); }
+
+template <class T>
+Q_INLINE_TEMPLATE void qSwap(QExplicitlySharedDataPointer<T> &p1, QExplicitlySharedDataPointer<T> &p2)
+{ p1.swap(p2); }
+
QT_END_NAMESPACE
QT_END_HEADER