summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2008-06-05 20:41:54 +0000
committerKim van der Riet <kpvdr@apache.org>2008-06-05 20:41:54 +0000
commitbd82edd601db8e788ebbdcbfa9c0b0aa3cedcc8f (patch)
treef64cbac60ca8fb396e2140e8df7d66340ea13ece
parent01238260de081423705f65442687af75720acca6 (diff)
downloadqpid-python-bd82edd601db8e788ebbdcbfa9c0b0aa3cedcc8f.tar.gz
Minor additions to Range and RangedSet
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@663730 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/python/qpid/datatypes.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/qpid/python/qpid/datatypes.py b/qpid/python/qpid/datatypes.py
index 7249d5621b..7150caded2 100644
--- a/qpid/python/qpid/datatypes.py
+++ b/qpid/python/qpid/datatypes.py
@@ -168,9 +168,15 @@ class Range:
def __contains__(self, n):
return self.lower <= n and n <= self.upper
+
+ def __iter__(self):
+ i = self.lower
+ while i <= self.upper:
+ yield i
+ i += 1
def touches(self, r):
- # XXX
+ # XXX: are we doing more checks than we need?
return (self.lower - 1 in r or
self.upper + 1 in r or
r.lower - 1 in self or
@@ -223,6 +229,9 @@ class RangedSet:
def add(self, lower, upper = None):
self.add_range(Range(lower, upper))
+
+ def __iter__(self):
+ return iter(self.ranges)
def __repr__(self):
return str(self.ranges)