static constexpr decltype(auto) apply(Xs&& xs) { using Raw = typename detail::std::remove_reference<Xs>::type; constexpr auto N = ::std::tuple_size<Raw>::value; return tail_helper( detail::std::forward<Xs>(xs), detail::std::make_index_sequence<N - 1>{} ); }
static constexpr auto apply(Xs&& xs) { constexpr std::size_t N = decltype(hana::length(xs))::value; return tail_helper(static_cast<Xs&&>(xs), std::make_index_sequence<N>{}); }