mirror of
https://github.com/boostorg/utility.git
synced 2025-05-09 15:04:00 +00:00
Added test case for is_convertible with UDT that brings out the
warning message bug with g++. [SVN r8821]
This commit is contained in:
parent
dfd6c85569
commit
71902f23a2
@ -7,6 +7,9 @@
|
||||
// standalone test program for <boost/type_traits.hpp>
|
||||
|
||||
/* Release notes:
|
||||
31 Jan 2001:
|
||||
Added test case for is_convertible with UDT that brings out the
|
||||
warning message bug with g++. (Jeremy Siek)
|
||||
20 Jan 2001:
|
||||
Suppress an expected warning for MSVC
|
||||
Added a test to prove that we can use void with is_same<>
|
||||
@ -146,7 +149,7 @@ template <> struct is_POD<empty_POD_union_UDT>
|
||||
|
||||
class Base { };
|
||||
|
||||
class Deriverd : public Base { };
|
||||
class Derived : public Base { };
|
||||
|
||||
class NonDerived { };
|
||||
|
||||
@ -599,11 +602,12 @@ int main()
|
||||
value_test(false, is_POD<empty_UDT>::value)
|
||||
value_test(true, is_POD<enum_UDT>::value)
|
||||
|
||||
value_test(true, (boost::is_convertible<Deriverd,Base>::value));
|
||||
value_test(true, (boost::is_convertible<Deriverd,Deriverd>::value));
|
||||
value_test(true, (boost::is_convertible<Derived,Base>::value));
|
||||
value_test(true, (boost::is_convertible<Derived,Derived>::value));
|
||||
value_test(true, (boost::is_convertible<Base,Base>::value));
|
||||
value_test(false, (boost::is_convertible<Base,Deriverd>::value));
|
||||
value_test(true, (boost::is_convertible<Deriverd,Deriverd>::value));
|
||||
value_test(false, (boost::is_convertible<UDT,int>::value));
|
||||
value_test(false, (boost::is_convertible<Base,Derived>::value));
|
||||
value_test(true, (boost::is_convertible<Derived,Derived>::value));
|
||||
value_test(false, (boost::is_convertible<NonDerived,Base>::value));
|
||||
value_test(false, (boost::is_convertible<boost::noncopyable, int>::value));
|
||||
value_test(true, (boost::is_convertible<float,int>::value));
|
||||
@ -613,14 +617,14 @@ int main()
|
||||
value_test(true, (boost::is_convertible<void,void>::value));
|
||||
#endif
|
||||
value_test(true, (boost::is_convertible<enum1, int>::value));
|
||||
value_test(true, (boost::is_convertible<Deriverd*, Base*>::value));
|
||||
value_test(false, (boost::is_convertible<Base*, Deriverd*>::value));
|
||||
value_test(true, (boost::is_convertible<Deriverd&, Base&>::value));
|
||||
value_test(false, (boost::is_convertible<Base&, Deriverd&>::value));
|
||||
value_test(true, (boost::is_convertible<const Deriverd*, const Base*>::value));
|
||||
value_test(false, (boost::is_convertible<const Base*, const Deriverd*>::value));
|
||||
value_test(true, (boost::is_convertible<const Deriverd&, const Base&>::value));
|
||||
value_test(false, (boost::is_convertible<const Base&, const Deriverd&>::value));
|
||||
value_test(true, (boost::is_convertible<Derived*, Base*>::value));
|
||||
value_test(false, (boost::is_convertible<Base*, Derived*>::value));
|
||||
value_test(true, (boost::is_convertible<Derived&, Base&>::value));
|
||||
value_test(false, (boost::is_convertible<Base&, Derived&>::value));
|
||||
value_test(true, (boost::is_convertible<const Derived*, const Base*>::value));
|
||||
value_test(false, (boost::is_convertible<const Base*, const Derived*>::value));
|
||||
value_test(true, (boost::is_convertible<const Derived&, const Base&>::value));
|
||||
value_test(false, (boost::is_convertible<const Base&, const Derived&>::value));
|
||||
|
||||
value_test(false, (boost::is_convertible<const int *, int*>::value));
|
||||
value_test(false, (boost::is_convertible<const int&, int&>::value));
|
||||
|
Loading…
x
Reference in New Issue
Block a user