def __iter__(self):
i = <NUM_LIT:0><EOL>while True:<EOL><INDENT>if i < len(self):<EOL><INDENT>yield self[i]<EOL><DEDENT>else:<EOL><INDENT>try:<EOL><INDENT>yield next(self)<EOL><DEDENT>except StopIteration:<EOL><INDENT>return<EOL><DEDENT><DEDENT>i += <NUM_LIT:1><EOL><DEDENT>
Iterate over all rows, consuming the underlying generator
        only when necessary.