code: def generator_telling_position(self) -> Iterator[Tuple[str, int]]:
          
          stream = self.stream  # In case that ``self.stream`` is changed.
          stream.seek(0)
          for line in stream:
              yield line, stream.tell()
docs: Create a generate that iterates the whole content of the file or string, and also tells which offset is now.
  
          :return: An iterator iterating tuples, containing lines of the text stream,...
              separated by ``'\\n'`` or ``'\\r'``; and the offset (in bytes) of current line.