=begin pod =TITLE class Iterator class Iterator is Iterable { } A C is an object that can generate or provide elements of a sequence. Users usually don't have to care about iterators, their usage is hidden behind iteration APIs such as C, L, L and list indexing with C<.[$idx]>. Iterators provide an immutable view of a sequence, though the actual elements in the sequence can still be mutable. =head1 Methods =head2 reify method reify(Iterator:D: $n) returns Parcel:D Returns at least C<$n> elements of the sequence, followed by additional iterators needed to generate the remaining elements. Subsequent calls to C on the same object must return the same L, even if C<$n> changed between the calls. =head2 infinite method infinite(Iterator:D:) Returns C if the sequence being iterated is known to be infinite, C if it is known to be finite, and C if the iterator does not know if the sequence is finite or infinite. =end pod