Updated is_base_of and is_convertible tests to match TR1 requirements.

Disabled tests that are Boost-specific, when TEST_STD is defined.
Suppress some gcc warnings.


[SVN r31632]
This commit is contained in:
John Maddock committed 2005-11-12 17:30:30 +00:00
1 parent 4c8fca9bc9
commit b1a35a8ee3
11 files changed
+200 -35

No files matched your search

+5 -4
View File
@@ -1673,14 +1673,15 @@ expression that evaluates to /true/.]
template <class Base, class Derived>
struct is_base_of : public __tof {};
__inherit If Base is base class of type Derived then inherits from __true_type,
__inherit If Base is base class of type Derived or if both types are the same
then inherits from __true_type,
otherwise inherits from __false_type.
This template will detect non-public base classes, and ambiguous base classes.
Note that a class is not considered to be it's own base class,
likewise, if either `Base` or `Derived` are non-class types,
then the class will always inherit from __false_type.
Note that `is_base_of<X,X>` will always inherit from __true_type. [*This is the
case even if `X` is not a class type]. This is a change in behaviour
from Boost-1.33 in order to track the Technical Report on C++ Library Extensions.
Types `Base` and `Derived` must not be incomplete types.