ype type;};  template<typename Func, typename ArgType> struct unary_result_of_select<Func, ArgType, sizeof(has_std_result_type)> {typedef typename Func::result_type type;};  template<typename Func, typename ArgType> struct unary_result_of_select<Func, ArgType, sizeof(has_tr0_result)> {typedef typename Func::template result<Func(ArgType)>::type type;};  template<typename Func, typename ArgType> struct 