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>
|
// standalone test program for <boost/type_traits.hpp>
|
||||||
|
|
||||||
/* Release notes:
|
/* 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:
|
20 Jan 2001:
|
||||||
Suppress an expected warning for MSVC
|
Suppress an expected warning for MSVC
|
||||||
Added a test to prove that we can use void with is_same<>
|
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 Base { };
|
||||||
|
|
||||||
class Deriverd : public Base { };
|
class Derived : public Base { };
|
||||||
|
|
||||||
class NonDerived { };
|
class NonDerived { };
|
||||||
|
|
||||||
@ -599,11 +602,12 @@ int main()
|
|||||||
value_test(false, is_POD<empty_UDT>::value)
|
value_test(false, is_POD<empty_UDT>::value)
|
||||||
value_test(true, is_POD<enum_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<Derived,Base>::value));
|
||||||
value_test(true, (boost::is_convertible<Deriverd,Deriverd>::value));
|
value_test(true, (boost::is_convertible<Derived,Derived>::value));
|
||||||
value_test(true, (boost::is_convertible<Base,Base>::value));
|
value_test(true, (boost::is_convertible<Base,Base>::value));
|
||||||
value_test(false, (boost::is_convertible<Base,Deriverd>::value));
|
value_test(false, (boost::is_convertible<UDT,int>::value));
|
||||||
value_test(true, (boost::is_convertible<Deriverd,Deriverd>::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<NonDerived,Base>::value));
|
||||||
value_test(false, (boost::is_convertible<boost::noncopyable, int>::value));
|
value_test(false, (boost::is_convertible<boost::noncopyable, int>::value));
|
||||||
value_test(true, (boost::is_convertible<float,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));
|
value_test(true, (boost::is_convertible<void,void>::value));
|
||||||
#endif
|
#endif
|
||||||
value_test(true, (boost::is_convertible<enum1, int>::value));
|
value_test(true, (boost::is_convertible<enum1, int>::value));
|
||||||
value_test(true, (boost::is_convertible<Deriverd*, Base*>::value));
|
value_test(true, (boost::is_convertible<Derived*, Base*>::value));
|
||||||
value_test(false, (boost::is_convertible<Base*, Deriverd*>::value));
|
value_test(false, (boost::is_convertible<Base*, Derived*>::value));
|
||||||
value_test(true, (boost::is_convertible<Deriverd&, Base&>::value));
|
value_test(true, (boost::is_convertible<Derived&, Base&>::value));
|
||||||
value_test(false, (boost::is_convertible<Base&, Deriverd&>::value));
|
value_test(false, (boost::is_convertible<Base&, Derived&>::value));
|
||||||
value_test(true, (boost::is_convertible<const Deriverd*, const Base*>::value));
|
value_test(true, (boost::is_convertible<const Derived*, const Base*>::value));
|
||||||
value_test(false, (boost::is_convertible<const Base*, const Deriverd*>::value));
|
value_test(false, (boost::is_convertible<const Base*, const Derived*>::value));
|
||||||
value_test(true, (boost::is_convertible<const Deriverd&, const Base&>::value));
|
value_test(true, (boost::is_convertible<const Derived&, const Base&>::value));
|
||||||
value_test(false, (boost::is_convertible<const Base&, const Deriverd&>::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));
|
||||||
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