add 'isDefault' function.

This commit is contained in:
JoelKatz
2012-10-26 13:37:54 -07:00
parent d84cad4b7b
commit cecce9bf4a
2 changed files with 15 additions and 0 deletions

View File

@@ -58,6 +58,7 @@ public:
virtual SerializedTypeID getSType() const { return STI_OBJECT; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return mData.empty(); }
virtual void add(Serializer& s) const { add(s, true); } // just inner elements
void add(Serializer& s, bool withSignature) const;
@@ -241,6 +242,7 @@ public:
virtual SerializedTypeID getSType() const { return STI_ARRAY; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.empty(); }
};
inline STArray::iterator range_begin(STArray& x) { return x.begin(); }

View File

@@ -72,6 +72,8 @@ public:
{ return (getSType() == t.getSType()) && isEquivalent(t); }
bool operator!=(const SerializedType& t) const
{ return (getSType() != t.getSType()) || !isEquivalent(t); }
virtual bool isDefault() const { return true; }
};
inline SerializedType* new_clone(const SerializedType& s) { return s.clone().release(); }
@@ -103,6 +105,7 @@ public:
operator unsigned char() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value == 0; }
};
class STUInt16 : public SerializedType
@@ -130,6 +133,7 @@ public:
operator uint16() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value == 0; }
};
class STUInt32 : public SerializedType
@@ -157,6 +161,7 @@ public:
operator uint32() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value == 0; }
};
class STUInt64 : public SerializedType
@@ -184,6 +189,7 @@ public:
operator uint64() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value == 0; }
};
class STAmount : public SerializedType
@@ -295,6 +301,7 @@ public:
void setValue(const STAmount &);
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return mValue == 0 && mIssuer.isZero() && mCurrency.isZero(); }
bool operator==(const STAmount&) const;
bool operator!=(const STAmount&) const;
@@ -398,6 +405,7 @@ public:
operator uint128() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.isZero(); }
};
class STHash160 : public SerializedType
@@ -428,6 +436,7 @@ public:
operator uint160() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.isZero(); }
};
class STHash256 : public SerializedType
@@ -458,6 +467,7 @@ public:
operator uint256() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.isZero(); }
};
class STVariableLength : public SerializedType
@@ -489,6 +499,7 @@ public:
operator std::vector<unsigned char>() const { return value; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.empty(); }
};
class STAccount : public STVariableLength
@@ -668,6 +679,7 @@ public:
void addPath(const STPath& e) { value.push_back(e); }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return value.empty(); }
void printDebug();
@@ -735,6 +747,7 @@ public:
const std::vector<uint256>& peekValue() const { return mValue; }
std::vector<uint256>& peekValue() { return mValue; }
virtual bool isEquivalent(const SerializedType& t) const;
virtual bool isDefault() const { return mValue.empty(); }
std::vector<uint256> getValue() const { return mValue; }
bool isEmpty() const { return mValue.empty(); }