10template <
template <
typename,
typename...>
typename Cont,
14 typename OutElem =
typename std::invoke_result<F, InElem const&>::type>
15Cont<OutElem>
map(Cont<InElem, Args...>
const& in, F&& op)
30 typename OutElem =
typename std::invoke_result<F, InElem const&>::type>
34 std::transform(in.begin(), in.end(), result.begin(), op);
42template <
template <
typename,
typename...>
typename Cont,
46 typename OutElem =
typename std::invoke_result<F, InElem const&, size_t>::type>
47Cont<OutElem>
mapi(Cont<InElem, Args...>
const& in, F op)
50 for (
size_t i = 0; i < in.size(); ++i) {
51 result.push_back(op(in[i], i));
59template <
typename Cont,
typename F> Cont
filter(Cont
const& in, F op)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept