diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index a424bfd1b94..eff6c3a142b 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -134,6 +134,8 @@ QSslCertificatePrivate::QSslCertificatePrivate() QSslCertificatePrivate::~QSslCertificatePrivate() = default; +QT_DEFINE_QESDP_SPECIALIZATION_DTOR(QSslCertificatePrivate) + /*! Constructs a QSslCertificate by reading \a format encoded data from \a device and using the first certificate found. You can @@ -198,6 +200,18 @@ QSslCertificate::QSslCertificate(const QSslCertificate &other) : d(other.d) { } +/*! + \fn QSslCertificate::QSslCertificate(QSslCertificate &&other) + + \since 6.8 + + Move-constructs a new QSslCertificate from \a other. + + \note The moved-from object \a other is placed in a partially-formed state, + in which the only valid operations are destructions and assignment of a new + value. +*/ + /*! Destroys the QSslCertificate. */ diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h index cdf11b28b07..e34fa4d92a3 100644 --- a/src/network/ssl/qsslcertificate.h +++ b/src/network/ssl/qsslcertificate.h @@ -31,6 +31,8 @@ class QSslCertificate; Q_NETWORK_EXPORT size_t qHash(const QSslCertificate &key, size_t seed = 0) noexcept; class QSslCertificatePrivate; +QT_DECLARE_QESDP_SPECIALIZATION_DTOR(QSslCertificatePrivate) + class Q_NETWORK_EXPORT QSslCertificate { public: @@ -56,6 +58,7 @@ public: explicit QSslCertificate(QIODevice *device, QSsl::EncodingFormat format = QSsl::Pem); explicit QSslCertificate(const QByteArray &data = QByteArray(), QSsl::EncodingFormat format = QSsl::Pem); QSslCertificate(const QSslCertificate &other); + QSslCertificate(QSslCertificate &&other) noexcept = default; ~QSslCertificate(); QSslCertificate &operator=(QSslCertificate &&other) noexcept { swap(other); return *this; } QSslCertificate &operator=(const QSslCertificate &other);