14    is_same<remove_cv_t<T>, signed char>::value ||
 
   15    is_same<remove_cv_t<T>, unsigned char>::value ||
 
   16    is_same<remove_cv_t<T>, signed short>::value ||
 
   17    is_same<remove_cv_t<T>, unsigned short>::value ||
 
   18    is_same<remove_cv_t<T>, signed int>::value ||
 
   19    is_same<remove_cv_t<T>, unsigned int>::value ||
 
   20    is_same<remove_cv_t<T>, signed long>::value ||
 
   21    is_same<remove_cv_t<T>, unsigned long>::value ||
 
   22    is_same<remove_cv_t<T>, signed long long>::value ||
 
   23    is_same<remove_cv_t<T>, unsigned long long>::value ||
 
   24    is_same<remove_cv_t<T>, char>::value ||
 
   25    is_same<remove_cv_t<T>, bool>::value> {};