From 888c0bfbb1731124e1c84775400fcdad7798920e Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Thu, 19 Jul 2007 10:59:58 +0000 Subject: Added difference operator to the sequence number git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@557570 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/framing/SequenceNumber.cpp | 11 +++++++++++ cpp/src/qpid/framing/SequenceNumber.h | 3 +++ 2 files changed, 14 insertions(+) (limited to 'cpp/src/qpid') 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 -- cgit v1.2.1