QCborStreamWriter: add append(QByteArrayView)

This required demoting the QByteArray overload to Q_WEAK_OVERLOAD to
avoid introducing ambiguities.

[ChangeLog][QtCore][QCborStreamWriter] Added a QByteArrayView overload
of append().

Change-Id: I3004bd691aca990cb67dfffde63b58bb378e3311
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
This commit is contained in:
Thiago Macieira 2025-02-13 08:12:45 -08:00
parent 07a15916cc
commit c17a934197
3 changed files with 10 additions and 0 deletions

View File

@ -1380,6 +1380,8 @@ QUuid::Version QUuid::version() const noexcept
#if QT_CORE_REMOVED_SINCE(6, 10) #if QT_CORE_REMOVED_SINCE(6, 10)
#include "qcborstreamwriter.h" // Q_WEAK_OVERLOAD added
#include "qcoreapplication.h" #include "qcoreapplication.h"
#if QT_CONFIG(permissions) #if QT_CONFIG(permissions)

View File

@ -397,6 +397,7 @@ void QCborStreamWriter::append(QCborNegativeInteger n)
/*! /*!
\fn void QCborStreamWriter::append(const QByteArray &ba) \fn void QCborStreamWriter::append(const QByteArray &ba)
\fn void QCborStreamWriter::append(QByteArrayView ba)
\overload \overload
Appends the byte array \a ba to the stream, creating a CBOR Byte String Appends the byte array \a ba to the stream, creating a CBOR Byte String
@ -411,6 +412,9 @@ void QCborStreamWriter::append(QCborNegativeInteger n)
As the example shows, unlike JSON, CBOR requires no escaping for binary As the example shows, unlike JSON, CBOR requires no escaping for binary
content. content.
\note The overload taking a \l QByteArrayView has been present since Qt
6.10.
\sa appendByteString(), QCborStreamReader::isByteArray(), \sa appendByteString(), QCborStreamReader::isByteArray(),
QCborStreamReader::readByteArray() QCborStreamReader::readByteArray()
*/ */

View File

@ -42,7 +42,11 @@ public:
void append(quint64 u); void append(quint64 u);
void append(qint64 i); void append(qint64 i);
void append(QCborNegativeInteger n); void append(QCborNegativeInteger n);
#if !QT_CORE_REMOVED_SINCE(6, 10) // wasn't a template until 6.10
Q_WEAK_OVERLOAD
#endif
void append(const QByteArray &ba) { appendByteString(ba.constData(), ba.size()); } void append(const QByteArray &ba) { appendByteString(ba.constData(), ba.size()); }
void append(QByteArrayView ba) { appendByteString(ba.data(), ba.size()); }
void append(QLatin1StringView str); void append(QLatin1StringView str);
void append(QStringView str); void append(QStringView str);
void append(QCborTag tag); void append(QCborTag tag);