// (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_USING_TEMPLATE // TITLE: using template declarations // DESCRIPTION: The compiler will not accept a using declaration // that imports a class or function template // into a named namespace. Probably Borland/MSVC6 specific. template int global_foo(T) { return 0; } template struct op { friend op operator +(const op&, const op&) { return op(); }; }; namespace boost_no_using_template{ using ::global_foo; using ::op; int test() { boost_no_using_template::op a; boost_no_using_template::op b; a+b; return boost_no_using_template::global_foo(0); } }