diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/tools/gen.hxx | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/tools/gen.hxx b/include/tools/gen.hxx index 73dee3fd6925..d88e65516951 100644 --- a/include/tools/gen.hxx +++ b/include/tools/gen.hxx @@ -210,6 +210,17 @@ public: Pair & toPair() { return *this; } using Pair::toString; + + Size& operator += ( const Size& rSize ); + Size& operator -= ( const Size& rSize ); + Size& operator *= ( const tools::Long nVal ); + Size& operator /= ( const tools::Long nVal ); + + friend inline Size operator+( const Size &rVal1, const Size &rVal2 ); + friend inline Size operator-( const Size &rVal1, const Size &rVal2 ); + friend inline Size operator*( const Size &rVal1, const tools::Long nVal2 ); + friend inline Size operator/( const Size &rVal1, const tools::Long nVal2 ); + }; inline bool operator ==(Size const & s1, Size const & s2) @@ -222,6 +233,55 @@ inline bool operator !=(Size const & s1, Size const & s2) return !(s1 == s2); } +inline Size& Size::operator += ( const Size& rSize ) +{ + nA += rSize.nA; + nB += rSize.nB; + return *this; +} + +inline Size& Size::operator -= ( const Size& rSize ) +{ + nA -= rSize.nA; + nB -= rSize.nB; + return *this; +} + +inline Size& Size::operator *= ( const tools::Long nVal ) +{ + nA *= nVal; + nB *= nVal; + return *this; +} + +inline Size& Size::operator /= ( const tools::Long nVal ) +{ + nA /= nVal; + nB /= nVal; + return *this; +} + +inline Size operator+( const Size &rVal1, const Size &rVal2 ) +{ + return Size( rVal1.nA+rVal2.nA, rVal1.nB+rVal2.nB ); +} + +inline Size operator-( const Size &rVal1, const Size &rVal2 ) +{ + return Size( rVal1.nA-rVal2.nA, rVal1.nB-rVal2.nB ); +} + +inline Size operator*( const Size &rVal1, const tools::Long nVal2 ) +{ + return Size( rVal1.nA*nVal2, rVal1.nB*nVal2 ); +} + +inline Size operator/( const Size &rVal1, const tools::Long nVal2 ) +{ + return Size( rVal1.nA/nVal2, rVal1.nB/nVal2 ); +} + + template< typename charT, typename traits > inline std::basic_ostream<charT, traits> & operator <<( std::basic_ostream<charT, traits> & stream, const Size& size ) |