well, %rename is working, but not all the languages declare std::vector in the same way
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8753 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a8d68771ae
commit
a48ccb50a6
1 changed files with 23 additions and 2 deletions
|
|
@ -1,13 +1,21 @@
|
||||||
%module ignore_template_constructor
|
%module ignore_template_constructor
|
||||||
%include std_vector.i
|
%include std_vector.i
|
||||||
|
|
||||||
|
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGPERL)
|
||||||
|
#define SWIG_GOOD_VECTOR
|
||||||
%ignore std::vector<Flow>::vector(size_type);
|
%ignore std::vector<Flow>::vector(size_type);
|
||||||
%ignore std::vector<Flow>::resize(size_type);
|
%ignore std::vector<Flow>::resize(size_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(SWIGTCL) || defined(SWIGPERL)
|
||||||
|
#define SWIG_GOOD_VECTOR
|
||||||
|
/* here, for languages with bad declaration */
|
||||||
|
%ignore std::vector<Flow>::vector(unsigned int);
|
||||||
|
%ignore std::vector<Flow>::resize(unsigned int);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(SWIG_GOOD_VECTOR)
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
||||||
|
|
||||||
class Flow {
|
class Flow {
|
||||||
Flow() {}
|
Flow() {}
|
||||||
public:
|
public:
|
||||||
|
|
@ -15,4 +23,17 @@ public:
|
||||||
};
|
};
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* here, for languages with bad typemaps */
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
class Flow {
|
||||||
|
public:
|
||||||
|
Flow() {}
|
||||||
|
Flow(double d) {}
|
||||||
|
};
|
||||||
|
%}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
%template(VectFlow) std::vector<Flow>;
|
%template(VectFlow) std::vector<Flow>;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue