On Thu, Apr 15, 2010 at 7:17 AM, Roman Yakovenko <roman.yakove...@gmail.com> wrote: > On Thu, Apr 15, 2010 at 1:08 AM, Tomasz Mikolajczyk > <tmmikolajc...@gmail.com> wrote: >> Hi, >> >> I'm a new user of boost::python art. I started to play a bit with the >> code and the py++ generator and encountered difficulties with the >> std::auto_ptr in constructor. >> ... >> I understand the error but I don't know what to do to avoid it.
I believe this error has nothing to do with py++ and it is a pure Boost.Python issue. I can propose a work around for you: introduce the following function: std::auto_ptr< B > createB(int value, std::auto_ptr<A> a){ return std::auto_ptr< B >( new B( value, a ) ); } and instruct py++ to use it as "__init__" method: B = mb.class_( 'B' ) B.constructors().exclude() B.add_fake_constructors( mb.free_function( 'createB' ) ) one more step: A = mb.class_('A' ) A.held_type = 'std::auto_ptr< %s >' % A.decl_string This will allow you to create A class instance in Python, and internally it will be held using auto_ptr class. I actually tested it and it works ( http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1837&view=rev ). HTH -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig