On 01/23/2013 12:56 PM, Michael Wild wrote:

<snip>


Yes, I thought of that too. While this "solves" this case (it certainly
is not very discoverable for future maintainers), it does not help in
the case of container support. Say I wanted to expose
std::vector<QString> (or std::vector<ustom_string> from the Boost.Python
FAQ, for that matter) using the boost::python::vector_indexing_suite. I
am perfectly able to create such a list, I can append items, the only
thing I can't do is *retrieving* them. It's like a black hole for data ;-)


I'm afraid the vector_indexing_suite is some black magic I'm not terribly familiar with. But I do know that in some contexts it returns proxy objects in order to allow setting and safer lifetime management, and I suspect that's what is not playing nicely with your custom converters. Or have you investigated that further and determined that it's calling make_getter, and that's why you're focused on that?

In any case, I think you may be able to pass a call policy to vector_indexing_suite, though I may be thinking of the v2 indexing suite that never got packaged with boost::python but is available as part of Roman's Py++.

Jim

_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to