From f60717d3f4bd3f3c04e08edbe459495d00936d0c Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 19 Mar 2006 23:16:31 +0000 Subject: *** no comment *** --- amount.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'amount.h') diff --git a/amount.h b/amount.h index d64c3c2d..284353a7 100644 --- a/amount.h +++ b/amount.h @@ -181,16 +181,22 @@ class amount_t operator double() const; // comparisons between amounts - bool operator<(const amount_t& amt) const; - bool operator<=(const amount_t& amt) const; - bool operator>(const amount_t& amt) const; - bool operator>=(const amount_t& amt) const; - bool operator==(const amount_t& amt) const; - bool operator!=(const amount_t& amt) const { - if (commodity_ != amt.commodity_) - return true; - return ! (*this == amt); + int compare(const amount_t& amt) const; + + bool operator<(const amount_t& amt) const { + return compare(amt) < 0; + } + bool operator<=(const amount_t& amt) const { + return compare(amt) <= 0; } + bool operator>(const amount_t& amt) const { + return compare(amt) > 0; + } + bool operator>=(const amount_t& amt) const { + return compare(amt) >= 0; + } + bool operator==(const amount_t& amt) const; + bool operator!=(const amount_t& amt) const; template void parse_num(T num) { -- cgit v1.2.3