%module constructor_copy %copyctor; %nocopyctor Foo8; %nocopyctor Bar<double>; %inline %{ struct Foo1 { int x; Foo1(int _x = 2) : x(_x) { } }; struct Foo2 { Foo2() { } }; struct Foo3 { Foo3() { } Foo3(const Foo3& ) { } }; struct Foo4 { Foo4() { } protected: Foo4(const Foo4& ) { } }; struct Foo4a { Foo4a() { } private: Foo4a(const Foo4a& ) { } }; struct Foo5 : Foo4 { }; struct Foo6 : Foo4 { Foo6(const Foo6& f) : Foo4(f) { } }; struct Foo7 : Foo5 { }; struct Foo8 { }; template <class T> class Bar { public: int x; Bar(int _x = 0) : x(_x) { } }; %} %template(Bari) Bar<int>; %template(Bard) Bar<double>; #if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGUTL) %include "std_vector.i" #if defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGR) || defined(SWIGOCTAVE) || defined(SWIGRUBY) || defined(SWIGJAVASCRIPT) || defined(SWIGSCILAB) #define SWIG_GOOD_VECTOR %ignore std::vector<Space::Flow>::vector(size_type); %ignore std::vector<Space::Flow>::resize(size_type); #endif #if defined(SWIGJAVA) #define SWIG_GOOD_VECTOR %ignore std::vector<Space::Flow>::vector(jint); %ignore std::vector<Space::Flow>::resize(jint); #endif #if defined(SWIGTCL) || defined(SWIGPERL) #define SWIG_GOOD_VECTOR /* here, for languages with bad declaration */ %ignore std::vector<Space::Flow>::vector(unsigned int); %ignore std::vector<Space::Flow>::resize(unsigned int); #endif %copyctor; %ignore FlowFlow::FlowFlow; %inline %{ namespace Space { class Flow { int x; public: Flow(int i) : x(i) {} }; class FlowFlow { int x; public: FlowFlow(int i) : x(i) {} }; } %} %template (VectFlow) std::vector<Space::Flow>; #endif %rename(ABC_Libor_ModelUtils) ABC_Nam::ABC_Libor::ModelUtils; %copyctor; %inline %{ namespace ABC_Nam { namespace ABC_Libor { struct ModelUtils {}; template <class T> struct ModelUtils_T {}; } } %} %template(ModelUtils_i) ABC_Nam::ABC_Libor::ModelUtils_T<int>; %rename(Space1Space2_TotalReturnSwap) Space1::Space2::TotalReturnSwap; %copyctor; %inline %{ namespace Space1 { namespace Space2 { class TotalReturnSwap { public: TotalReturnSwap() {} }; template <class T> class TotalReturnSwap_T { public: TotalReturnSwap_T() {} }; } } %} %template(Total_i) Space1::Space2::TotalReturnSwap_T<int>;
Generated by dwww version 1.15 on Tue Jul 2 00:51:20 CEST 2024.