3#ifndef DUNE_COMMON_STD_APPLY_HH
4#define DUNE_COMMON_STD_APPLY_HH
8#elif DUNE_HAVE_CXX_EXPERIMENTAL_APPLY
9 #include <experimental/tuple>
25#if DUNE_HAVE_CXX_APPLY
29#elif DUNE_HAVE_CXX_EXPERIMENTAL_APPLY
45 template<
class F,
class ArgTuple>
46 decltype(
auto)
apply(F&& f, ArgTuple&& args)
48 auto indices = std::make_index_sequence<std::tuple_size<std::decay_t<ArgTuple>>::value>();
49 return applyPartial(std::forward<F>(f), std::forward<ArgTuple>(args), indices);
decltype(auto) apply(F &&f, ArgTuple &&args)
Apply function with arguments given as tuple.
Definition: apply.hh:46
decltype(auto) applyPartial(F &&f, ArgTuple &&args, std::integer_sequence< I, i... >)
Apply function with arguments from a given tuple.
Definition: tupleutility.hh:40
Dune namespace.
Definition: alignedallocator.hh:14
Contains utility classes which can be used with std::tuple.