// (C) Copyright John Maddock 2001. // Use, modification and distribution are 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) // See http://www.boost.org/libs/config for most recent version. // MACRO: BOOST_NO_FUNCTION_TEMPLATE_ORDERING // TITLE: no function template ordering // DESCRIPTION: The compiler does not perform // function template ordering or its function // template ordering is incorrect. // // template void f(T); // #1 // template void f(T (*)(U)); // #2 // void bar(int); // f(&bar); // should choose #2. namespace boost_no_function_template_ordering{ template bool f(T) { return false; } template bool f(T (*)(U)) { return true; } void bar(int) { } int test() { int i = 0; return f(i) || !f(&bar); } }