summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-01-16 20:07:47 +0000
committerTed Ross <tross@apache.org>2009-01-16 20:07:47 +0000
commitbdde5251d8592c69d3951aa5b5a01e59b62eb7a2 (patch)
tree30de8461202e134eeebd06a69532682feecd0ee4 /cpp/src
parent0541090a05e124e8af9e2b887f641ff0f985b2d5 (diff)
downloadqpid-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.cpp38
-rw-r--r--cpp/src/qpid/console/ObjectId.h7
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;