// (C) Copyright Rani Sharoni,Robert Ramey, Pavel Vozenilek and Christoph Ludwig 2004. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifdef TEST_STD # include #else # include #endif #include "test.hpp" #include "check_integral_constant.hpp" #ifdef BOOST_MSVC #pragma warning(disable: 4505) #endif struct TestA {}; struct TestB { virtual void foo(void) = 0; }; struct TestC { private: virtual void foo(void) = 0; }; struct TestD : public TestA {}; struct TestE : public TestB {}; struct TestF : public TestC {}; struct TestG : public TestB { virtual void foo(void) {} }; struct TestH : public TestC { private: virtual void foo(void) {} }; struct TestI : public TestB, public TestC {}; struct TestJ : public TestI { virtual void foo(void) {} }; struct TestK : public TestB { virtual void foo(void); virtual void foo2(void) = 0; }; struct TestL : public TestK { virtual void foo2(void) {} }; struct TestM : public virtual TestB {}; struct TestN : public virtual TestC {}; struct TestO : public TestM, public TestN {}; struct TestP : public TestO { virtual void foo(void) {} }; struct TestQ : public TestB { virtual void foo(void) = 0; }; struct TestR : public TestC { private: virtual void foo(void) = 0; }; struct TestS { virtual void foo(void) {} }; struct TestT { virtual ~TestT(void) {} virtual void foo(void) {} }; struct TestU : public TestT { virtual void foo(void) = 0; }; struct TestV : public TestT { virtual void foo(void) {} }; struct TestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; }; struct TestX : public TestW { virtual void foo1(void) {} virtual void foo2(void) {} }; struct TestY { virtual ~TestY(void) = 0; }; struct TestZ { virtual ~TestZ(void) = 0; }; TestZ::~TestZ(void) {} struct TestAA : public TestZ { virtual ~TestAA(void) = 0; }; TestAA::~TestAA(void) {} struct TestAB : public TestAA { virtual ~TestAB(void) {} }; struct TestAC { virtual void foo(void) = 0; }; void TestAC::foo(void) {} struct TestAD : public TestAC {}; struct TestAE : public TestAD { virtual void foo() {} }; struct TestAF : public TestAD { virtual void foo(); }; void TestAF::foo(void) {} struct TestAG : public virtual TestA {}; // template test types: template struct TTestA {}; template struct TTestB { virtual void foo(void) = 0; }; template struct TTestC { private: virtual void foo(void) = 0; }; template struct TTestD : public TTestA {}; template struct TTestE : public TTestB {}; template struct TTestF : public TTestC {}; template struct TTestG : public TTestB { virtual void foo(void) {} }; template struct TTestH : public TTestC { private: virtual void foo(void) {} }; template struct TTestI : public TTestB, public TTestC {}; template struct TTestJ : public TTestI { virtual void foo(void) {} }; template struct TTestK : public TTestB { virtual void foo(void); virtual void foo2(void) = 0; }; template struct TTestL : public TTestK { virtual void foo2(void) {} }; template struct TTestM : public virtual TTestB {}; template struct TTestN : public virtual TTestC {}; template struct TTestO : public TTestM, public TTestN {}; template struct TTestP : public TTestO { virtual void foo(void) {} }; template struct TTestQ : public TTestB { virtual void foo(void) = 0; }; template struct TTestR : public TTestC { private: virtual void foo(void) = 0; }; template struct TTestS { virtual void foo(void) {} }; template struct TTestT { virtual ~TTestT(void) {} virtual void foo(void) {} }; template struct TTestU : public TTestT { virtual void foo(void) = 0; }; template struct TTestV : public TTestT { virtual void foo(void) {} }; template struct TTestW { virtual void foo1(void) = 0; virtual void foo2(void) = 0; }; template struct TTestX : public TTestW { virtual void foo1(void) {} virtual void foo2(void) {} }; template struct TTestY { virtual ~TTestY(void) = 0; }; template struct TTestZ { virtual ~TTestZ(void) = 0; }; template TTestZ::~TTestZ(void) {} template struct TTestAA : public TTestZ { virtual ~TTestAA(void) = 0; }; template TTestAA::~TTestAA(void) {} template struct TTestAB : public TTestAA { virtual ~TTestAB(void) {} }; template struct TTestAC { virtual void foo(void) = 0; }; template void TTestAC::foo(void) {} template struct TTestAD : public TTestAC {}; template struct TTestAE : public TTestAD { virtual void foo() {} }; template struct TTestAF : public TTestAD { virtual void foo(); }; template void TTestAF::foo(void) {} template struct TTestAG : public virtual TTestA {}; TT_TEST_BEGIN(is_abstract) BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); #endif BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract::value), false); #if !(defined(BOOST_MSVC) && (BOOST_MSVC < 1310)) // MSVC prior to VC7.1 always runs out of swap space trying to // compile these, so leave them out for now (the test fails anyway). BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), true); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); // only one method implemented! BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); // ??? BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); BOOST_CHECK_INTEGRAL_CONSTANT((::tt::is_abstract& >::value), false); #endif TT_TEST_END