diff --git a/include/boost/detail/ob_type_traits.hpp b/include/boost/detail/ob_type_traits.hpp index f535f37..2f7d521 100644 --- a/include/boost/detail/ob_type_traits.hpp +++ b/include/boost/detail/ob_type_traits.hpp @@ -278,7 +278,8 @@ private: static T t; public: enum{ value = (1 == sizeof(detail::is_pointer_helper(t))) - && (sizeof(T) != sizeof(void*)) }; + && (sizeof(T) != sizeof(void*)) + && !is_reference::value }; }; //* is a type T a pointer type (including function pointers) - is_pointer @@ -293,7 +294,8 @@ public: enum{ value = (!is_const::value && !is_volatile::value && (sizeof(T) == sizeof(void*)) - && (1 == sizeof(detail::is_pointer_helper(t)))) + && (1 == sizeof(detail::is_pointer_helper(t))) + && !is_reference::value) || (1 == sizeof(detail::is_pointer_helper3(t))) }; };