diff options
Diffstat (limited to 'Examples/test-suite/rename_scope.i')
| -rw-r--r-- | Examples/test-suite/rename_scope.i | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Examples/test-suite/rename_scope.i b/Examples/test-suite/rename_scope.i new file mode 100644 index 0000000..9a09949 --- /dev/null +++ b/Examples/test-suite/rename_scope.i @@ -0,0 +1,68 @@ +%module rename_scope + +%inline +%{ + namespace oss + { + enum Polarization { UnaryPolarization, BinaryPolarization }; + + template <Polarization P> + struct Interface_ + { + }; + } +%} + +namespace oss +{ + // Interface_ + %template(Interface_UP) Interface_<UnaryPolarization>; + %template(Interface_BP) Interface_<BinaryPolarization>; + +} +%inline +%{ + namespace oss + { + namespace interfaces + { + template <Polarization P> + struct Natural : Interface_<P> + { + int test(void) { return 1; } + }; + } + } +%} + +namespace oss +{ + namespace interfaces + { + %rename(rtest) Natural<UnaryPolarization>::test; + %rename(rtest) Natural<oss::BinaryPolarization>::test; + + // Natural + %template(Natural_UP) Natural<UnaryPolarization>; + %template(Natural_BP) Natural<BinaryPolarization>; + } +} + +%rename("equals") operator==; + +%inline %{ + + namespace Utilities { + class Bucket + { + public: + Bucket() : m_left(0) {} + friend bool operator==(const Bucket& lhs, const Bucket& rhs){ + return ( rhs.m_left == lhs.m_left ); + } + private: + int m_left; + }; + } + +%} |
