#include "TestHasMember.hpp" #include int main() { // You can always instantiate without compiler errors tti::has_member_aMember aVar; tti::has_member_someDataMember aVar2; tti::has_member_someFunctionMember aVar3; // Compile time asserts BOOST_MPL_ASSERT((tti::has_member_AnInt)); BOOST_MPL_ASSERT((tti::has_member_AnInt)); BOOST_MPL_ASSERT((tti::has_member_VoidFunction)); BOOST_MPL_ASSERT((tti::FunctionReturningInt)); BOOST_MPL_ASSERT((tti::FunctionReturningInt)); BOOST_MPL_ASSERT((tti::has_member_aFunction)); BOOST_MPL_ASSERT((tti::AnotherIntFunction)); BOOST_MPL_ASSERT((tti::has_member_sFunction)); BOOST_MPL_ASSERT((tti::has_member_aMember)); BOOST_MPL_ASSERT((tti::CMember)); BOOST_MPL_ASSERT((tti::has_member_IntBT)); BOOST_MPL_ASSERT((tti::NestedData)); BOOST_MPL_ASSERT((tti::AOther)); BOOST_MPL_ASSERT((tti::has_member_ONestStr)); return 0; }