diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-03-06 08:37:33 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-16 19:27:59 +0100 |
commit | 0ebca8f46fdfb8c99926cf28717b62c8cd741858 (patch) | |
tree | 5d94df9183a062c28f85fb422834b58003c86396 /src/corelib/tools/qsharedpointer_impl.h | |
parent | 0731c90eec594224954ea1c6677e6bf2cff50e51 (diff) |
QSharedPointer: add reset() member functions
These have been added for std::shared_ptr compatibility,
but in particular to allow tst_qnetworkreply && friends
to drop the implicit conversions added to QSP by
inheritance, so QSP can become final.
Change-Id: I0f0401b02125d65622e52393b40a3b10bd9a850c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qsharedpointer_impl.h')
-rw-r--r-- | src/corelib/tools/qsharedpointer_impl.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index 81ce17889e..fadb4e0586 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -510,6 +510,13 @@ public: inline void swap(QSharedPointer &other) { QSharedPointer<T>::internalSwap(other); } + inline void reset() { clear(); } + inline void reset(T *t) + { QSharedPointer copy(t); swap(copy); } + template <typename Deleter> + inline void reset(T *t, Deleter deleter) + { QSharedPointer copy(t, deleter); swap(copy); } + template <class X> QSharedPointer<X> staticCast() const { |