QRingBuffer: restrict QRingChunk::toByteArray() calls to rvalue *this

It's only user, QRingBuffer::read(), calls it on an rvalue, so we
don't need the lvalue overload, and we can devil-may-care-like just
std::move(chunk) in the non-isShared() case.

Change-Id: I99c16862f5586125c6346ce5f969dc735de738b8
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
Marc Mutz 2021-12-14 22:03:02 +01:00
parent b01c05ef9b
commit e381288146
2 changed files with 3 additions and 3 deletions

View File

@ -62,7 +62,7 @@ void QRingChunk::detach()
tailOffset = chunkSize;
}
QByteArray QRingChunk::toByteArray()
QByteArray QRingChunk::toByteArray() &&
{
if (headOffset != 0 || tailOffset != chunk.size()) {
if (isShared())
@ -79,7 +79,7 @@ QByteArray QRingChunk::toByteArray()
chunk.resize(tailOffset);
}
return chunk;
return std::move(chunk);
}
/*!

View File

@ -114,7 +114,7 @@ public:
return !chunk.isDetached();
}
Q_CORE_EXPORT void detach();
QByteArray toByteArray();
QByteArray toByteArray() &&;
// getters
inline qsizetype head() const