8 #ifndef SIG_UTIL_HIGH_ORDER_HPP
9 #define SIG_UTIL_HIGH_ORDER_HPP
11 #include "../helper/helper_modules.hpp"
12 #include "../helper/container_helper.hpp"
22 template <
class F,
class C1,
class... Cs>
27 std::forward<F>(func),
32 const uint length =
min(list1.size(), lists.size()...);
61 template <
class F,
class C>
62 auto map(F&& func, C&& list)
87 template <
class F,
class C1,
class C2>
88 auto zipWith(F&& func, C1&& list1, C2&& list2)
90 return variadicZipWith(std::forward<F>(func), std::forward<C1>(list1), std::forward<C2>(list2));
typename std::remove_const< typename std::remove_reference< T >::type >::type type
auto variadicZipWith(F &&func, C1 &&list1, Cs &&...lists)
n引数高階関数
auto zipWith(F &&func, C1 &&list1, C2 &&list2)
2引数高階関数
auto eval(F &&f, Args &&...args) -> decltype(f(std::forward< Args >(args)...))
auto map(F &&func, C &&list)
1引数高階関数
auto begin(C &&c) -> std::move_iterator< typename RC::iterator >
void iterative_make(uint loop, C &dest, F &&func, Its...iterators)