34 lines
		
	
	
		
			922 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			922 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | // Copyright David Abrahams 2002. | ||
|  | // Distributed under 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) | ||
|  | #ifndef SELF_DWA2002531_HPP | ||
|  | # define SELF_DWA2002531_HPP | ||
|  | 
 | ||
|  | # include <boost/python/detail/prefix.hpp> | ||
|  | 
 | ||
|  | namespace boost { namespace python { | ||
|  | 
 | ||
|  | #define BOOST_PYTHON_SELF_IS_CLASS | ||
|  | 
 | ||
|  | // Sink self_t into its own namespace so that we have a safe place to | ||
|  | // put the completely general operator templates which operate on | ||
|  | // it. It is possible to avoid this, but it turns out to be much more | ||
|  | // complicated and finally GCC 2.95.2 chokes on it. | ||
|  | namespace self_ns | ||
|  | { | ||
|  | # ifndef BOOST_PYTHON_SELF_IS_CLASS | ||
|  |   enum self_t { self }; | ||
|  | # else  | ||
|  |   struct self_t {}; | ||
|  |   extern BOOST_PYTHON_DECL self_t self; | ||
|  | # endif | ||
|  | } | ||
|  | 
 | ||
|  | using self_ns::self_t; | ||
|  | using self_ns::self; | ||
|  | 
 | ||
|  | }} // namespace boost::python | ||
|  | 
 | ||
|  | #endif // SELF_DWA2002531_HPP |