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