ossrv_pub/boost_apis/boost/python/register_ptr_to_python.hpp
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ossrv_pub/boost_apis/boost/python/register_ptr_to_python.hpp	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,31 @@
+// 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
+
+