49 lines
1.8 KiB
C++
49 lines
1.8 KiB
C++
/* Check cf5-opt.vim defs.
|
|
VIM: let g:lcppflags="-std=c++11 -O2 -pthread"
|
|
VIM: let g:wcppflags="/O2 /EHsc /DWIN32"
|
|
VIM: let g:cppflags=g:Iboost.g:Itbb
|
|
VIM: let g:ldflags=g:Lboost.g:Ltbb.g:tbbmalloc.g:tbbmproxy
|
|
VIM: let g:ldlibpath=g:Bboost.g:Btbb
|
|
VIM: let g:argv=""
|
|
VIM-: let g:cf5output=0
|
|
*/
|
|
#include <iostream>
|
|
|
|
const char * f( unsigned long ){ return "unsigned long"; }
|
|
const char * f( unsigned int ){ return "unsigned int"; }
|
|
const char * f( unsigned short ){ return "unsigned short"; }
|
|
const char * f( unsigned char ){ return "unsigned char"; }
|
|
const char * f( long ){ return "long"; }
|
|
const char * f( int ){ return "int"; }
|
|
const char * f( short ){ return "short"; }
|
|
const char * f( char ){ return "char"; }
|
|
|
|
template <typename T>
|
|
const char * g() {
|
|
return f( T(1) + T(2) );
|
|
}
|
|
|
|
template <typename T1, typename T2>
|
|
const char * h() {
|
|
return f( T1(1) + T2(2) );
|
|
}
|
|
|
|
int main ( void )
|
|
{
|
|
std::cout << "char+char=" << g<char>() << std::endl;
|
|
std::cout << "short+short=" << g<short>() << std::endl;
|
|
std::cout << "int+int=" << g<int>() << std::endl;
|
|
std::cout << "long+long=" << g<long>() << std::endl;
|
|
std::cout << "uchar+uchar=" << g<unsigned char>() << std::endl;
|
|
std::cout << "ushort+ushort=" << g<unsigned short>() << std::endl;
|
|
std::cout << "uint+uint=" << g<unsigned>() << std::endl;
|
|
std::cout << "ulong+ulong=" << g<unsigned long>() << std::endl;
|
|
std::cout << std::endl;
|
|
std::cout << "uchar+char=" << h<unsigned char,char>() << std::endl;
|
|
std::cout << "uint+int=" << h<unsigned int,int>() << std::endl;
|
|
std::cout << "ulong+long=" << h<unsigned long,long>() << std::endl;
|
|
std::cout << "ulong+int=" << h<unsigned long,int>() << std::endl;
|
|
std::cout << "uint+long=" << h<unsigned int,long>() << std::endl;
|
|
return 0;
|
|
}
|