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)
std::enable_if<!std::is_void< T >::value, QVector< T > >::type filter(const std::function< bool(const T &)> &pFunc, const QVector< T > &pItems)
Definition: FuncUtils.h:61
std::enable_if<!std::is_void< T >::value, QVector< T > >::type map(const std::function< T(const S &)> &pFunc, const QVector< S > &pItems)
Definition: FuncUtils.h:23
#define T(v)
Definition: http_parser.cpp:234