1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
%module xxx
%feature("smartptr", noblock=1) AA { std::shared_ptr< AA > }
%feature("smartptr", noblock=1) DD { std::shared_ptr< }
struct AA {};
struct BB : AA {};
struct CC : AA {};
struct DD : AA {};
%ignore EE;
struct EE : AA {}; // should not warn for AA base as EE is ignored
struct EEE : EE {}; // should warn for AA base, but not for EE base
%feature("smartptr", noblock=1) YY { std::shared_ptr< YY > }
struct XX {};
struct YY : XX {};
%feature("smartptr", noblock=1) ZZ { std::shared_ptr< YY > }
%ignore ZZ;
struct ZZ : XX {};
// Next two are NOT smartptr and so should not issue warning
struct ZZZ : ZZ {};
struct ZZZZ : ZZZ {};
|