// Copyright 2005-2007 Daniel James. // 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) #include "./config.hpp" #ifdef TEST_STD_INCLUDES # include #else # include #endif #include #include #include #include #include "./compile_time.hpp" void void_func1() { static int x = 1; ++x; } void void_func2() { static int x = 2; --x; } int int_func1(int) { return 0; } int int_func2(int) { return 1; } void function_pointer_tests() { compile_time_tests((void(**)()) 0); compile_time_tests((int(**)(int)) 0); std::cout<<"sizeof(void(*)()) = "< hasher_void; HASH_NAMESPACE::hash hasher_int; BOOST_TEST(&void_func1 != &void_func2); BOOST_TEST(&int_func1 != &int_func2); BOOST_TEST(hasher_void(0) == hasher_void(0)); BOOST_TEST(hasher_void(&void_func1) == hasher_void(&void_func1)); BOOST_TEST(hasher_void(&void_func1) != hasher_void(&void_func2)); if(hasher_void(&void_func1) == hasher_void(&void_func2)) { std::cerr<