1 // PR c++/23691 2 3 namespace std { 4 class type_info { 5 bool operator==(const type_info& __arg) const; 6 }; 7 } 8 template <class T, T val> struct integral_constant { 9 static const T value = val; 10 }; 11 template< typename T > struct is_integral : integral_constant<bool,false> {}; 12 template <bool B> struct enable_if_c {}; 13 template<typename Functor> 14 typename enable_if_c<(is_integral<Functor>::value)>::type 15 operator==(const int& f, Functor g); 16 template<class D> get_deleter(std::type_info const & ti)17int get_deleter( std::type_info const & ti ) 18 { 19 return ti == typeid(D); 20 } 21