From: David F. <dav...@gm...> - 2012-01-13 15:59:35
|
Hi dear swig users, I get a segmentation fault when trying to iterate in Python on C++ vector of enum (swig 2.0.4). Is it a bug in Swig or did I made something wrong? Thanks for reading, Best, David. An example to reproduce the segmentation fault is in attachment, here are the main files: #file: vec_enum.hpp class EnumVector { public: EnumVector(); ~EnumVector(); enum foobarbaz{foo,bar,baz}; vector<foobarbaz> spam; void fill_spam(); void print_spam(); }; #file: vec_enum.i %module vec_enum %{ #define SWIG_FILE_WITH_INIT #include "vec_enum.hpp" %} %include "std_vector.i" namespace std { %template(vector_foobarbaz) vector<EnumVector::foobarbaz>; } %include "vec_enum.hpp" #main.py import vec_enum ev = vec_enum.EnumVector() ev.fill_spam() print ev.spam[0] # ok print ev.spam[1] # ok print ev.spam[2] # ok for e in ev.spam: print e # segmentation fault |