Is the following type transformation possible:
T1, T2, T3, T4, ...., T2n-1, T2n
---> transform to --->
tuple<
pair<T1, T2>,
pair<T3, T4>,
...,
pair<T2n-1, T2n>
>
Such a meta-function
template <class... Args>
using split_in_pairs_t = ???
would be used like so:
template <class... Args>
class UseCase
{
split_in_pairs_t<Args...> _tupleOfPairs;
};
A non-recursive solution would be preferable.