mirror of https://github.com/swig/swig
41 lines
680 B
OpenEdge ABL
41 lines
680 B
OpenEdge ABL
%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;
|
|
}
|
|
};
|
|
%}
|
|
|
|
|