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,20 +231,19 @@ void tst_QtConcurrentFilter::filtered()
|
||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||
}
|
||||
|
||||
#if 0
|
||||
// does not work yet
|
||||
{
|
||||
// move only types sequences
|
||||
auto future = QtConcurrent::filtered(
|
||||
MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||
auto future = QtConcurrent::filtered(MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
||||
|
||||
#if 0
|
||||
// does not work yet
|
||||
auto result = QtConcurrent::blockingFiltered(
|
||||
MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
template <typename SourceObject,
|
||||
typename ResultObject,
|
||||
@ -308,21 +307,21 @@ void tst_QtConcurrentFilter::filteredThreadPool()
|
||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||
}
|
||||
|
||||
#if 0
|
||||
// does not work yet
|
||||
{
|
||||
// move-only sequences
|
||||
auto future = QtConcurrent::filtered(
|
||||
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||
QCOMPARE(future.results(), QList<int>({ 2, 4 }));
|
||||
|
||||
#if 0
|
||||
// does not work yet
|
||||
auto result =
|
||||
QtConcurrent::blockingFiltered(
|
||||
&pool, MoveOnlyVector({ 1, 2, 3, 4 }), keepEvenIntegers);
|
||||
QCOMPARE(result, std::vector<int>({ 2, 4 }));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
template <typename SourceObject,
|
||||
typename ResultObject,
|
||||
|
@ -138,6 +138,8 @@ public:
|
||||
class MoveOnlyVector
|
||||
{
|
||||
public:
|
||||
using value_type = int;
|
||||
|
||||
// rule of six
|
||||
MoveOnlyVector() = default;
|
||||
~MoveOnlyVector() = default;
|
||||
|
Loading…
x
Reference in New Issue
Block a user