added __rsub__() and test for reversed subtraction operator

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10337 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Jason Stewart 2008-04-03 11:40:20 +00:00
commit 128880ea1d
2 changed files with 9 additions and 1 deletions

View file

@ -183,6 +183,9 @@ inline bool operator>=(const Op& a,const Op& b){return a.i>=b.i;}
bool operator> (const Op& b){return $self->i>b.i;}
bool operator>=(const Op& b){return $self->i>=b.i;}
// subtraction with reversed arguments
Op __rsub__(const int b){return Op(b - $self->i);}
// we also add the __str__() fn to the class
// this allows it to be converted to a string (so it can be printed)
const char* __str__()

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w
use strict;
use Test::More tests => 38;
use Test::More tests => 39;
use operator_overload;
@ -66,6 +66,11 @@ $op2->{i} = 3;
$op = $op3 - $op2;
is($op->{i}, 3, "operator subtraction");
# reversed subtraction operator (with int)
$op3->{i} = 3;
$op = 6 - $op3;
is($op->{i}, 3, "reversed operator subtraction (with int)");
# subtractive assignment operator
$op->{i} = 6;
$op2->{i} = 3;