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:
parent
8c7d3c7ae3
commit
128880ea1d
2 changed files with 9 additions and 1 deletions
|
|
@ -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;}
|
||||||
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
|
// we also add the __str__() fn to the class
|
||||||
// this allows it to be converted to a string (so it can be printed)
|
// this allows it to be converted to a string (so it can be printed)
|
||||||
const char* __str__()
|
const char* __str__()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
use strict;
|
use strict;
|
||||||
use Test::More tests => 38;
|
use Test::More tests => 39;
|
||||||
|
|
||||||
use operator_overload;
|
use operator_overload;
|
||||||
|
|
||||||
|
|
@ -66,6 +66,11 @@ $op2->{i} = 3;
|
||||||
$op = $op3 - $op2;
|
$op = $op3 - $op2;
|
||||||
is($op->{i}, 3, "operator subtraction");
|
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
|
# subtractive assignment operator
|
||||||
$op->{i} = 6;
|
$op->{i} = 6;
|
||||||
$op2->{i} = 3;
|
$op2->{i} = 3;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue