Hi all I can't seem to figure out how to wrap this in Boost.Python without the need for auxiliary functions:
#include <string> #include <boost/python.hpp> using std::string; using namespace boost::python; class A { string m_s; public: A(string const& s) : m_s(s) {} // read-only access ( string const& s() const { return m_s; } // read-write access string& s() { return m_s; } }; BOOST_PYTHON_MODULE(A) { class_<A> ("A", init<std::string const&>()) .add_property("s", // this getter works fine make_function( (string const&(A::*)()const)&A::s, return_value_policy<copy_const_reference>()), // this setter fails make_function( (string&(A::*)())&A::s, return_internal_reference<>())) ; } When I try to run the following: import A a = A.A("Hello") a.s = "World!" I get below error message: ArgumentError: Python argument types in None.None(A, str) did not match C++ signature: None(A {lvalue}) How do I solve this problem? Thanks for any advice Michael _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig