Usando a indexação de pacotes do C++26 , você pode criar uma tupla simples de tipos como esta:
template <typename... Ts>
struct type_tuple {
template <unsigned Index>
using get = Ts...[Index];
};
using T = type_tuple<int, float, double>::get<1>; // float
Como isso pode ser replicado em versões anteriores do C++?
Você pode usar
std::tuple_element
. Isso funcionará em todas as versões C++ que suportam pacotes de parâmetros: