summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing/SequenceNumber.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/framing/SequenceNumber.cpp')
-rw-r--r--cpp/src/qpid/framing/SequenceNumber.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/SequenceNumber.cpp b/cpp/src/qpid/framing/SequenceNumber.cpp
index ea1a34b1cf..24867130a2 100644
--- a/cpp/src/qpid/framing/SequenceNumber.cpp
+++ b/cpp/src/qpid/framing/SequenceNumber.cpp
@@ -51,6 +51,11 @@ const SequenceNumber SequenceNumber::operator++(int)
return old;
}
+SequenceNumber SequenceNumber::operator+(uint32_t i) const
+{
+ return SequenceNumber(value + i);
+}
+
bool SequenceNumber::operator<(const SequenceNumber& other) const
{
return (value - other.value) < 0;
@@ -61,6 +66,16 @@ bool SequenceNumber::operator>(const SequenceNumber& other) const
return other < *this;
}
+bool SequenceNumber::operator<=(const SequenceNumber& other) const
+{
+ return *this == other || *this < other;
+}
+
+bool SequenceNumber::operator>=(const SequenceNumber& other) const
+{
+ return *this == other || *this > other;
+}
+
namespace qpid {
namespace framing {