Hi,
I have a function that returns type
boost::shared_ptrstd::string > >,
I have registered that:
// boost::shared_ptrstd::string -> PyString Converter.
struct StringPointerToPyString {
static ::PyObject* convert( ::boost::shared_ptr<::std::string> const&
p_str ){
return ::PyString_FromStringAndSize( p_str->data(), p_str->size() );
}
};
bp::class_< std::vector<StringPtr> > ("vector_StringPtr")
.def (bp::vector_indexing_suite< std::vector<StringPtr> >());
bp::register_ptr_to_python< boost::shared_ptr< std::vector<StringPtr> > >();
It works fine but when I try to access the returned vector, I got error:
v = my_function()
v[0]
TypeError: No Python class registered for C++ class class
boost::shared_ptr >
I tried to add
bp::register_ptr_to_python< boost::shared_ptr< std::string > >();
But still not work.
How can I make it work?
Thanks you very much.
--
View this message in context: http://www.nabble.com/Boost.python---How-to-export-shared_ptr%3Cvector%3Csha...
Sent from the Boost - Users mailing list archive at Nabble.com.