diff options
| author | Alan Conway <aconway@apache.org> | 2008-05-09 18:46:17 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2008-05-09 18:46:17 +0000 |
| commit | b0f3edfa2a68ccf34aa7a555d0d37c2e17b8421b (patch) | |
| tree | a94c5a579769809f4d398f4c65ad579a432b93fd /cpp/src/qpid/framing/SequenceSet.h | |
| parent | 2ebccc4f3ab6e7813ac2179c8318163ffdd22cff (diff) | |
| download | qpid-python-b0f3edfa2a68ccf34aa7a555d0d37c2e17b8421b.tar.gz | |
Support for 0-10 sessions, not yet integrated. Misc minor fixes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@654913 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing/SequenceSet.h')
| -rw-r--r-- | cpp/src/qpid/framing/SequenceSet.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cpp/src/qpid/framing/SequenceSet.h b/cpp/src/qpid/framing/SequenceSet.h index 029a26818e..99e7cb4b21 100644 --- a/cpp/src/qpid/framing/SequenceSet.h +++ b/cpp/src/qpid/framing/SequenceSet.h @@ -34,6 +34,8 @@ class SequenceSet : public RangeSet<SequenceNumber> { explicit SequenceSet(const RangeSet<SequenceNumber>& r) : RangeSet<SequenceNumber>(r) {} explicit SequenceSet(const SequenceNumber& s) { add(s); } + SequenceSet(const SequenceNumber& start, const SequenceNumber finish) { add(start,finish); } + void encode(Buffer& buffer) const; void decode(Buffer& buffer); @@ -41,17 +43,20 @@ class SequenceSet : public RangeSet<SequenceNumber> { bool contains(const SequenceNumber& s) const; void add(const SequenceNumber& s); - void add(const SequenceNumber& start, const SequenceNumber& end); + void add(const SequenceNumber& start, const SequenceNumber& finish); // Closed range void add(const SequenceSet& set); void remove(const SequenceNumber& s); - void remove(const SequenceNumber& start, const SequenceNumber& end); + void remove(const SequenceNumber& start, const SequenceNumber& finish); // Closed range void remove(const SequenceSet& set); - template <class T> T for_each(T& t) const { - for (RangeIterator i = rangesBegin(); i != rangesEnd(); i++) { + template <class T> void for_each(T& t) const { + for (RangeIterator i = rangesBegin(); i != rangesEnd(); i++) t(i->first(), i->last()); } - return t; + + template <class T> void for_each(const T& t) const { + for (RangeIterator i = rangesBegin(); i != rangesEnd(); i++) + t(i->first(), i->last()); } friend std::ostream& operator<<(std::ostream&, const SequenceSet&); |
