summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/tools/qscopedpointer.cpp25
-rw-r--r--src/corelib/tools/qscopedpointer.h13
-rw-r--r--tests/auto/corelib/tools/qscopedpointer/qscopedpointer.pro1
-rw-r--r--tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp155
4 files changed, 0 insertions, 194 deletions
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp
index 22155d6d3a..fb0025c1ff 100644
--- a/src/corelib/tools/qscopedpointer.cpp
+++ b/src/corelib/tools/qscopedpointer.cpp
@@ -134,31 +134,6 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn QScopedPointer::QScopedPointer(QScopedPointer<T, Cleanup> &&other)
-
- Move-constructs a QScopedPointer instance, making it point at the same
- object that \a other was pointing to. \a other is reset to point to \c{NULL}.
-
- \since 5.2
-*/
-
-/*!
- \fn QScopedPointer<T, Cleanup> &operator=(QScopedPointer<T, Cleanup> &&other)
-
- Move-assigns \a other to this QScopedPointer instance, transferring the
- ownership of the managed pointer to this instance.
-
- If \a other and this instance are actually the same object, this operator
- does nothing.
-
- Otherwise, this instance is set to point to the object \a other
- is pointing to, and \a other is set to point to \c{NULL}.
- If this instance was pointing to an object, that object is destroyed.
-
- \since 5.2
-*/
-
-/*!
\fn QScopedPointer::~QScopedPointer()
Destroys this QScopedPointer object. Delete the object its pointer points
diff --git a/src/corelib/tools/qscopedpointer.h b/src/corelib/tools/qscopedpointer.h
index dba37dae23..dd6e5bd57b 100644
--- a/src/corelib/tools/qscopedpointer.h
+++ b/src/corelib/tools/qscopedpointer.h
@@ -109,19 +109,6 @@ public:
Cleanup::cleanup(oldD);
}
-#ifdef Q_COMPILER_RVALUE_REFS
- inline QScopedPointer(QScopedPointer<T, Cleanup> &&other)
- : d(other.take())
- {
- }
-
- inline QScopedPointer<T, Cleanup> &operator=(QScopedPointer<T, Cleanup> &&other)
- {
- reset(other.take());
- return *this;
- }
-#endif
-
inline T &operator*() const
{
Q_ASSERT(d);
diff --git a/tests/auto/corelib/tools/qscopedpointer/qscopedpointer.pro b/tests/auto/corelib/tools/qscopedpointer/qscopedpointer.pro
index 48a3b9ee9c..5fa529e175 100644
--- a/tests/auto/corelib/tools/qscopedpointer/qscopedpointer.pro
+++ b/tests/auto/corelib/tools/qscopedpointer/qscopedpointer.pro
@@ -1,5 +1,4 @@
CONFIG += testcase parallel_test
-contains(QT_CONFIG, c++11):CONFIG += c++11
TARGET = tst_qscopedpointer
QT = core testlib
SOURCES = tst_qscopedpointer.cpp
diff --git a/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp b/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp
index cb0382eb66..66ea3e940c 100644
--- a/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp
+++ b/tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp
@@ -42,8 +42,6 @@
#include <QtTest/QtTest>
#include <QtCore/QScopedPointer>
-#include <utility>
-
/*!
\class tst_QScopedPointer
\internal
@@ -75,7 +73,6 @@ private Q_SLOTS:
void objectSize();
void comparison();
void array();
- void move();
// TODO instanciate on const object
};
@@ -461,158 +458,6 @@ void tst_QScopedPointer::array()
QCOMPARE(instCount, RefCounted::instanceCount.load());
}
-#ifdef Q_COMPILER_RVALUE_REFS
-struct CountedInteger
-{
- CountedInteger(int i) : i(i)
- {
- ++instanceCount;
- }
- ~CountedInteger()
- {
- --instanceCount;
- }
- CountedInteger(const CountedInteger &c)
- : i(c.i)
- {
- ++instanceCount;
- }
-
- static int instanceCount;
- int i;
-};
-
-int CountedInteger::instanceCount = 0;
-
-QScopedPointer<CountedInteger> returnScopedPointer(int i)
-{
- return QScopedPointer<CountedInteger>(new CountedInteger(i));
-}
-#endif
-
-void tst_QScopedPointer::move()
-{
-#ifndef Q_COMPILER_RVALUE_REFS
- QSKIP("This test requires rvalues refs");
-#else
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p = returnScopedPointer(42);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 42);
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- QScopedPointer<CountedInteger> q = returnScopedPointer(51);
- QVERIFY(!q.isNull());
- QCOMPARE(q->i, 51);
- QCOMPARE(CountedInteger::instanceCount, 2);
-
- q = returnScopedPointer(123);
- QVERIFY(!q.isNull());
- QCOMPARE(q->i, 123);
- QCOMPARE(CountedInteger::instanceCount, 2);
-
- p = std::move(q);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 123);
- QVERIFY(q.isNull());
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- p = std::move(q);
- QVERIFY(p.isNull());
- QVERIFY(q.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p = returnScopedPointer(1024);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 1024);
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- p.reset();
- QVERIFY(p.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- p = returnScopedPointer(1024);
- const CountedInteger * const rawPtr = p.data();
- p = std::move(p);
- // now p is in a "valid, but unspecified state". so the test must not crash.
- // we do actually know that this move should've been a noop.
- QVERIFY(!p.isNull());
- QCOMPARE(p.data(), rawPtr);
- QCOMPARE(p->i, 1024);
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- p.reset();
- QVERIFY(p.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p = returnScopedPointer(-1);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, -1);
- QCOMPARE(CountedInteger::instanceCount, 1);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p = returnScopedPointer(0);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 0);
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- QScopedPointer<CountedInteger> q;
- QVERIFY(q.isNull());
-
- p = std::move(q);
- QVERIFY(p.isNull());
- QVERIFY(q.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p;
- QVERIFY(p.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- QScopedPointer<CountedInteger> q = returnScopedPointer(123);
- QVERIFY(!q.isNull());
- QCOMPARE(q->i, 123);
- QCOMPARE(CountedInteger::instanceCount, 1);
-
- p = std::move(q);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 123);
- QVERIFY(q.isNull());
- QCOMPARE(CountedInteger::instanceCount, 1);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- {
- QScopedPointer<CountedInteger> p;
- QVERIFY(p.isNull());
- QCOMPARE(CountedInteger::instanceCount, 0);
-
- p = returnScopedPointer(2001);
- QVERIFY(!p.isNull());
- QCOMPARE(p->i, 2001);
- QCOMPARE(CountedInteger::instanceCount, 1);
- }
-
- QCOMPARE(CountedInteger::instanceCount, 0);
-#endif
-}
QTEST_MAIN(tst_QScopedPointer)
#include "tst_qscopedpointer.moc"