10 #include <type_traits>
22 template<
typename S,
typename T>
23 typename std::enable_if<!std::is_void<T>::value, QVector<T>>::type
map(
const std::function<
T(
const S&)>& pFunc,
const QVector<S>& pItems)
25 const int sz = pItems.size();
26 QVector<T> result(sz);
27 for (
int index = 0; index < sz; ++index)
29 result[index] = pFunc(pItems[index]);
41 template<
typename S,
typename T>
42 typename std::enable_if<!std::is_void<T>::value, QList<T>>::type
map(
const std::function<
T(
const S&)>& pFunc,
const QList<S>& pItems)
44 const int sz = pItems.size();
46 for (
int index = 0; index < sz; ++index)
48 result.append(pFunc(pItems[index]));
61 typename std::enable_if<!std::is_void<T>::value, QVector<T>>::type
filter(
const std::function<
bool(
const T&)>& pFunc,
const QVector<T>& pItems)
64 for (
const T& item : pItems)