Jason R. Coombs avatar Jason R. Coombs committed 19f0826

Added itertools.is_empty

Comments (0)

Files changed (2)

+* Added `itertools.is_empty`.


 import itertools
 import collections
 import math
+import functools
 from jaraco.util.numbers import ordinalth
+from .exceptions import throws_exception
 def make_rows(num_columns, seq):
 	return iter(tuple())
+def is_empty(iterable):
+	"""
+	Return whether the iterable is empty or not. Consumes at most one item
+	from the iterator to test.
+	>>> is_empty(xrange(0))
+	True
+	>>> is_empty(xrange(1))
+	False
+	"""
+	get_next = functools.partial(next, iter(iterable))
+	return throws_exception(get_next, StopIteration)
 class Reusable(object):
 	An iterator that may be reset and reused.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.