
Thank you very much. It solved my problem elegantly I would say :-) On Wed, Feb 4, 2009 at 5:40 PM, Stefan Seefeld <seefeld@sympatico.ca> wrote:
Tiago Coutinho wrote:
Could you give me an example?
I tried something like:
#include <vector> #include <string> #include <boost/python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
struct ExampleStruct { std::vector<std::string> elements; };
class_<A>("A", init<>()) .def_readonly("elements", vector_indexing_suite<std::vector<std::string> >()) ;
Of course the above code is wrong. My question is how should I initialize the vector_indexing_suite.
See http://www.boost.org/doc/libs/1_37_0/libs/python/doc/v2/indexing.html:
As you want to work with vector<string>, you have to expose that first:
typedef std::vector<std::string> StringVector; class_<StringVector> sv("StringVector"); sv.def(vector_indexing_suite<StringVector>());
Now you can expose your ExampleStruct:
class_<ExampleStruct> es("ExampleStruct"); es.def_readonly("elements", &ExampleStruct::elements);
HTH, Stefan
--
...ich hab' noch einen Koffer in Berlin...
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost