mirror of
				https://github.com/boostorg/config.git
				synced 2025-11-03 09:11:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			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);
 | 
						|
}
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |