blob: 516a620df9db7aec3ffff246d4d307efea7f45a1 [file] [log] [blame]
// 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