is_base_of<int, int> behaviour.

Folks, Some time ago we made is_base_of<int,int>::value true, for reasons that escape me, and the TR1 followed this. However, C++0X makes is_base_of<non_class, non_class>::value to be false, which seems all round more logical to me. While I'm sorting out what is_base_of<T, const T> does, it's a good time to fix this as well. Are there any objections to changing the behaviour of is_base_of to match C++0X? Cheers, John.

John Maddock wrote:
Folks,
Some time ago we made is_base_of<int,int>::value true, for reasons that escape me, and the TR1 followed this.
However, C++0X makes is_base_of<non_class, non_class>::value to be false, which seems all round more logical to me.
Not only that but I would have intuitively thought that is_base_of<> would always be false if either template parameter is a non-class type.
participants (2)
-
Edward Diener
-
John Maddock