The type_traits docs include this table entry:
-----------
::boost::is_member_pointer<T>::value
|
Evaluates to true only if T is
a cv-qualified pointer to a data-member or member-function.
|
3.9.2
8.3.3
|
On some compilers, member
function pointers may be incorrectly identified as regular
pointers. |
------------
The final remark confuses me. The way it's worded, it doesn't
seem to imply anything about is_member_pointer<T>, but about
is_pointer<T> instead. If that's the case, shouldn't it appear in the
entry for is_pointer (and then, couldn't we fix is_pointer by returning false
when is_member_pointer returned true)? If that's not the case, shouldn't it be
reworded as follows:
On some compilers, is_member_pointer<T>::value
is always false
...and can we say something about which compilers have this
property?