INNER CODE UNIT · Python
__init__
althonos/pyhmmer · src/pyhmmer/utils.py:26
def __init__(self, iterable: typing.Iterable[_T]):
self.it = iter(iterable)
self.peeked = self._sentinel
def __iter__(self) -> "peekable[_T]":
return self
def __next__(self) -> _T:
if self.peeked is not self._sentinel:
self.peeked, item = self._sentinel, self.peeked
else:
item = next(self.it)
return item # type: ignore
def peek(self) -> _T:
if self.peeked is self._sentinel:
self.peeked = next(self.it)
return self.peeked # type: ignore