// 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(BOOST_EXPLICIT_TEMPLATE_TYPE(P)) | |
{ | |
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 | |