diff options
| author | Ivan Solovev <ivan.solovev@qt.io> | 2025-01-16 16:31:12 +0100 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@qt.io> | 2025-01-30 14:33:19 +0000 |
| commit | 8511149d886e5aef2a065efffc336c7b25e6540e (patch) | |
| tree | 1b65b9e46ca0f063fe1d8bdb01fc0829569603a0 /src/corelib/tools/qsharedpointer.h | |
| parent | 2ef55de1029281d997a99c67764c239daadf6e08 (diff) | |
QSharedPointer: document rvalue overloads of various cast methods
The patch provides two documentation snippets: for an arbitrary arg
and for \c {*this}. That is because qdoc does not support passing
a command (e.g. \c) as a part of the snippet's parameter.
Amends e95fb04202b3f786037c10942fd4e912644fd7d2.
Found in Qt 6.9 API review.
Pick-to: 6.9
Change-Id: I4eed234d18e39f2fc0c30a647a423f3240e31d40
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src/corelib/tools/qsharedpointer.h')
| -rw-r--r-- | src/corelib/tools/qsharedpointer.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/corelib/tools/qsharedpointer.h b/src/corelib/tools/qsharedpointer.h index 116c9afa00c..0524ddca203 100644 --- a/src/corelib/tools/qsharedpointer.h +++ b/src/corelib/tools/qsharedpointer.h @@ -65,10 +65,14 @@ public: void reset(T *t, Deleter deleter); // casts: - template <class X> QSharedPointer<X> staticCast() const; - template <class X> QSharedPointer<X> dynamicCast() const; - template <class X> QSharedPointer<X> constCast() const; - template <class X> QSharedPointer<X> objectCast() const; + template <class X> QSharedPointer<X> staticCast() const &; + template <class X> QSharedPointer<X> staticCast() &&; + template <class X> QSharedPointer<X> dynamicCast() const &; + template <class X> QSharedPointer<X> dynamicCast() &&; + template <class X> QSharedPointer<X> constCast() const &; + template <class X> QSharedPointer<X> constCast() &&; + template <class X> QSharedPointer<X> objectCast() const &; + template <class X> QSharedPointer<X> objectCast() &&; template <typename... Args> static inline QSharedPointer<T> create(Args &&... args); @@ -164,12 +168,16 @@ template<class T> bool operator==(std::nullptr_t, const QWeakPointer<T> &rhs); template<class T> bool operator!=(std::nullptr_t, const QWeakPointer<T> &rhs); template <class X, class T> QSharedPointer<X> qSharedPointerCast(const QSharedPointer<T> &other); +template <class X, class T> QSharedPointer<X> qSharedPointerCast(QSharedPointer<T> &&other); template <class X, class T> QSharedPointer<X> qSharedPointerCast(const QWeakPointer<T> &other); template <class X, class T> QSharedPointer<X> qSharedPointerDynamicCast(const QSharedPointer<T> &src); +template <class X, class T> QSharedPointer<X> qSharedPointerDynamicCast(QSharedPointer<T> &&src); template <class X, class T> QSharedPointer<X> qSharedPointerDynamicCast(const QWeakPointer<T> &src); template <class X, class T> QSharedPointer<X> qSharedPointerConstCast(const QSharedPointer<T> &src); +template <class X, class T> QSharedPointer<X> qSharedPointerConstCast(QSharedPointer<T> &&src); template <class X, class T> QSharedPointer<X> qSharedPointerConstCast(const QWeakPointer<T> &src); template <class X, class T> QSharedPointer<X> qSharedPointerObjectCast(const QSharedPointer<T> &src); +template <class X, class T> QSharedPointer<X> qSharedPointerObjectCast(QSharedPointer<T> &&src); template <class X, class T> QSharedPointer<X> qSharedPointerObjectCast(const QWeakPointer<T> &src); template <typename X, class T> std::shared_ptr<X> qobject_pointer_cast(const std::shared_ptr<T> &src); template <typename X, class T> std::shared_ptr<X> qobject_pointer_cast(std::shared_ptr<T> &&src); |
