// Boost enable_if library // Copyright 2003 (c) 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 Jarvi (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 main() { BOOST_TEST(tester::value); BOOST_TEST(tester::value); BOOST_TEST(!tester::value); BOOST_TEST(!tester::value); BOOST_TEST(tester2::value); BOOST_TEST(tester2::value); BOOST_TEST(!tester2::value); BOOST_TEST(!tester2::value); return boost::report_errors(); }