]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Copyright Nikolay Mladenov 2007. |
2 | // Distributed under the Boost Software License, Version 1.0. (See | |
3 | // accompanying file LICENSE_1_0.txt or copy at | |
4 | // http://www.boost.org/LICENSE_1_0.txt) | |
5 | #ifndef BOOST_PYTHON_OBJECT_PYTHON_TYPE_H | |
6 | #define BOOST_PYTHON_OBJECT_PYTHON_TYPE_H | |
7 | ||
8 | #include <boost/python/converter/registered.hpp> | |
9 | ||
10 | namespace boost {namespace python {namespace detail{ | |
11 | ||
12 | ||
13 | template <class T> struct python_class : PyObject | |
14 | { | |
15 | typedef python_class<T> this_type; | |
16 | ||
17 | typedef T type; | |
18 | ||
19 | static void *converter (PyObject *p){ | |
20 | return p; | |
21 | } | |
22 | ||
23 | static void register_() | |
24 | { | |
25 | static bool first_time = true; | |
26 | ||
27 | if ( !first_time ) return; | |
28 | ||
29 | first_time = false; | |
30 | converter::registry::insert(&converter, boost::python::type_id<this_type>(), &converter::registered_pytype_direct<T>::get_pytype); | |
31 | } | |
32 | }; | |
33 | ||
34 | ||
35 | }}} //namespace boost :: python :: detail | |
36 | ||
37 | #endif //BOOST_PYTHON_OBJECT_PYTHON_TYPE_H |