From 4527b2d16537e7b6b6b8733117f536435d99175f Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Fri, 21 Aug 2020 22:54:17 +0200 Subject: [PATCH] QAutoPointer: port to explicit operator bool Change-Id: Ic8ec02d7225e884bfd98d93398502a8b8b825da8 Reviewed-by: David Faure --- src/widgets/dialogs/qdialog_p.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/widgets/dialogs/qdialog_p.h b/src/widgets/dialogs/qdialog_p.h index 74f775a0bd6..0c31593ced7 100644 --- a/src/widgets/dialogs/qdialog_p.h +++ b/src/widgets/dialogs/qdialog_p.h @@ -137,8 +137,6 @@ private: template class QAutoPointer { QPointer o; - struct internal { void func() {} }; - typedef void (internal::*RestrictedBool)(); public: explicit QAutoPointer(T *t) noexcept : o(t) {} ~QAutoPointer() { delete o; } @@ -146,7 +144,7 @@ public: T *operator->() const noexcept { return get(); } T *get() const noexcept { return o; } T &operator*() const { return *get(); } - operator RestrictedBool() const noexcept { return o ? &internal::func : nullptr; } + explicit operator bool() const noexcept { return !o.isNull(); } bool operator!() const noexcept { return !o; } private: Q_DISABLE_COPY(QAutoPointer);