| %module(threads=1) python_threads | |
| %include <std_vector.i> | |
| %inline %{ | |
| struct Action { | |
| int val; | |
| Action(int val = 0) : val(val) {} | |
| }; | |
| %} | |
| %template(VectorActionPtr) std::vector<Action *>; | |
| %inline %{ | |
| #include <vector> | |
| #include <iostream> | |
| template <typename T> struct myStlVector : public std::vector<T> { | |
| }; | |
| typedef myStlVector <Action *> ActionList; | |
| %} | |
| %template(ActionList) myStlVector<Action *>; | |
| %inline %{ | |
| class ActionGroup | |
| { | |
| public: | |
| ActionList &GetActionList () const { | |
| static ActionList list; | |
| list.push_back(new Action(1)); | |
| list.push_back(new Action(2)); | |
| list.push_back(new Action(3)); | |
| list.push_back(new Action(4)); | |
| return list; | |
| } | |
| }; | |
| %} | |