Enable some-of the QtConcurrent test cases
QtConcurrent::filtered test-cases for move-only containers were failing to compile, because it is assumed that the passed container should have value_type defined. Change-Id: I3e9e5ebc07704cb98a15b125ae8bd5b5a84d497a Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
This commit is contained in:
parent
3d040267f4
commit
4a981b9bdb
@ -231,19 +231,18 @@ void tst_QtConcurrentFilter::filtered()
|
|||||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// does not work yet
|
|
||||||
{
|
{
|
||||||
// move only types sequences
|
// move only types sequences
|
||||||
auto future = QtConcurrent::filtered(
|
auto future = QtConcurrent::filtered(MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||||
MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
|
||||||
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// does not work yet
|
||||||
auto result = QtConcurrent::blockingFiltered(
|
auto result = QtConcurrent::blockingFiltered(
|
||||||
MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename SourceObject,
|
template <typename SourceObject,
|
||||||
@ -308,20 +307,20 @@ void tst_QtConcurrentFilter::filteredThreadPool()
|
|||||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
// does not work yet
|
|
||||||
{
|
{
|
||||||
// move-only sequences
|
// move-only sequences
|
||||||
auto future = QtConcurrent::filtered(
|
auto future = QtConcurrent::filtered(
|
||||||
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||||
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// does not work yet
|
||||||
auto result =
|
auto result =
|
||||||
QtConcurrent::blockingFiltered(
|
QtConcurrent::blockingFiltered(
|
||||||
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename SourceObject,
|
template <typename SourceObject,
|
||||||
|
@ -138,6 +138,8 @@ public:
|
|||||||
class MoveOnlyVector
|
class MoveOnlyVector
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
using value_type = int;
|
||||||
|
|
||||||
// rule of six
|
// rule of six
|
||||||
MoveOnlyVector() = default;
|
MoveOnlyVector() = default;
|
||||||
~MoveOnlyVector() = default;
|
~MoveOnlyVector() = default;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user