diff --git a/doc/v2/enum.html b/doc/v2/enum.html new file mode 100644 index 00000000..38d878b1 --- /dev/null +++ b/doc/v2/enum.html @@ -0,0 +1,203 @@ + + + +
+ + + + +|
+ |
+
+
+ Boost.Python+ +Header <boost/python/enum.hpp>+ |
+
enum_enum_
+ synopsisenum_
+ constructorsenum_
+ modifier functions<boost/python/enum.hpp> defines the
+ interface through which users expose their C++ enumeration types
+ to Python. It declares the
+ enum_ class template, which is parameterized on the
+ enumeration type being exposed.
enum_<T>Creates a Python class derived from Python's int
+ type which is associated with the C++ type passed as its first
+ parameter.
+
+
enum_
+ synopsis
+namespace boost { namespace python
+{
+ template <class T>
+ class enum_ : public object
+ {
+ enum_(char const* name);
+ inline enum_<T>& value(char const* name, T);
+ };
+}}
+
+
+ enum_
+ constructors+enum_(char const* name); ++ +
name is an ntbs which conforms to Python's identifier
+ naming rules.
+
+ enum_ object
+ holding a Python extension type derived from int
+ which is named name. The
+ named attribute of the current scope is bound to the new
+ extension type.enum_ modifier functions+inline enum_<T>& value(char const* name, T x); ++ +
name is an ntbs which conforms to Python's identifier
+ naming rules.
+
+ x to the type's dictionary as the
+ named attribute*thisC++ module definition +
+#include <boost/python/enum.hpp>
+#include <boost/python/def.hpp>
+#include <boost/python/module.hpp>
+
+using namespace boost::python;
+
+enum color { red = 1, green = 2, blue = 4 };
+
+color identity_(color x) { return x; }
+
+BOOST_PYTHON_MODULE(enums)
+{
+ enum_<color>("color")
+ .value("red", red)
+ .value("green", green)
+ .value("blue", blue)
+ ;
+
+ def("identity", identity_);
+}
+
+ Interactive Python: +
+>>> from enums import * + +>>> identity(color.red) +enums.color.red + +>>> identity(color.green) +enums.color.green + +>>> identity(color.blue) +enums.color.blue + +>>> identity(color(1)) +enums.color.red + +>>> identity(color(2)) +enums.color.green + +>>> identity(color(3)) +enums.color(3) + +>>> identity(color(4)) +enums.color.blue + +>>> identity(1) +Traceback (most recent call last): + File "<stdin>", line 1, in ? +TypeError: bad argument type for built-in operation ++
© Copyright Dave Abrahams 2002. All Rights + Reserved.
+ + + diff --git a/doc/v2/init.html b/doc/v2/init.html index 710287ef..2f6b938e 100644 --- a/doc/v2/init.html +++ b/doc/v2/init.html @@ -22,8 +22,7 @@void init_module_name(), whose body must
follow the macro invocation. init_name passes
init_module_name to () so that any C++
-exceptions generated are safely processeed.
-
+href="errors.html#handle_exception">handle_exception() so
+that any C++ exceptions generated are safely processeed. During the
+body of init_name, the current scope refers to the module
+being initialized.