| 76 | |
| 77 | template <std::size_t len, class Tuple> |
| 78 | constexpr decltype(auto) takeTuple(Tuple &&t) |
| 79 | { |
| 80 | constexpr auto tupleSize = std::tuple_size_v<std::remove_reference_t<Tuple>>; |
| 81 | static_assert(len <= tupleSize); |
| 82 | return subtuple<0, len>(std::forward<Tuple>(t)); |
| 83 | } |
| 84 | |
| 85 | template <std::size_t len, class Tuple> |
| 86 | using TakeTupleType = std::decay_t<decltype(takeTuple<len>(std::declval<Tuple>()))>; |
nothing calls this directly
no outgoing calls
no test coverage detected