blob: e0b7d68c13723e4893c81eb0a07efa150a7c4542 [file] [log] [blame]
template < typename T > struct integral_c {
static const T value = 0;
};
struct is_reference:integral_c < bool > { };
template < class > struct is_function_ptr_helper { };
template < bool > struct is_function_chooser;
template <> struct is_function_chooser <0 >
{
template < typename T > struct result_:is_function_ptr_helper < T * > { };
};
template < typename T > struct is_function_impl:is_function_chooser <
is_reference::value >::result_ < T > { };