signed char> : public true_type{}; template <> struct is_signed_imp<const signed char> : public true_type{}; template <> struct is_signed_imp<volatile signed char> : public true_type{}; template <> struct is_signed_imp<const volatile signed char> : public true_type{}; template <> struct is_signed_imp<short> : public true_type{}; template <> struct is_signed_imp<const short> : public true_type{}; template <> struct is_signed_imp<volatile short> : public true_type{}; template <> struct is_signed_imp<const volatile short> : public true_type{}; template <> struct is_signed_imp<int> : public true_type{}; template <> struct is_signed_imp<const int> : public true_type{}; template <> struct is_signed_imp<volatile int> : public true_type{}; template <> struct is_signed_imp<const volatile int> : public true_type{}; template <> struct is_signed_imp<long> : public true_type{}; template <> struct is_signed_imp<const long> : public true_type{}; template <> struct is_signed_imp<volatile long> : public true_type{}; template <> struct is_signed_imp<const volatile long