// Boost.TypeErasure library // // Copyright 2011 Steven Watanabe // // Distributed under 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) // // $Id$ #include #include #include #include #include #include #define BOOST_TEST_MAIN #include using namespace boost::type_erasure; template struct common : ::boost::mpl::vector< copy_constructible, relaxed > {}; BOOST_AUTO_TEST_CASE(test_typeid) { any > val; BOOST_CHECK(typeid_of(val) == typeid(void)); } BOOST_AUTO_TEST_CASE(test_any_cast) { any > val; BOOST_CHECK_EQUAL(any_cast(&val), (void*)0); BOOST_CHECK_EQUAL(any_cast(&val), (int*)0); } BOOST_AUTO_TEST_CASE(test_copy) { any > val; any > val2(val); BOOST_CHECK(typeid_of(val2) == typeid(void)); }