From fa9a7d2f32ec9e9189858ec72b8eb67794cf6b41 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 6 Nov 2000 05:08:41 +0000 Subject: [PATCH] added "add" member function to ClassWrapper<> to allow arbitrary Python objects to be added to an extension class. [SVN r8142] --- class_wrapper.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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; };