37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
|
// 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
|