diff --git a/class_wrapper.h b/class_wrapper.h index d92f92a0..1bd66a05 100644 --- a/class_wrapper.h +++ b/class_wrapper.h @@ -5,13 +5,10 @@ #include "module.h" #include "py.h" #include "cast.h" +#include "pyptr.h" namespace py { -namespace detail { -struct EmptyBase {}; -} - // Syntactic sugar to make wrapping classes more convenient template > class ClassWrapper @@ -103,7 +100,13 @@ class ClassWrapper { return m_class.get(); } - + + // set an arbitrary attribute. Useful for non-function class data members, + // e.g. enums + void add(PyObject* x, const char* name) + { return m_class->set_attribute(name, x); } + void add(Ptr x, const char* name) + { return m_class->set_attribute(name, x); } private: PyPtr > m_class; };