typedef mpl::if_c< (::boost::type_traits::ice_and< ::boost::is_unsigned< 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, signed char >, unsigned char, typename mpl::if_< is_same< t_no_cv, short >, unsigned short, typename mpl::if_< is_same< t_no_cv, int >, unsigned int, typename mpl::if_< is_same< t_no_cv, long >, unsigned long, unsigned long >::type >::type >::type >::type, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned char), unsigned char, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned short), unsigned short, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned int), unsigned int, typename mpl::if_c< sizeof(t_no_cv)==sizeof(unsigned long), unsigned long, unsigned long >::type >::type >::type >::type >::type >::type | base_integer_type |