Re: скопировать элементы тьюпла за исключением последнего
От: watchmaker  
Дата: 20.03.18 14:17
Оценка: 9 (1) +1
Здравствуйте, niXman, Вы писали:

X>исключить первый — просто. а с последним что-то не получается...

А в чём разница, если к ним по индексам обращаться?

template <class T, size_t... I>
auto slice_tuple(const T& t, std::index_sequence<I...>) {
        return std::tuple<typename std::tuple_element<I, T>::type...>((std::get<I>(t))...);
}

template <class THead, class... TTail>
auto tuple_pop_back(const std::tuple<THead, TTail...>& t) {
    return slice_tuple(t, std::make_index_sequence<sizeof...(TTail)>());
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.