summaryrefslogtreecommitdiff
path: root/Examples/test-suite/rename_scope.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/rename_scope.i')
-rw-r--r--Examples/test-suite/rename_scope.i68
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;
+ };
+ }
+
+%}