5959d6bce2
[SVN r20372]
48 lines
1021 B
C++
48 lines
1021 B
C++
// (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);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|