diff options
Diffstat (limited to 'Examples/test-suite/ignore_template_constructor.i')
| -rw-r--r-- | Examples/test-suite/ignore_template_constructor.i | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Examples/test-suite/ignore_template_constructor.i b/Examples/test-suite/ignore_template_constructor.i new file mode 100644 index 0000000..ffd5419 --- /dev/null +++ b/Examples/test-suite/ignore_template_constructor.i @@ -0,0 +1,45 @@ +%module ignore_template_constructor +%include std_vector.i + +#if defined(SWIGJAVA) || 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(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: + Flow(double d) {} +}; +%} + +#else +/* here, for languages with bad typemaps */ + +%inline %{ +class Flow { +public: + Flow() {} + Flow(double d) {} +}; +%} + +#endif + +%template(VectFlow) std::vector<Flow>; + +%inline %{ +std::vector<Flow> inandout(std::vector<Flow> v) { + return v; +} +%} |
