@@ -47,47 +47,26 @@ struct is_reference_to_const<T const volatile&>
4747# endif
4848
4949template <class T >
50- struct is_reference_to_function
51- {
52- BOOST_STATIC_CONSTANT (bool , value = false );
53- };
54-
55- template <class T >
56- struct is_reference_to_function <T&>
57- {
58- BOOST_STATIC_CONSTANT (bool , value = is_function<T>::value);
59- };
60-
61- # if 0
62- template <class T >
63- struct is_reference_to_function <T const &>
50+ struct is_reference_to_function : mpl::bool_c<false >
6451{
65- BOOST_STATIC_CONSTANT (bool , value = is_function<T>::value);
6652};
6753
6854template <class T >
69- struct is_reference_to_function <T volatile & >
55+ struct is_reference_to_function <T&> : is_function<T >
7056{
71- BOOST_STATIC_CONSTANT (bool , value = is_function<T>::value);
7257};
7358
7459template <class T >
75- struct is_reference_to_function <T const volatile &>
76- {
77- BOOST_STATIC_CONSTANT (bool , value = is_function<T>::value);
78- };
79- # endif
80- template <class T >
81- struct is_pointer_to_function
60+ struct is_pointer_to_function : mpl::bool_c<false >
8261{
8362 BOOST_STATIC_CONSTANT (bool , value = false );
8463};
8564
65+ // There's no such thing as a pointer-to-cv-function, so we don't need
66+ // specializations for those
8667template <class T >
87- struct is_pointer_to_function <T*>
68+ struct is_pointer_to_function <T*> : is_function<T>
8869{
89- // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those
90- BOOST_STATIC_CONSTANT (bool , value = is_function<T>::value);
9170};
9271
9372template <class T >
0 commit comments