// (C) Copyright Beman Dawes 2008 // 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 more information. // MACRO: BOOST_NO_CXX11_EXTERN_TEMPLATE // TITLE: C++0x extern template unavailable // DESCRIPTION: The compiler does not support C++0x extern template namespace boost_no_cxx11_extern_template { template void f(T const* p, U const* q) { p = q; } template class must_not_compile { public: void f(T const* p, int const* q); }; template void must_not_compile::f(T const* p, int const* q) { p = q; } extern template void f<>(int const*, float const*); extern template class must_not_compile; int test() { return 0; } }