OSDN Git Service

remove unused QtConcurrent filter methods
authorIvailo Monev <xakepa10@gmail.com>
Tue, 17 May 2022 23:26:22 +0000 (02:26 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Tue, 17 May 2022 23:26:22 +0000 (02:26 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
package/freebsd/pkg-plist
package/netbsd/PLIST
package/openbsd/pkg/PLIST
scripts/namefsck.py
src/core/CMakeLists.txt
src/core/concurrent/qtconcurrentfilter.cpp [deleted file]
src/core/concurrent/qtconcurrentfilter.h [deleted file]
src/core/concurrent/qtconcurrentfilterkernel.h [deleted file]

index 6b0146d..49dcbd8 100644 (file)
@@ -183,7 +183,6 @@ include/katie/QtCore/Q_PID
 include/katie/QtCore/Qt
 include/katie/QtCore/QtAlgorithms
 include/katie/QtCore/QtCleanUpFunction
-include/katie/QtCore/QtConcurrentFilter
 include/katie/QtCore/QtConcurrentMap
 include/katie/QtCore/QtConcurrentRun
 include/katie/QtCore/QtConfig
@@ -280,9 +279,7 @@ include/katie/QtCore/qstring.h
 include/katie/QtCore/qstringlist.h
 include/katie/QtCore/qstringmatcher.h
 include/katie/QtCore/qtconcurrentcompilertest.h
-include/katie/QtCore/qtconcurrentexception.h
-include/katie/QtCore/qtconcurrentfilter.h
-include/katie/QtCore/qtconcurrentfilterkernel.h
+include/katie/QtCore/qtconcurrentexception.
 include/katie/QtCore/qtconcurrentfunctionwrappers.h
 include/katie/QtCore/qtconcurrentiteratekernel.h
 include/katie/QtCore/qtconcurrentmap.h
index e1d6066..cfb8e0d 100644 (file)
@@ -186,7 +186,6 @@ include/katie/QtCore/Q_PID
 include/katie/QtCore/Qt
 include/katie/QtCore/QtAlgorithms
 include/katie/QtCore/QtCleanUpFunction
-include/katie/QtCore/QtConcurrentFilter
 include/katie/QtCore/QtConcurrentMap
 include/katie/QtCore/QtConcurrentRun
 include/katie/QtCore/QtConfig
@@ -284,8 +283,6 @@ include/katie/QtCore/qstringlist.h
 include/katie/QtCore/qstringmatcher.h
 include/katie/QtCore/qtconcurrentcompilertest.h
 include/katie/QtCore/qtconcurrentexception.h
-include/katie/QtCore/qtconcurrentfilter.h
-include/katie/QtCore/qtconcurrentfilterkernel.h
 include/katie/QtCore/qtconcurrentfunctionwrappers.h
 include/katie/QtCore/qtconcurrentiteratekernel.h
 include/katie/QtCore/qtconcurrentmap.h
index 8d3036f..bb58bfd 100644 (file)
@@ -186,7 +186,6 @@ include/katie/QtCore/Q_PID
 include/katie/QtCore/Qt
 include/katie/QtCore/QtAlgorithms
 include/katie/QtCore/QtCleanUpFunction
-include/katie/QtCore/QtConcurrentFilter
 include/katie/QtCore/QtConcurrentMap
 include/katie/QtCore/QtConcurrentRun
 include/katie/QtCore/QtConfig
@@ -284,8 +283,6 @@ include/katie/QtCore/qstringlist.h
 include/katie/QtCore/qstringmatcher.h
 include/katie/QtCore/qtconcurrentcompilertest.h
 include/katie/QtCore/qtconcurrentexception.h
-include/katie/QtCore/qtconcurrentfilter.h
-include/katie/QtCore/qtconcurrentfilterkernel.h
 include/katie/QtCore/qtconcurrentfunctionwrappers.h
 include/katie/QtCore/qtconcurrentiteratekernel.h
 include/katie/QtCore/qtconcurrentmap.h
index 28407b0..3135184 100755 (executable)
@@ -572,7 +572,6 @@ classlist = [
     "QTabWidget",
     "QtAlgorithms",
     "QtCleanUpFunction",
-    "QtConcurrentFilter",
     "QtConcurrentMap",
     "QtConcurrentRun",
     "QtConfig",
index f51f54b..eea14aa 100644 (file)
@@ -83,7 +83,6 @@ set(CORE_PUBLIC_HEADERS
     QMetaType
     QVariant
     QFile
-    QtConcurrentFilter
     QCache
     QAbstractEventDispatcher
     QResource
@@ -117,8 +116,6 @@ set(CORE_HEADERS
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qrunnable.h
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentcompilertest.h
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentexception.h
-    ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentfilter.h
-    ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentfilterkernel.h
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentfunctionwrappers.h
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentiteratekernel.h
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentmap.h
@@ -274,7 +271,6 @@ set(CORE_SOURCES
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qfuturesynchronizer.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qfuturewatcher.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qrunnable.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentfilter.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentmap.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentresultstore.cpp
     ${CMAKE_CURRENT_SOURCE_DIR}/concurrent/qtconcurrentthreadengine.cpp
diff --git a/src/core/concurrent/qtconcurrentfilter.cpp b/src/core/concurrent/qtconcurrentfilter.cpp
deleted file mode 100644 (file)
index 5532774..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the QtCore module of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-    \headerfile <QtConcurrentFilter>
-    \title Concurrent Filter and Filter-Reduce
-    \ingroup thread
-
-    \brief The <QtConcurrentFilter> header provides concurrent Filter and
-    Filter-Reduce.
-
-    These functions are a part of the \l {Concurrent Programming}{Qt Concurrent} framework.
-
-    The QtConcurrent::filter(), QtConcurrent::filtered() and
-    QtConcurrent::filteredReduced() functions filter items in a sequence such
-    as a QList or a QVector in parallel. QtConcurrent::filter() modifies a
-    sequence in-place, QtConcurrent::filtered() returns a new sequence
-    containing the filtered content, and QtConcurrent::filteredReduced()
-    returns a single result.
-
-    Each of the above functions have a blocking variant that returns the final
-    result instead of a QFuture. You use them in the same way as the
-    asynchronous variants.
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 6
-
-    Note that the result types above are not QFuture objects, but real result
-    types (in this case, QStringList and QSet<QString>).
-
-    \section1 Concurrent Filter
-
-    QtConcurrent::filtered() takes an input sequence and a filter function.
-    This filter function is then called for each item in the sequence, and a
-    new sequence containing the filtered values is returned.
-
-    The filter function must be of the form:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 0
-
-    T must match the type stored in the sequence. The function returns true if
-    the item should be kept, false if it should be discarded.
-
-    This example shows how to keep strings that are all lower-case from a
-    QStringList:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 1
-
-    The results of the filter are made available through QFuture. See the
-    QFuture and QFutureWatcher documentation for more information on how to
-    use QFuture in your applications.
-
-    If you want to modify a sequence in-place, use QtConcurrent::filter():
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 2
-
-    Since the sequence is modified in place, QtConcurrent::filter() does not
-    return any results via QFuture. However, you can still use QFuture and
-    QFutureWatcher to monitor the status of the filter.
-
-    \section1 Concurrent Filter-Reduce
-
-    QtConcurrent::filteredReduced() is similar to QtConcurrent::filtered(),
-    but instead of returing a sequence with the filtered results, the results
-    are combined into a single value using a reduce function.
-
-    The reduce function must be of the form:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 3
-
-    T is the type of the final result, U is the type of items being filtered.
-    Note that the return value and return type of the reduce function are not
-    used.
-
-    Call QtConcurrent::filteredReduced() like this:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 4
-
-    The reduce function will be called once for each result kept by the filter
-    function, and should merge the \e{intermediate} into the \e{result}
-    variable. QtConcurrent::filteredReduced() guarantees that only one thread
-    will call reduce at a time, so using a mutex to lock the result variable
-    is not necessary. The QtConcurrent::ReduceOptions enum provides a way to
-    control the order in which the reduction is done.
-
-    \section1 Additional API Features
-
-    \section2 Using Iterators instead of Sequence
-
-    Each of the above functions has a variant that takes an iterator range
-    instead of a sequence. You use them in the same way as the sequence
-    variants:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 5
-
-
-    \section2 Using Member Functions
-
-    QtConcurrent::filter(), QtConcurrent::filtered(), and
-    QtConcurrent::filteredReduced() accept pointers to member functions.
-    The member function class type must match the type stored in the sequence:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 7
-
-    Note that when using QtConcurrent::filteredReduced(), you can mix the use of
-    normal and member functions freely:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 8
-
-    \section2 Using Function Objects
-
-    QtConcurrent::filter(), QtConcurrent::filtered(), and
-    QtConcurrent::filteredReduced() accept function objects, which can be used to
-    add state to a function call. The result_type typedef must define the 
-    result type of the function call operator:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 13
-
-    \section2 Using Bound Function Arguments
-
-    Note that Qt does not provide support for bound functions. This is
-    provided by 3rd party libraries like
-    \l{http://www.boost.org/libs/bind/bind.html}{Boost} or
-    \l{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf}
-    {C++ TR1 Library Extensions}.
-
-    If you want to use a filter function takes more than one argument, you can
-    use boost::bind() or std::tr1::bind() to transform it onto a function that
-    takes one argument.
-
-    As an example, we use QString::contains():
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 9
-
-    QString::contains() takes 2 arguments (including the "this" pointer) and
-    can't be used with QtConcurrent::filtered() directly, because
-    QtConcurrent::filtered() expects a function that takes one argument. To
-    use QString::contains() with QtConcurrent::filtered() we have to provide a
-    value for the \e regexp argument:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 10
-
-    The return value from boost::bind() is a function object (functor) with
-    the following signature:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 11
-
-    This matches what QtConcurrent::filtered() expects, and the complete
-    example becomes:
-
-    \snippet doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp 12
-*/
-
-/*!
-    \fn QFuture<void> QtConcurrent::filter(Sequence &sequence, FilterFunction filterFunction)
-    \relates <QtConcurrentFilter>
-
-    Calls \a filterFunction once for each item in \a sequence. If
-    \a filterFunction returns true, the item is kept in \a sequence;
-    otherwise, the item is removed from \a sequence.
-*/
-
-/*!
-    \fn QFuture<T> QtConcurrent::filtered(const Sequence &sequence, FilterFunction filterFunction)
-    \relates <QtConcurrentFilter>
-
-    Calls \a filterFunction once for each item in \a sequence and returns a
-    new Sequence of kept items. If \a filterFunction returns true, a copy of
-    the item is put in the new Sequence. Otherwise, the item will \e not
-    appear in the new Sequence.
-*/
-
-/*!
-    \fn QFuture<T> QtConcurrent::filtered(ConstIterator begin, ConstIterator end, FilterFunction filterFunction)
-    \relates <QtConcurrentFilter>
-
-    Calls \a filterFunction once for each item from \a begin to \a end and
-    returns a new Sequence of kept items. If \a filterFunction returns true, a
-    copy of the item is put in the new Sequence. Otherwise, the item will
-    \e not appear in the new Sequence.
-*/
-
-/*!
-    \fn QFuture<T> QtConcurrent::filteredReduced(const Sequence &sequence, FilterFunction filterFunction, ReduceFunction reduceFunction, QtConcurrent::ReduceOptions reduceOptions)
-    \relates <QtConcurrentFilter>
-
-    Calls \a filterFunction once for each item in \a sequence. If
-    \a filterFunction returns true for an item, that item is then passed to
-    \a reduceFunction. In other words, the return value is the result of
-    \a reduceFunction for each item where \a filterFunction returns true.
-
-    Note that while \a filterFunction is called concurrently, only one thread
-    at a time will call \a reduceFunction. The order in which \a reduceFunction
-    is called is undefined if \a reduceOptions is
-    QtConcurrent::UnorderedReduce. If \a reduceOptions is
-    QtConcurrent::OrderedReduce, \a reduceFunction is called in the order of
-    the original sequence.
-*/
-
-/*!
-    \fn QFuture<T> QtConcurrent::filteredReduced(ConstIterator begin, ConstIterator end, FilterFunction filterFunction, ReduceFunction reduceFunction, QtConcurrent::ReduceOptions reduceOptions)
-    \relates <QtConcurrentFilter>
-
-    Calls \a filterFunction once for each item from \a begin to \a end. If
-    \a filterFunction returns true for an item, that item is then passed to
-    \a reduceFunction. In other words, the return value is the result of
-    \a reduceFunction for each item where \a filterFunction returns true.
-
-    Note that while \a filterFunction is called concurrently, only one thread
-    at a time will call \a reduceFunction. The order in which
-    \a reduceFunction is called is undefined if \a reduceOptions is
-    QtConcurrent::UnorderedReduce. If \a reduceOptions is
-    QtConcurrent::OrderedReduce, the \a reduceFunction is called in the order
-    of the original sequence.
-*/
-
-/*!
-  \fn void QtConcurrent::blockingFilter(Sequence &sequence, FilterFunction filterFunction)
-
-  Calls \a filterFunction once for each item in \a sequence. If
-  \a filterFunction returns true, the item is kept in \a sequence;
-  otherwise, the item is removed from \a sequence.
-
-  \note This function will block until all items in the sequence have been processed.
-*/
-
-/*!
-  \fn Sequence QtConcurrent::blockingFiltered(const Sequence &sequence, FilterFunction filterFunction)
-
-  Calls \a filterFunction once for each item in \a sequence and returns a
-  new Sequence of kept items. If \a filterFunction returns true, a copy of
-  the item is put in the new Sequence. Otherwise, the item will \e not
-  appear in the new Sequence.
-
-  \note This function will block until all items in the sequence have been processed.
-
-  \sa filtered()
-*/
-
-/*!
-  \fn Sequence QtConcurrent::blockingFiltered(ConstIterator begin, ConstIterator end, FilterFunction filterFunction)
-
-  Calls \a filterFunction once for each item from \a begin to \a end and
-  returns a new Sequence of kept items. If \a filterFunction returns true, a
-  copy of the item is put in the new Sequence. Otherwise, the item will
-  \e not appear in the new Sequence.
-
-  \note This function will block until the iterator reaches the end of the
-  sequence being processed.
-
-  \sa filtered()
-*/
-
-/*!
-  \fn T QtConcurrent::blockingFilteredReduced(const Sequence &sequence, FilterFunction filterFunction, ReduceFunction reduceFunction, QtConcurrent::ReduceOptions reduceOptions)
-
-  Calls \a filterFunction once for each item in \a sequence. If
-  \a filterFunction returns true for an item, that item is then passed to
-  \a reduceFunction. In other words, the return value is the result of
-  \a reduceFunction for each item where \a filterFunction returns true.
-
-  Note that while \a filterFunction is called concurrently, only one thread
-  at a time will call \a reduceFunction. The order in which \a reduceFunction
-  is called is undefined if \a reduceOptions is
-  QtConcurrent::UnorderedReduce. If \a reduceOptions is
-  QtConcurrent::OrderedReduce, \a reduceFunction is called in the order of
-  the original sequence.
-
-  \note This function will block until all items in the sequence have been processed.
-
-  \sa filteredReduced()
-*/
-
-/*!
-  \fn T QtConcurrent::blockingFilteredReduced(ConstIterator begin, ConstIterator end, FilterFunction filterFunction, ReduceFunction reduceFunction, QtConcurrent::ReduceOptions reduceOptions)
-
-  Calls \a filterFunction once for each item from \a begin to \a end. If
-  \a filterFunction returns true for an item, that item is then passed to
-  \a reduceFunction. In other words, the return value is the result of
-  \a reduceFunction for each item where \a filterFunction returns true.
-
-  Note that while \a filterFunction is called concurrently, only one thread
-  at a time will call \a reduceFunction. The order in which
-  \a reduceFunction is called is undefined if \a reduceOptions is
-  QtConcurrent::UnorderedReduce. If \a reduceOptions is
-  QtConcurrent::OrderedReduce, the \a reduceFunction is called in the order
-  of the original sequence.
-
-  \note This function will block until the iterator reaches the end of the
-  sequence being processed.
-
-  \sa filteredReduced()
-*/
diff --git a/src/core/concurrent/qtconcurrentfilter.h b/src/core/concurrent/qtconcurrentfilter.h
deleted file mode 100644 (file)
index 89fcb8b..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the QtCore module of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTCONCURRENT_FILTER_H
-#define QTCONCURRENT_FILTER_H
-
-#include <QtCore/qglobal.h>
-
-#ifndef QT_NO_CONCURRENT
-
-#include <QtCore/qtconcurrentfilterkernel.h>
-#include <QtCore/qtconcurrentfunctionwrappers.h>
-
-QT_BEGIN_NAMESPACE
-
-
-
-namespace QtConcurrent {
-
-template <typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-ThreadEngineStarter<void> filterInternal(Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce)
-{
-    typedef FilterKernel<Sequence, KeepFunctor, ReduceFunctor> KernelType;
-    return startThreadEngine(new KernelType(sequence, keep, reduce));
-}
-
-// filter() on sequences
-template <typename Sequence, typename KeepFunctor>
-QFuture<void> filter(Sequence &sequence, KeepFunctor keep)
-{
-    return filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper());
-}
-
-// filteredReduced() on sequences
-template <typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-QFuture<ResultType> filteredReduced(const Sequence &sequence,
-                                    KeepFunctor keep,
-                                    ReduceFunctor reduce,
-                                    ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return startFilteredReduced<ResultType>(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::createFunctionWrapper(reduce), options);
-}
-
-template <typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-QFuture<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType> filteredReduced(const Sequence &sequence,
-                                    KeepFunctor keep,
-                                    ReduceFunctor reduce,
-                                    ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
-            (sequence,
-             QtPrivate::createFunctionWrapper(keep),
-             QtPrivate::createFunctionWrapper(reduce),
-             options);
-}
-
-// filteredReduced() on iterators
-template <typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
-QFuture<ResultType> filteredReduced(Iterator begin,
-                                    Iterator end,
-                                    KeepFunctor keep,
-                                    ReduceFunctor reduce,
-                                    ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-   return startFilteredReduced<ResultType>(begin, end, QtPrivate::createFunctionWrapper(keep), QtPrivate::createFunctionWrapper(reduce), options);
-}
-
-template <typename Iterator, typename KeepFunctor, typename ReduceFunctor>
-QFuture<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType> filteredReduced(Iterator begin,
-                                    Iterator end,
-                                    KeepFunctor keep,
-                                    ReduceFunctor reduce,
-                                    ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-   return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
-           (begin, end,
-            QtPrivate::createFunctionWrapper(keep),
-            QtPrivate::createFunctionWrapper(reduce),
-            options);
-}
-
-// filtered() on sequences
-template <typename Sequence, typename KeepFunctor>
-QFuture<typename Sequence::value_type> filtered(const Sequence &sequence, KeepFunctor keep)
-{
-    return startFiltered(sequence, QtPrivate::createFunctionWrapper(keep));
-}
-
-// filtered() on iterators
-template <typename Iterator, typename KeepFunctor>
-QFuture<typename qValueType<Iterator>::value_type> filtered(Iterator begin, Iterator end, KeepFunctor keep)
-{
-    return startFiltered(begin, end, QtPrivate::createFunctionWrapper(keep));
-}
-
-// blocking filter() on sequences
-template <typename Sequence, typename KeepFunctor>
-void blockingFilter(Sequence &sequence, KeepFunctor keep)
-{
-    filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper()).startBlocking();
-}
-
-// blocking filteredReduced() on sequences
-template <typename ResultType, typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-ResultType blockingFilteredReduced(const Sequence &sequence,
-                                   KeepFunctor keep,
-                                   ReduceFunctor reduce,
-                                   ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return startFilteredReduced<ResultType>(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::createFunctionWrapper(reduce), options)
-        .startBlocking();
-}
-
-template <typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType blockingFilteredReduced(const Sequence &sequence,
-                                   KeepFunctor keep,
-                                   ReduceFunctor reduce,
-                                   ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return blockingFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
-        (sequence,
-         QtPrivate::createFunctionWrapper(keep),
-         QtPrivate::createFunctionWrapper(reduce),
-         options);
-}
-
-// blocking filteredReduced() on iterators
-template <typename ResultType, typename Iterator, typename KeepFunctor, typename ReduceFunctor>
-ResultType blockingFilteredReduced(Iterator begin,
-                                   Iterator end,
-                                   KeepFunctor keep,
-                                   ReduceFunctor reduce,
-                                   ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return startFilteredReduced<ResultType>
-        (begin, end,
-         QtPrivate::createFunctionWrapper(keep),
-         QtPrivate::createFunctionWrapper(reduce),
-         options)
-        .startBlocking();
-}
-
-template <typename Iterator, typename KeepFunctor, typename ReduceFunctor>
-typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType blockingFilteredReduced(Iterator begin,
-                                   Iterator end,
-                                   KeepFunctor keep,
-                                   ReduceFunctor reduce,
-                                   ReduceOptions options = ReduceOptions(UnorderedReduce | SequentialReduce))
-{
-    return startFilteredReduced<typename QtPrivate::ReduceResultType<ReduceFunctor>::ResultType>
-        (begin, end,
-         QtPrivate::createFunctionWrapper(keep),
-         QtPrivate::createFunctionWrapper(reduce),
-         options)
-        .startBlocking();
-}
-
-// blocking filtered() on sequences
-template <typename Sequence, typename KeepFunctor>
-Sequence blockingFiltered(const Sequence &sequence, KeepFunctor keep)
-{
-    return startFilteredReduced<Sequence>(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper(), OrderedReduce).startBlocking();
-}
-
-// blocking filtered() on iterators
-template <typename OutputSequence, typename Iterator, typename KeepFunctor>
-OutputSequence blockingFiltered(Iterator begin, Iterator end, KeepFunctor keep)
-{
-    return startFilteredReduced<OutputSequence>(begin, end,
-        QtPrivate::createFunctionWrapper(keep),
-        QtPrivate::PushBackWrapper(),
-        OrderedReduce).startBlocking();
-}
-
-} // namespace QtConcurrent
-
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_CONCURRENT
-
-#endif
diff --git a/src/core/concurrent/qtconcurrentfilterkernel.h b/src/core/concurrent/qtconcurrentfilterkernel.h
deleted file mode 100644 (file)
index 3641d1a..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2016 Ivailo Monev
-**
-** This file is part of the QtCore module of the Katie Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-**
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTCONCURRENT_FILTERKERNEL_H
-#define QTCONCURRENT_FILTERKERNEL_H
-
-#include <QtCore/qglobal.h>
-
-#ifndef QT_NO_CONCURRENT
-
-#include <QtCore/qtconcurrentiteratekernel.h>
-#include <QtCore/qtconcurrentmapkernel.h>
-#include <QtCore/qtconcurrentreducekernel.h>
-
-QT_BEGIN_NAMESPACE
-
-
-namespace QtConcurrent {
-
-template <typename T>
-struct qValueType
-{
-    typedef typename T::value_type value_type;
-};
-
-template <typename T>
-struct qValueType<const T*>
-{
-    typedef T value_type;
-};
-
-template <typename T>
-struct qValueType<T*>
-{
-    typedef T value_type;
-};
-
-// Implementation of filter
-template <typename Sequence, typename KeepFunctor, typename ReduceFunctor>
-class FilterKernel : public IterateKernel<typename Sequence::const_iterator, void>
-{
-    typedef ReduceKernel<ReduceFunctor, Sequence, typename Sequence::value_type> Reducer;
-    typedef IterateKernel<typename Sequence::const_iterator, void> IterateKernelType;
-    typedef typename ReduceFunctor::result_type T;
-
-    Sequence reducedResult;
-    Sequence &sequence;
-    KeepFunctor keep;
-    ReduceFunctor reduce;
-    Reducer reducer;
-
-public:
-    FilterKernel(Sequence &_sequence, KeepFunctor _keep, ReduceFunctor _reduce)
-        : IterateKernelType(_sequence.constBegin(), _sequence.constEnd()), reducedResult(),
-          sequence(_sequence),
-          keep(_keep),
-          reduce(_reduce),
-          reducer(OrderedReduce)
-    { }
-
-    bool runIteration(typename Sequence::const_iterator it, int index, T *)
-    {
-        IntermediateResults<typename Sequence::value_type> results;
-        results.begin = index;
-        results.end = index + 1;
-
-            if (keep(*it))
-                results.vector.append(*it);
-
-            reducer.runReduce(reduce, reducedResult, results);
-            return false;
-    }
-
-    bool runIterations(typename Sequence::const_iterator sequenceBeginIterator, int begin, int end, T *)
-    {
-        IntermediateResults<typename Sequence::value_type> results;
-        results.begin = begin;
-        results.end = end;
-        results.vector.reserve(end - begin);
-
-
-        typename Sequence::const_iterator it = sequenceBeginIterator;
-        std::advance(it, begin);
-        for (int i = begin; i < end; ++i) {
-            if (keep(*it))
-                results.vector.append(*it);
-            std::advance(it, 1);
-        }
-
-        reducer.runReduce(reduce, reducedResult, results);
-        return false;
-    }
-
-    void finish()
-    {
-        reducer.finish(reduce, reducedResult);
-        sequence = reducedResult;
-    }
-
-    inline bool shouldThrottleThread()
-    {
-        return IterateKernelType::shouldThrottleThread() || reducer.shouldThrottle();
-    }
-
-    inline bool shouldStartThread()
-    {
-        return IterateKernelType::shouldStartThread() && reducer.shouldStartThread();
-    }
-
-    typedef void ReturnType;
-    typedef void ResultType;
-};
-
-// Implementation of filter-reduce
-template <typename ReducedResultType,
-          typename Iterator,
-          typename KeepFunctor,
-          typename ReduceFunctor,
-          typename Reducer = ReduceKernel<ReduceFunctor,
-                                          ReducedResultType,
-                                          typename qValueType<Iterator>::value_type> >
-class FilteredReducedKernel : public IterateKernel<Iterator, ReducedResultType>
-{
-    ReducedResultType reducedResult;
-    KeepFunctor keep;
-    ReduceFunctor reduce;
-    Reducer reducer;
-    typedef IterateKernel<Iterator, ReducedResultType> IterateKernelType;
-
-public:
-    FilteredReducedKernel(Iterator begin,
-                          Iterator end,
-                          KeepFunctor _keep,
-                          ReduceFunctor _reduce,
-                          ReduceOptions reduceOption)
-        : IterateKernelType(begin, end), reducedResult(), keep(_keep), reduce(_reduce), reducer(reduceOption)
-    { }
-
-#if 0
-    FilteredReducedKernel(ReducedResultType initialValue,
-                          KeepFunctor keep,
-                          ReduceFunctor reduce,
-                          ReduceOption reduceOption)
-        : reducedResult(initialValue), keep(keep), reduce(reduce), reducer(reduceOption)
-    { }
-#endif
-
-    bool runIteration(Iterator it, int index, ReducedResultType *)
-    {
-        IntermediateResults<typename qValueType<Iterator>::value_type> results;
-        results.begin = index;
-        results.end = index + 1;
-
-        if (keep(*it))
-            results.vector.append(*it);
-
-        reducer.runReduce(reduce, reducedResult, results);
-        return false;
-    }
-
-    bool runIterations(Iterator sequenceBeginIterator, int begin, int end, ReducedResultType *)
-    {
-        IntermediateResults<typename qValueType<Iterator>::value_type> results;
-        results.begin = begin;
-        results.end = end;
-        results.vector.reserve(end - begin);
-
-        Iterator it = sequenceBeginIterator;
-        std::advance(it, begin);
-        for (int i = begin; i < end; ++i) {
-            if (keep(*it))
-                results.vector.append(*it);
-            std::advance(it, 1);
-        }
-
-        reducer.runReduce(reduce, reducedResult, results);
-        return false;
-    }
-
-    void finish()
-    {
-        reducer.finish(reduce, reducedResult);
-    }
-
-    inline bool shouldThrottleThread()
-    {
-        return IterateKernelType::shouldThrottleThread() || reducer.shouldThrottle();
-    }
-
-    inline bool shouldStartThread()
-    {
-        return IterateKernelType::shouldStartThread() && reducer.shouldStartThread();
-    }
-
-    typedef ReducedResultType ReturnType;
-    typedef ReducedResultType ResultType;
-    ReducedResultType *result()
-    {
-        return &reducedResult;
-    }
-};
-
-// Implementation of filter that reports individual results via QFutureInterface
-template <typename Iterator, typename KeepFunctor>
-class FilteredEachKernel : public IterateKernel<Iterator, typename qValueType<Iterator>::value_type>
-{
-    typedef typename qValueType<Iterator>::value_type T;
-    typedef IterateKernel<Iterator, T> IterateKernelType;
-
-    KeepFunctor keep;
-
-public:
-    typedef T ReturnType;
-    typedef T ResultType;
-
-    FilteredEachKernel(Iterator begin, Iterator end, KeepFunctor _keep)
-        : IterateKernelType(begin, end), keep(_keep)
-    { }
-
-    void start()
-    {
-        if (this->futureInterface)
-            this->futureInterface->setFilterMode(true);
-        IterateKernelType::start();
-    }
-
-    bool runIteration(Iterator it, int index, T *)
-    {
-        if (keep(*it))
-            this->reportResult(&(*it), index);
-        else
-            this->reportResult(0, index);
-        return false;
-    }
-
-    bool runIterations(Iterator sequenceBeginIterator, int begin, int end, T *)
-    {
-        const int count = end - begin;
-        IntermediateResults<typename qValueType<Iterator>::value_type> results;
-        results.begin = begin;
-        results.end = end;
-        results.vector.reserve(count);
-
-        Iterator it = sequenceBeginIterator;
-        std::advance(it, begin);
-        for (int i = begin; i < end; ++i) {
-            if (keep(*it))
-                results.vector.append(*it);
-            std::advance(it, 1);
-        }
-
-        this->reportResults(results.vector, begin, count);
-        return false;
-    }
-};
-
-template <typename Iterator, typename KeepFunctor>
-inline
-ThreadEngineStarter<typename qValueType<Iterator>::value_type>
-startFiltered(Iterator begin, Iterator end, KeepFunctor functor)
-{
-    return startThreadEngine(new FilteredEachKernel<Iterator, KeepFunctor>(begin, end, functor));
-}
-
-template <typename Sequence, typename KeepFunctor>
-inline ThreadEngineStarter<typename Sequence::value_type>
-startFiltered(const Sequence &sequence, KeepFunctor functor)
-{
-    typedef SequenceHolder1<Sequence,
-                            FilteredEachKernel<typename Sequence::const_iterator, KeepFunctor>,
-                            KeepFunctor>
-        SequenceHolderType;
-        return startThreadEngine(new SequenceHolderType(sequence, functor));
-}
-
-template <typename ResultType, typename Sequence, typename MapFunctor, typename ReduceFunctor>
-inline ThreadEngineStarter<ResultType> startFilteredReduced(const Sequence & sequence,
-                                                           MapFunctor mapFunctor, ReduceFunctor reduceFunctor,
-                                                           ReduceOptions options)
-{
-    typedef typename Sequence::const_iterator Iterator;
-    typedef ReduceKernel<ReduceFunctor, ResultType, typename qValueType<Iterator>::value_type > Reducer;
-    typedef FilteredReducedKernel<ResultType, Iterator, MapFunctor, ReduceFunctor, Reducer> FilteredReduceType;
-    typedef SequenceHolder2<Sequence, FilteredReduceType, MapFunctor, ReduceFunctor> SequenceHolderType;
-    return startThreadEngine(new SequenceHolderType(sequence, mapFunctor, reduceFunctor, options));
-}
-
-
-template <typename ResultType, typename Iterator, typename MapFunctor, typename ReduceFunctor>
-inline ThreadEngineStarter<ResultType> startFilteredReduced(Iterator begin, Iterator end,
-                                                           MapFunctor mapFunctor, ReduceFunctor reduceFunctor,
-                                                           ReduceOptions options)
-{
-    typedef ReduceKernel<ReduceFunctor, ResultType, typename qValueType<Iterator>::value_type> Reducer;
-    typedef FilteredReducedKernel<ResultType, Iterator, MapFunctor, ReduceFunctor, Reducer> FilteredReduceType;
-    return startThreadEngine(new FilteredReduceType(begin, end, mapFunctor, reduceFunctor, options));
-}
-
-
-} // namespace QtConcurrent
-
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_CONCURRENT
-
-#endif