There is exist a method to call std::tr1::is_pod
Also you can use bycicle like:
#define CHECK_TYPE_IS_A_POD(TYPE)\{\ switch(1)\ {\ case 1:\ TYPE IF_COMPILE_ERROR_THEN__##TYPE##__IS_NOT_A_POD;\ /* prune out any warnings about not usage */ \ IF_COMPILE_ERROR_THEN__##TYPE##__IS_NOT_A_POD = TYPE();\ case 2:\ ;\ }\
But it doen't work for namespace qualification names and specialized template types.