/////////////////////////////////////////////////////////////////////////////// // Unit Test for Loki // // Copyright Terje Slettebų and Pavel Vozenilek 2002. // // Permission to use, copy, modify, and distribute this software for any // purpose is hereby granted without fee, provided that this copyright and // permissions notice appear in all copies and derivatives. // // This software is provided "as is" without express or implied warranty. // // Last update: September 16, 2002 /////////////////////////////////////////////////////////////////////////////// #ifndef TYPETRAITSTEST_H #define TYPETRAITSTEST_H #include /////////////////////////////////////////////////////////////////////////////// // TypeTraitsTest /////////////////////////////////////////////////////////////////////////////// class TypeTraitsTest : public Test { public: TypeTraitsTest() : Test("TypeTraits.h") {} virtual void execute(TestResult &result) { printName(result); using namespace Loki; bool r; r=TypeTraits::isPointer && !TypeTraits::isPointer && SameType::PointeeType,int>::value && SameType::PointeeType,NullType>::value && TypeTraits::isReference && !TypeTraits::isReference && SameType::ReferredType,int>::value && SameType::ReferredType,int>::value && TypeTraits::isMemberPointer && !TypeTraits::isMemberPointer && TypeTraits::isStdUnsignedInt && !TypeTraits::isStdUnsignedInt && TypeTraits::isStdSignedInt && !TypeTraits::isStdSignedInt && TypeTraits::isStdIntegral && !TypeTraits::isStdIntegral && TypeTraits::isStdFloat && !TypeTraits::isStdFloat && TypeTraits::isStdArith && !TypeTraits::isStdArith && TypeTraits::isStdFundamental && !TypeTraits::isStdFundamental && TypeTraits::isUnsignedInt && !TypeTraits::isUnsignedInt && TypeTraits::isSignedInt && !TypeTraits::isSignedInt && TypeTraits::isIntegral && !TypeTraits::isIntegral && TypeTraits::isFloat && !TypeTraits::isFloat && TypeTraits::isArith && TypeTraits::isArith && TypeTraits::isArith && !TypeTraits::isArith && TypeTraits::isFundamental && !TypeTraits::isFundamental && #ifndef __BORLANDC__ TypeTraits::isConst && !TypeTraits::isConst && SameType::NonConstType,int>::value && SameType::NonConstType,int>::value && TypeTraits::isVolatile && !TypeTraits::isVolatile && SameType::NonVolatileType,int>::value && SameType::NonVolatileType,int>::value && SameType::UnqualifiedType,int>::value && #endif SameType::ParameterType,char>::value && SameType::ParameterType,int>::value && SameType::ParameterType,double>::value && SameType::ParameterType,Test &>::value && SameType::ParameterType,const Test &>::value; testAssert("TypeTraits",r,result); std::cout << '\n'; } } typeTraitsTest; #endif