swig/Examples/test-suite/li_std_containers_overload.i
William S Fulton 86cb3a9532 Python STL container method overloading fix
Fix method overloading of methods that take STL containers of different types.
Due to some error handling that was not cleared during typehecking.
2019-08-06 19:36:14 +01:00

33 lines
710 B
OpenEdge ABL

%module li_std_containers_overload
// Suppress warning that ought not to appear, but there is no easy fix
%warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) VectorOverload;
%include <std_string.i>
%include <std_vector.i>
%inline %{
struct X {};
struct Y {};
%}
%template(VectorX) std::vector<X>;
%template(VectorY) std::vector<Y>;
%template(VectorString) std::vector<std::string>;
%template(VectorInt) std::vector<int>;
%inline %{
using namespace std;
string VectorOverload(vector<X> v) {
return "vector<X>";
}
string VectorOverload(vector<Y> v) {
return "vector<Y>";
}
string VectorOverload(vector<string> v) {
return "vector<string>";
}
string VectorOverload(vector<int> v) {
return "vector<int>";
}
%}