diff options
author | Alex Trotsenko <alex1973tr@gmail.com> | 2015-08-22 13:43:13 +0300 |
---|---|---|
committer | Alex Trotsenko <alex1973tr@gmail.com> | 2016-01-12 18:03:24 +0000 |
commit | 771220ebc83d8cfb5468caec2d6edc40445f689b (patch) | |
tree | 2f35261bed82095621a2ee840ffc84c8e871b353 | |
parent | 7d257aab8175f3d4fd3b838d4f47457a8d868885 (diff) |
Allow to use QRingBuffer in containers
Make a private member mutable to enable default assignment operator.
Change-Id: I1216875c186ed800e07c6b41a5bae18c3b71b2fa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
-rw-r--r-- | src/corelib/tools/qringbuffer_p.h | 2 | ||||
-rw-r--r-- | tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/corelib/tools/qringbuffer_p.h b/src/corelib/tools/qringbuffer_p.h index 96c4f9acb6..a03007f606 100644 --- a/src/corelib/tools/qringbuffer_p.h +++ b/src/corelib/tools/qringbuffer_p.h @@ -135,7 +135,7 @@ private: QList<QByteArray> buffers; int head, tail; int tailBuffer; // always buffers.size() - 1 - const int basicBlockSize; + int basicBlockSize; qint64 bufferSize; }; diff --git a/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp b/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp index b77fe23bd6..9cc66cd5e2 100644 --- a/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp +++ b/tests/auto/corelib/tools/qringbuffer/tst_qringbuffer.cpp @@ -34,12 +34,14 @@ #include <QtTest/QtTest> #include <private/qringbuffer_p.h> +#include <qvector.h> class tst_QRingBuffer : public QObject { Q_OBJECT private slots: void constructing(); + void usingInVector(); void readPointerAtPositionWriteRead(); void readPointerAtPositionEmptyRead(); void readPointerAtPositionWithHead(); @@ -74,6 +76,16 @@ void tst_QRingBuffer::constructing() QCOMPARE(ringBuffer.peek(buf, sizeof(buf)), Q_INT64_C(0)); } +void tst_QRingBuffer::usingInVector() +{ + QRingBuffer ringBuffer; + QVector<QRingBuffer> buffers; + + ringBuffer.reserve(5); + buffers.append(ringBuffer); + QCOMPARE(buffers[0].size(), Q_INT64_C(5)); +} + void tst_QRingBuffer::sizeWhenReserved() { QRingBuffer ringBuffer; |