| // 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 ENUM_BASE_DWA200298_HPP |
| # define ENUM_BASE_DWA200298_HPP |
| |
| # include <boost/python/object_core.hpp> |
| # include <boost/python/type_id.hpp> |
| # include <boost/python/converter/to_python_function_type.hpp> |
| # include <boost/python/converter/convertible_function.hpp> |
| # include <boost/python/converter/constructor_function.hpp> |
| |
| namespace boost { namespace python { namespace objects { |
| |
| struct BOOST_PYTHON_DECL enum_base : python::api::object |
| { |
| protected: |
| enum_base( |
| char const* name |
| , converter::to_python_function_t |
| , converter::convertible_function |
| , converter::constructor_function |
| , type_info |
| , const char *doc = 0 |
| ); |
| |
| void add_value(char const* name, long value); |
| void export_values(); |
| |
| static PyObject* to_python(PyTypeObject* type, long x); |
| }; |
| |
| }}} // namespace boost::python::object |
| |
| #endif // ENUM_BASE_DWA200298_HPP |