typedef mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_signed< T >::value,::boost::is_integral< T >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, char >::value >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, wchar_t >::value >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, bool >::value >::value >::value), T, typename mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_integral< T >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, char >::value >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, wchar_t >::value >::value,::boost::type_traits::ice_not< ::boost::is_same< t_no_cv, bool >::value >::value >::value), typename mpl::if_< is_same< t_no_cv, unsigned char >, signed char, typename mpl::if_< is_same< t_no_cv, unsigned short >, signed short, typename mpl::if_< is_same< t_no_cv, unsigned int >, int, typename mpl::if_< is_same< t_no_cv, unsigned long >, long, long >::type >::type >::type >::type, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned char), signed char, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned short), signed short, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned int), int, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned long), long, long >::type >::type >::type >::type >::type >::type | base_integer_type |