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
|
||||
%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>::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 %{
|
||||
|
||||
|
||||
class Flow {
|
||||
Flow() {}
|
||||
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>;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue