Mark all remaining RAII/smart pointer class ctors [[nodiscard]]
... like QUIP-0019 suggests. The main problem here is finding these classes. We don't have markup for RAII classes, so I had to find them by name. This patch is based on the output of git grep -we Q[A-Z0-9a-z_]+er extracting the matches and piping them through sort -u, then removing a lot of suffixes like Manager and Handler, then visually inspecting the remaining list. Task-number: QTBUG-104164 Change-Id: I59b18d8d0a0237fcc11047857adc39b984ad7fcb Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 31d834a1c0d83d22fcf74624577013a558ad1974) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
76a051047e
commit
38787f9507
@ -43,7 +43,7 @@ class QSharedMemoryLocker
|
||||
{
|
||||
|
||||
public:
|
||||
inline QSharedMemoryLocker(QSharedMemory *sharedMemory) : q_sm(sharedMemory)
|
||||
Q_NODISCARD_CTOR QSharedMemoryLocker(QSharedMemory *sharedMemory) : q_sm(sharedMemory)
|
||||
{
|
||||
Q_ASSERT(q_sm);
|
||||
}
|
||||
|
@ -54,8 +54,11 @@ class QEventLoopLockerPrivate;
|
||||
class Q_CORE_EXPORT QEventLoopLocker
|
||||
{
|
||||
public:
|
||||
Q_NODISCARD_CTOR
|
||||
QEventLoopLocker();
|
||||
Q_NODISCARD_CTOR
|
||||
explicit QEventLoopLocker(QEventLoop *loop);
|
||||
Q_NODISCARD_CTOR
|
||||
explicit QEventLoopLocker(QThread *thread);
|
||||
~QEventLoopLocker();
|
||||
|
||||
|
@ -19,16 +19,16 @@ namespace QtPrivate {
|
||||
QTaggedPointer<Storage, Tag> m_pointer;
|
||||
|
||||
public:
|
||||
QConstPreservingPointer(std::nullptr_t) : m_pointer(nullptr, Const) {}
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer(std::nullptr_t) : m_pointer(nullptr, Const) {}
|
||||
|
||||
QConstPreservingPointer(const void *pointer, qsizetype alignment)
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer(const void *pointer, qsizetype alignment)
|
||||
: m_pointer(reinterpret_cast<Storage *>(const_cast<void *>(pointer)), Const)
|
||||
{
|
||||
Q_UNUSED(alignment);
|
||||
Q_ASSERT(alignment > qsizetype(alignof(Storage)));
|
||||
}
|
||||
|
||||
QConstPreservingPointer(void *pointer, qsizetype alignment)
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer(void *pointer, qsizetype alignment)
|
||||
: m_pointer(reinterpret_cast<Storage *>(pointer), Mutable)
|
||||
{
|
||||
Q_UNUSED(alignment);
|
||||
@ -36,20 +36,20 @@ namespace QtPrivate {
|
||||
}
|
||||
|
||||
template<typename InputType>
|
||||
QConstPreservingPointer(const InputType *pointer)
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer(const InputType *pointer)
|
||||
: m_pointer(reinterpret_cast<Storage *>(const_cast<InputType *>(pointer)), Const)
|
||||
{
|
||||
static_assert(alignof(InputType) >= alignof(Storage));
|
||||
}
|
||||
|
||||
template<typename InputType>
|
||||
QConstPreservingPointer(InputType *pointer)
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer(InputType *pointer)
|
||||
: m_pointer(reinterpret_cast<Storage *>(pointer), Mutable)
|
||||
{
|
||||
static_assert(alignof(InputType) >= alignof(Storage));
|
||||
}
|
||||
|
||||
QConstPreservingPointer() = default;
|
||||
Q_NODISCARD_CTOR QConstPreservingPointer() = default;
|
||||
|
||||
const Type *constPointer() const
|
||||
{
|
||||
|
@ -27,27 +27,32 @@ public:
|
||||
|
||||
typedef typename std::conditional<pass_parameter_by_value, T, const T &>::type parameter_type;
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
constexpr QArrayDataPointer() noexcept
|
||||
: d(nullptr), ptr(nullptr), size(0)
|
||||
{
|
||||
}
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
QArrayDataPointer(const QArrayDataPointer &other) noexcept
|
||||
: d(other.d), ptr(other.ptr), size(other.size)
|
||||
{
|
||||
ref();
|
||||
}
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
constexpr QArrayDataPointer(Data *header, T *adata, qsizetype n = 0) noexcept
|
||||
: d(header), ptr(adata), size(n)
|
||||
{
|
||||
}
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
explicit QArrayDataPointer(QPair<QTypedArrayData<T> *, T *> adata, qsizetype n = 0) noexcept
|
||||
: d(adata.first), ptr(adata.second), size(n)
|
||||
{
|
||||
}
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
static QArrayDataPointer fromRawData(const T *rawData, qsizetype length) noexcept
|
||||
{
|
||||
Q_ASSERT(rawData || !length);
|
||||
@ -61,6 +66,7 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
Q_NODISCARD_CTOR
|
||||
QArrayDataPointer(QArrayDataPointer &&other) noexcept
|
||||
: d(other.d), ptr(other.ptr), size(other.size)
|
||||
{
|
||||
|
@ -43,10 +43,10 @@ public:
|
||||
static constexpr quintptr tagMask() { return QtPrivate::TagInfo<T>::alignment - 1; }
|
||||
static constexpr quintptr pointerMask() { return ~tagMask(); }
|
||||
|
||||
constexpr QTaggedPointer() noexcept : d(0) {}
|
||||
constexpr QTaggedPointer(std::nullptr_t) noexcept : QTaggedPointer() {}
|
||||
Q_NODISCARD_CTOR constexpr QTaggedPointer() noexcept : d(0) {}
|
||||
Q_NODISCARD_CTOR constexpr QTaggedPointer(std::nullptr_t) noexcept : QTaggedPointer() {}
|
||||
|
||||
explicit QTaggedPointer(T *pointer, Tag tag = Tag()) noexcept
|
||||
Q_NODISCARD_CTOR explicit QTaggedPointer(T *pointer, Tag tag = Tag()) noexcept
|
||||
: d(quintptr(pointer) | quintptr(tag))
|
||||
{
|
||||
static_assert(sizeof(Type*) == sizeof(QTaggedPointer));
|
||||
|
@ -1944,7 +1944,7 @@ bool QDBusConnectionPrivate::send(const QDBusMessage& message)
|
||||
class QDBusBlockingCallWatcher
|
||||
{
|
||||
public:
|
||||
QDBusBlockingCallWatcher(const QDBusMessage &message)
|
||||
Q_NODISCARD_CTOR QDBusBlockingCallWatcher(const QDBusMessage &message)
|
||||
: m_message(message), m_maxCallTimeoutMs(0)
|
||||
{
|
||||
#if defined(QT_NO_DEBUG)
|
||||
|
@ -93,7 +93,7 @@ struct QDBusReadLocker: QDBusLockerBase
|
||||
{
|
||||
QDBusConnectionPrivate *self;
|
||||
ThreadAction action;
|
||||
inline QDBusReadLocker(ThreadAction a, QDBusConnectionPrivate *s)
|
||||
Q_NODISCARD_CTOR QDBusReadLocker(ThreadAction a, QDBusConnectionPrivate *s)
|
||||
: self(s), action(a)
|
||||
{
|
||||
reportThreadAction(action, BeforeLock, self);
|
||||
@ -113,7 +113,7 @@ struct QDBusWriteLocker: QDBusLockerBase
|
||||
{
|
||||
QDBusConnectionPrivate *self;
|
||||
ThreadAction action;
|
||||
inline QDBusWriteLocker(ThreadAction a, QDBusConnectionPrivate *s)
|
||||
Q_NODISCARD_CTOR QDBusWriteLocker(ThreadAction a, QDBusConnectionPrivate *s)
|
||||
: self(s), action(a)
|
||||
{
|
||||
reportThreadAction(action, BeforeLock, self);
|
||||
|
@ -62,7 +62,7 @@ template <typename T>
|
||||
class QDirectFBPointer : public QScopedPointer<T, QDirectFBInterfaceCleanupHandler<T> >
|
||||
{
|
||||
public:
|
||||
QDirectFBPointer(T *t = nullptr)
|
||||
Q_NODISCARD_CTOR QDirectFBPointer(T *t = nullptr)
|
||||
: QScopedPointer<T, QDirectFBInterfaceCleanupHandler<T> >(t)
|
||||
{}
|
||||
|
||||
|
@ -367,7 +367,7 @@ Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_RELOCATABLE_TYPE);
|
||||
class QXcbConnectionGrabber
|
||||
{
|
||||
public:
|
||||
QXcbConnectionGrabber(QXcbConnection *connection);
|
||||
Q_NODISCARD_CTOR QXcbConnectionGrabber(QXcbConnection *connection);
|
||||
~QXcbConnectionGrabber();
|
||||
void release();
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user