1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // (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 <class T>
- int global_foo(T)
- {
- return 0;
- }
- template <class T, class U = void>
- struct op
- {
- friend op<T,U> operator +(const op&, const op&)
- {
- return op();
- };
- };
- namespace boost_no_using_template{
- using ::global_foo;
- using ::op;
- int test()
- {
- boost_no_using_template::op<int, int> a;
- boost_no_using_template::op<int, int> b;
- a+b;
- return boost_no_using_template::global_foo(0);
- }
- }
|