|
Boost : |
From: Dave Abrahams (abrahams_at_[hidden])
Date: 2000-12-18 11:41:22
I know we had a long discussion about the intent of the standard with
regard to the question "is T* const a pointer"? I think the
resolution was that, however strict, our previous reading of the
standard misconstrued its intent and we would change the behavior of
type_traits appropriately. Did that ever happen, or have I
misunderstood our conclusion?
Reading ob_type_traits.hpp, I see:
---- //* is a type T a pointer type (including function pointers) - is_pointer<T> template <typename T> struct is_pointer { private: static T t; public: enum{ value = (!is_const<T>::value & !is_volatile<T>::value & !is_reference<T>::value & !is_array<T>::value) & ((1 == sizeof(detail::is_pointer_helper(t))) | (1 == sizeof(detail::is_pointer_helper3 (t)))) }; }; ----- This seems to indicate that T* const or T* volatile will not be treated as pointers by type_traits. Have I misread the code? Thanks, Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk