]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Copyright David Abrahams 2002. |
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 ENUM_BASE_DWA200298_HPP | |
6 | # define ENUM_BASE_DWA200298_HPP | |
7 | ||
8 | # include <boost/python/object_core.hpp> | |
9 | # include <boost/python/type_id.hpp> | |
10 | # include <boost/python/converter/to_python_function_type.hpp> | |
11 | # include <boost/python/converter/convertible_function.hpp> | |
12 | # include <boost/python/converter/constructor_function.hpp> | |
13 | ||
14 | namespace boost { namespace python { namespace objects { | |
15 | ||
16 | struct BOOST_PYTHON_DECL enum_base : python::api::object | |
17 | { | |
18 | protected: | |
19 | enum_base( | |
20 | char const* name | |
21 | , converter::to_python_function_t | |
22 | , converter::convertible_function | |
23 | , converter::constructor_function | |
24 | , type_info | |
25 | , const char *doc = 0 | |
26 | ); | |
27 | ||
28 | void add_value(char const* name, long value); | |
29 | void export_values(); | |
30 | ||
31 | static PyObject* to_python(PyTypeObject* type, long x); | |
32 | }; | |
33 | ||
34 | }}} // namespace boost::python::object | |
35 | ||
36 | #endif // ENUM_BASE_DWA200298_HPP |