Mercurial > hg
comparison mercurial/revset.py @ 20552:0e99a66eb7bc
revset: added __nonzero__ method to lazyset
Now it doesn't have to go through all the set and can return lazily as soon as
it finds one element.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Thu, 20 Feb 2014 10:15:38 -0800 |
parents | fa16c710a3d8 |
children | 98024950ade0 |
comparison
equal
deleted
inserted
replaced
20551:efae655fd363 | 20552:0e99a66eb7bc |
---|---|
2153 | 2153 |
2154 def __add__(self, x): | 2154 def __add__(self, x): |
2155 l = baseset([r for r in self]) | 2155 l = baseset([r for r in self]) |
2156 return l + baseset(x) | 2156 return l + baseset(x) |
2157 | 2157 |
2158 def __nonzero__(self): | |
2159 for r in self: | |
2160 return True | |
2161 return False | |
2162 | |
2158 def __len__(self): | 2163 def __len__(self): |
2159 # Basic implementation to be changed in future patches. | 2164 # Basic implementation to be changed in future patches. |
2160 l = baseset([r for r in self]) | 2165 l = baseset([r for r in self]) |
2161 return len(l) | 2166 return len(l) |
2162 | 2167 |