From 9129d2714a5e9b1ca86cf7911edee90ee13493d8 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Wed, 2 Sep 2015 16:22:41 +0200 Subject: Implement QDebug support for QSharedPointer ... otherwise the type goes through operator bool() and prints "true" or "false" (!). [ChangeLog][QtCore][QSharedPointer] Added support for debug printing via QDebug. Change-Id: Ic3ef9b9feee8d6ca08f1dd69f20f421fea20ca00 Reviewed-by: David Faure Reviewed-by: Thiago Macieira --- src/corelib/tools/qsharedpointer_impl.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/corelib/tools/qsharedpointer_impl.h') diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index 1323dd6b1c..e224b26d9f 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -55,6 +55,7 @@ QT_END_NAMESPACE #include #include #include // for qobject_cast +#include #if QT_DEPRECATED_SINCE(5, 5) #include #endif @@ -858,6 +859,16 @@ inline void qSwap(QSharedPointer &p1, QSharedPointer &p2) p1.swap(p2); } +#ifndef QT_NO_DEBUG_STREAM +template +Q_INLINE_TEMPLATE QDebug operator<<(QDebug debug, const QSharedPointer &ptr) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "QSharedPointer(" << ptr.data() << ")"; + return debug; +} +#endif + QT_END_NAMESPACE namespace std { template -- cgit v1.2.3