%module(threads=1) python_threads %include %inline %{ struct Action { int val; Action(int val = 0) : val(val) {} }; %} %template(VectorActionPtr) std::vector; %inline %{ #include #include template struct myStlVector : public std::vector { }; typedef myStlVector ActionList; %} %template(ActionList) myStlVector; %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; } }; %}