diff options
author | Ted Ross <tross@apache.org> | 2009-01-16 20:07:47 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2009-01-16 20:07:47 +0000 |
commit | bdde5251d8592c69d3951aa5b5a01e59b62eb7a2 (patch) | |
tree | 30de8461202e134eeebd06a69532682feecd0ee4 /cpp/src | |
parent | 0541090a05e124e8af9e2b887f641ff0f985b2d5 (diff) | |
download | qpid-python-bdde5251d8592c69d3951aa5b5a01e59b62eb7a2.tar.gz |
QPID-1589 - Added equality/inequality operators to qpid::console::ObjectId.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@735114 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/qpid/console/ObjectId.cpp | 38 | ||||
-rw-r--r-- | cpp/src/qpid/console/ObjectId.h | 7 |
2 files changed, 45 insertions, 0 deletions
diff --git a/cpp/src/qpid/console/ObjectId.cpp b/cpp/src/qpid/console/ObjectId.cpp index 25de9411f6..f8993e7e05 100644 --- a/cpp/src/qpid/console/ObjectId.cpp +++ b/cpp/src/qpid/console/ObjectId.cpp @@ -43,6 +43,44 @@ void ObjectId::encode(framing::Buffer& buffer) buffer.putLongLong(second); } +bool ObjectId::operator==(const ObjectId& other) const +{ + return second == other.second && first == other.first; +} + +bool ObjectId::operator!=(const ObjectId& other) const +{ + return !(*this == other); +} + +bool ObjectId::operator<(const ObjectId& other) const +{ + if (first < other.first) + return true; + if (first > other.first) + return false; + return second < other.second; +} + +bool ObjectId::operator>(const ObjectId& other) const +{ + if (first > other.first) + return true; + if (first < other.first) + return false; + return second > other.second; +} + +bool ObjectId::operator<=(const ObjectId& other) const +{ + return !(*this > other); +} + +bool ObjectId::operator>=(const ObjectId& other) const +{ + return !(*this < other); +} + ostream& qpid::console::operator<<(ostream& o, const ObjectId& id) { o << (int) id.getFlags() << "-" << id.getSequence() << "-" << id.getBrokerBank() << "-" << diff --git a/cpp/src/qpid/console/ObjectId.h b/cpp/src/qpid/console/ObjectId.h index 7d0399e51c..73304ca306 100644 --- a/cpp/src/qpid/console/ObjectId.h +++ b/cpp/src/qpid/console/ObjectId.h @@ -49,6 +49,13 @@ namespace console { void encode(framing::Buffer& buffer); void setValue(uint64_t f, uint64_t s) { first = f; second = s; } + bool operator==(const ObjectId& other) const; + bool operator!=(const ObjectId& other) const; + bool operator<(const ObjectId& other) const; + bool operator>(const ObjectId& other) const; + bool operator<=(const ObjectId& other) const; + bool operator>=(const ObjectId& other) const; + private: uint64_t first; uint64_t second; |