diff options
-rw-r--r-- | qpid/cpp/src/qpid/console/ObjectId.cpp | 38 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/console/ObjectId.h | 7 |
2 files changed, 45 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/console/ObjectId.cpp b/qpid/cpp/src/qpid/console/ObjectId.cpp index 25de9411f6..f8993e7e05 100644 --- a/qpid/cpp/src/qpid/console/ObjectId.cpp +++ b/qpid/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/qpid/cpp/src/qpid/console/ObjectId.h b/qpid/cpp/src/qpid/console/ObjectId.h index 7d0399e51c..73304ca306 100644 --- a/qpid/cpp/src/qpid/console/ObjectId.h +++ b/qpid/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; |