| /* Test the tp_richcompare functions generated with the -builtin option */ |
| |
| %module python_richcompare |
| |
| %inline { |
| |
| class BaseClass { |
| public: |
| BaseClass (int i_) : i(i_) {} |
| ~BaseClass () {} |
| |
| int getValue () const |
| { return i; } |
| |
| bool operator< (const BaseClass& x) const |
| { return this->i < x.i; } |
| |
| bool operator> (const BaseClass& x) const |
| { return this->i > x.i; } |
| |
| bool operator<= (const BaseClass& x) const |
| { return this->i <= x.i; } |
| |
| bool operator>= (const BaseClass& x) const |
| { return this->i >= x.i; } |
| |
| bool operator== (const BaseClass& x) const |
| { return this->i == x.i; } |
| |
| bool operator!= (const BaseClass& x) const |
| { return this->i != x.i; } |
| |
| int i; |
| }; |
| |
| class SubClassA : public BaseClass { |
| public: |
| SubClassA (int i_) : BaseClass(i_) {} |
| ~SubClassA () {} |
| |
| bool operator== (const SubClassA& x) const |
| { return true; } |
| |
| bool operator== (const BaseClass& x) const |
| { return false; } |
| }; |
| |
| class SubClassB : public BaseClass { |
| public: |
| SubClassB (int i_) : BaseClass(i_) {} |
| ~SubClassB () {} |
| |
| bool operator== (const SubClassB& x) const |
| { return true; } |
| |
| bool operator== (const SubClassA& x) const |
| { return false; } |
| }; |
| |
| } |