%module namespace_virtual_method | |
%warnfilter(515); | |
%inline %{ | |
namespace A { | |
namespace B { | |
class Foo; | |
} | |
namespace C { | |
class Foo { | |
public: | |
Foo() { }; | |
virtual ~Foo() { }; | |
virtual int bar(const A::B::Foo &x) = 0; | |
}; | |
} | |
} | |
namespace A { | |
namespace C { | |
class Spam : public Foo { | |
public: | |
Spam() { } | |
virtual ~Spam() { } | |
virtual int bar(const B::Foo &x) { return 1; } | |
}; | |
} | |
} | |
%} | |
%{ | |
namespace A { | |
namespace B { | |
class Foo { }; | |
} | |
} | |
%} |