#include <tuple>
#include <iostream>

struct A { using data_type = int; };
struct B { using data_type = char; };

template < typename... Ts >
using cvt_2_data = std::tuple< Ts::data... >;

void main()
{
	using my_typelist = std::tuple<A, B>;
	cvt_2_data<my_typelist> data;
	std::cout 
		<< std::get<A::data_type>(data) << " "
		<< std::get<B::data_type>(data) << std::endl;
}