Show More
@@ -2254,6 +2254,37 b' class baseset(list):' | |||
|
2254 | 2254 | This is part of the mandatory API for smartset.""" |
|
2255 | 2255 | return lazyset(self, condition) |
|
2256 | 2256 | |
|
2257 | class _orderedsetmixin(object): | |
|
2258 | """Mixin class with utility methods for smartsets | |
|
2259 | ||
|
2260 | This should be extended by smartsets which have the isascending(), | |
|
2261 | isdescending() and reverse() methods""" | |
|
2262 | ||
|
2263 | def _first(self): | |
|
2264 | """return the first revision in the set""" | |
|
2265 | for r in self: | |
|
2266 | return r | |
|
2267 | return None | |
|
2268 | ||
|
2269 | def _last(self): | |
|
2270 | """return the last revision in the set""" | |
|
2271 | self.reverse() | |
|
2272 | m = self._first() | |
|
2273 | self.reverse() | |
|
2274 | return m | |
|
2275 | ||
|
2276 | def min(self): | |
|
2277 | """return the smallest element in the set""" | |
|
2278 | if self.isascending(): | |
|
2279 | return self._first() | |
|
2280 | return self._last() | |
|
2281 | ||
|
2282 | def max(self): | |
|
2283 | """return the largest element in the set""" | |
|
2284 | if self.isascending(): | |
|
2285 | return self._last() | |
|
2286 | return self._first() | |
|
2287 | ||
|
2257 | 2288 | class lazyset(object): |
|
2258 | 2289 | """Duck type for baseset class which iterates lazily over the revisions in |
|
2259 | 2290 | the subset and contains a function which tests for membership in the |
General Comments 0
You need to be logged in to leave comments.
Login now