summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid')
-rw-r--r--cpp/src/qpid/framing/SequenceNumber.cpp11
-rw-r--r--cpp/src/qpid/framing/SequenceNumber.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/SequenceNumber.cpp b/cpp/src/qpid/framing/SequenceNumber.cpp
index 9bba67d4ae..ea1a34b1cf 100644
--- a/cpp/src/qpid/framing/SequenceNumber.cpp
+++ b/cpp/src/qpid/framing/SequenceNumber.cpp
@@ -60,3 +60,14 @@ bool SequenceNumber::operator>(const SequenceNumber& other) const
{
return other < *this;
}
+
+namespace qpid {
+namespace framing {
+
+int32_t operator-(const SequenceNumber& a, const SequenceNumber& b)
+{
+ int32_t result = a.value - b.value;
+ return result;
+}
+
+}}
diff --git a/cpp/src/qpid/framing/SequenceNumber.h b/cpp/src/qpid/framing/SequenceNumber.h
index 6d38084a25..bf9d133cef 100644
--- a/cpp/src/qpid/framing/SequenceNumber.h
+++ b/cpp/src/qpid/framing/SequenceNumber.h
@@ -32,6 +32,7 @@ namespace framing {
class SequenceNumber
{
int32_t value;
+
public:
SequenceNumber();
SequenceNumber(uint32_t v);
@@ -43,6 +44,8 @@ class SequenceNumber
bool operator<(const SequenceNumber& other) const;
bool operator>(const SequenceNumber& other) const;
uint32_t getValue() const { return (uint32_t) value; }
+
+ friend int32_t operator-(const SequenceNumber& a, const SequenceNumber& b);
};
}} // namespace qpid::framing