32 lines
		
	
	
		
			800 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			800 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 REGISTER_PTR_TO_PYTHON_HPP
 | |
| #define REGISTER_PTR_TO_PYTHON_HPP
 | |
| 
 | |
| #include <boost/python/pointee.hpp>
 | |
| #include <boost/python/object.hpp>
 | |
| #include <boost/python/object/class_wrapper.hpp>
 | |
| 
 | |
| namespace boost { namespace python {
 | |
|     
 | |
| template <class P>
 | |
| void register_ptr_to_python()
 | |
| {
 | |
|     typedef typename boost::python::pointee<P>::type X;
 | |
|     objects::class_value_wrapper<
 | |
|         P
 | |
|       , objects::make_ptr_instance<
 | |
|             X
 | |
|           , objects::pointer_holder<P,X>
 | |
|         >
 | |
|     >();
 | |
| }           
 | |
| 
 | |
| }} // namespace boost::python
 | |
| 
 | |
| #endif // REGISTER_PTR_TO_PYTHON_HPP
 | |
| 
 | |
| 
 | 
