// Boost enable_if library // Copyright 2003 © The Trustees of Indiana University. // Use, modification, and distribution is 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) // Authors: Jaakko Järvi (jajarvi at osl.iu.edu) // Jeremiah Willcock (jewillco at osl.iu.edu) // Andrew Lumsdaine (lums at osl.iu.edu) #include #include #include using boost::enable_if_c; using boost::disable_if_c; using boost::enable_if; using boost::disable_if; using boost::is_arithmetic; template struct tester; template struct tester::value>::type> { BOOST_STATIC_CONSTANT(bool, value = true); }; template struct tester::value>::type> { BOOST_STATIC_CONSTANT(bool, value = false); }; template struct tester2; template struct tester2 >::type> { BOOST_STATIC_CONSTANT(bool, value = true); }; template struct tester2 >::type> { BOOST_STATIC_CONSTANT(bool, value = false); }; int test_main(int, char*[]) { BOOST_CHECK(tester::value); BOOST_CHECK(tester::value); BOOST_CHECK(!tester::value); BOOST_CHECK(!tester::value); BOOST_CHECK(tester2::value); BOOST_CHECK(tester2::value); BOOST_CHECK(!tester2::value); BOOST_CHECK(!tester2::value); return 0; }