У меня вопрос о разделении кортежа, как сказано в названии.
На самом деле, я могу сделать это с помощью std::index_sequence
, но код выглядит уродливым.
Есть ли элегантный способ сделать это?
Вот какой код, чтобы показать, что я имею в виду.
#include<tuple>
using namespace std;
template<typename THead, typename ...TTails>
void foo(tuple<THead, TTails...> tpl)
{
tuple<THead> tpl_h { get<0>(tpl) };
tuple<TTails...> tpl_t { /* an elegent way? */ }
do_sth(tpl_h, tpl_t);
}
int main()
{
foo(make_tuple(1, 2.0f, 'c'));
return 0;
}