Restore sanity to same STAmount operations.

This commit is contained in:
JoelKatz
2012-05-21 14:33:19 -07:00
parent 9a4862a5d9
commit 613c3fdca9
2 changed files with 53 additions and 0 deletions

View File

@@ -200,6 +200,7 @@ protected:
void canonicalize();
STAmount* duplicate() const { return new STAmount(name, mCurrency, mValue, mOffset); }
static STAmount* construct(SerializerIterator&, const char* name = NULL);
STAmount(bool, uint64 value) : mValue(value), mOffset(0), mIsNative(true) { ; }
static const int cMinOffset = -96, cMaxOffset = 80;
static const uint64 cMinValue = 1000000000000000ull, cMaxValue = 9999999999999999ull;
@@ -250,6 +251,14 @@ public:
bool isComparable(const STAmount&) const;
void throwComparable(const STAmount&) const;
// native currency only
bool operator<(uint64) const;
bool operator>(uint64) const;
bool operator<=(uint64) const;
bool operator>=(uint64) const;
STAmount operator+(uint64) const;
STAmount operator-(uint64) const;
STAmount& operator+=(const STAmount&);
STAmount& operator-=(const STAmount&);
STAmount& operator=(const STAmount&);