| 165 | |
| 166 | template <std::size_t start, class Tuple> |
| 167 | constexpr decltype(auto) drop(Tuple &&t) |
| 168 | { |
| 169 | constexpr auto tupleSize = std::tuple_size_v<std::remove_reference_t<Tuple>>; |
| 170 | static_assert(start <= tupleSize); |
| 171 | return subtuple<start, tupleSize>(std::forward<Tuple>(t)); |
| 172 | } |
| 173 | |
| 174 | template <std::size_t len, class Tuple> |
| 175 | constexpr decltype(auto) take(Tuple &&t) |