| %module ignore_template_constructor |
| %include std_vector.i |
| |
| #if defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGPERL) || defined(SWIGRUBY) |
| #define SWIG_GOOD_VECTOR |
| %ignore std::vector<Flow>::vector(size_type); |
| %ignore std::vector<Flow>::resize(size_type); |
| #endif |
| |
| #if defined(SWIGJAVA) |
| #define SWIG_GOOD_VECTOR |
| %ignore std::vector<Flow>::vector(jint); |
| %ignore std::vector<Flow>::resize(jint); |
| #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 { |
| double x; |
| Flow():x(0.0) {} |
| public: |
| Flow(double d) : x(d) {} |
| }; |
| %} |
| |
| #else |
| /* here, for languages with bad typemaps */ |
| |
| %inline %{ |
| class Flow { |
| double x; |
| public: |
| Flow(): x(0.0) {} |
| Flow(double d) : x(d) {} |
| }; |
| %} |
| |
| #endif |
| |
| %template(VectFlow) std::vector<Flow>; |
| |
| %inline %{ |
| std::vector<Flow> inandout(std::vector<Flow> v) { |
| return v; |
| } |
| %} |