| %module(directors="1") cpp11_final_directors |
| |
| %director Derived; |
| |
| // Check SWIG will not wrap these classes as directors where the destructors are final |
| %director BaseFinalDestructor; |
| %director BaseFinalDestructor2; |
| |
| %warnfilter(SWIGWARN_LANG_DIRECTOR_FINAL) BaseFinalDestructor::~BaseFinalDestructor; |
| %warnfilter(SWIGWARN_LANG_DIRECTOR_FINAL) BaseFinalDestructor2::~BaseFinalDestructor2; |
| |
| %inline %{ |
| struct Base { |
| virtual void basemeth() final {} |
| virtual ~Base() {} |
| }; |
| |
| struct Derived : Base { |
| virtual int derivedmeth() final { return 1; } |
| virtual int meth() { return 2; } |
| virtual ~Derived() {} |
| }; |
| |
| struct BaseFinalDestructor { |
| virtual void basefinalmeth() final {} |
| virtual ~BaseFinalDestructor() final {} |
| }; |
| |
| struct BaseFinalDestructor2 { |
| virtual void basefinalmeth() {} |
| virtual ~BaseFinalDestructor2() final {} |
| }; |
| %} |