struct  TypeList0 { } ; 
 
 
template < typename  T, typename  ...Args > 
struct  VariadicTypeList
{ 
	typedef  T	Head; 
	typedef  VariadicTypeList< Args...> 	Tail; 
} ; 
template < typename  T> 
struct  VariadicTypeList< T> 
{ 
	typedef  T	Head; 
	typedef  TypeList0	Tail; 
} ; 
 
template < typename  ...Args > 
struct  Types
{ 
	typedef  VariadicTypeList< Args...> 	type; 
} ; 
 
int  main( void ) 
{ 
	VariadicTypeList< int , float > :: Head  c; 
	Types< int , float > :: type :: Head  d; 
	return  0 ; 
} 
 
c3RydWN0IFR5cGVMaXN0MCB7fTsKCgp0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSAuLi5BcmdzPgpzdHJ1Y3QgVmFyaWFkaWNUeXBlTGlzdAp7Cgl0eXBlZGVmIFQJSGVhZDsKCXR5cGVkZWYgVmFyaWFkaWNUeXBlTGlzdDxBcmdzLi4uPglUYWlsOwp9Owp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpzdHJ1Y3QgVmFyaWFkaWNUeXBlTGlzdDxUPgp7Cgl0eXBlZGVmIFQJSGVhZDsKCXR5cGVkZWYgVHlwZUxpc3QwCVRhaWw7Cn07Cgp0ZW1wbGF0ZTx0eXBlbmFtZSAuLi5BcmdzPgpzdHJ1Y3QgVHlwZXMKewoJdHlwZWRlZiBWYXJpYWRpY1R5cGVMaXN0PEFyZ3MuLi4+CXR5cGU7Cn07CgppbnQgbWFpbih2b2lkKQp7CglWYXJpYWRpY1R5cGVMaXN0PGludCwgZmxvYXQ+OjpIZWFkIGM7CglUeXBlczxpbnQsIGZsb2F0Pjo6dHlwZTo6SGVhZCBkOwoJcmV0dXJuIDA7Cn0K
				
				 
			
				
			
			
				
	
		
	
		 
	prog.cpp:8:34: sorry, unimplemented: cannot expand 'Args ...' into a fixed-length argument list
prog.cpp:20:34: sorry, unimplemented: cannot expand 'Args ...' into a fixed-length argument list
prog.cpp: In function 'int main()':
prog.cpp:26:32: error: expected initializer before 'd'