summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/cpp/src/qpid/console/ObjectId.cpp38
-rw-r--r--qpid/cpp/src/qpid/console/ObjectId.h7
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;