Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Attean::CodeIterator - Iterator implementation backed by a generator function

Author

       Gregory Todd Williams  "<gwilliams@cpan.org>"

Bugs

       Please   report   any   bugs   or   feature   requests   to   through   the   GitHub   web  interface  at
       <https://github.com/kasei/attean/issues>.

Description

       The Attean::CodeIterator class represents a typed iterator.  It conforms to the Attean::API::Iterator
       role.

       The Attean::CodeIterator constructor requires two named arguments:

       generator
           A code reference that when called will return either the iterator's next item, or undef upon reaching
           the end of iteration.

       item_type
           A Type::Tiny object representing the type of the items that will be returned from the iterator.

Methods

       "next"
           Returns the iterator's next item, or undef upon reaching the end of iteration.

Name

       Attean::CodeIterator - Iterator implementation backed by a generator function

See Also

Synopsis

         use v5.14;
         use Attean;
         my $iter = Attean::CodeIterator->new(
           generator => sub {
             state $value = 0;
             Attean::Literal->new(++$value)
           },
           item_type => 'Attean::API::Term',
         );

         say $iter->next->value; # 1
         say $iter->next->value; # 2
         say $iter->next->value; # 3

Version

       This document describes Attean::CodeIterator version 0.035

See Also