NAME¶
Attean::CodeIterator - Iterator implementation backed by a generator function
VERSION¶
This document describes Attean::CodeIterator version 0.021
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
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.
AUTHOR¶
Gregory Todd Williams
"<gwilliams@cpan.org>"
COPYRIGHT¶
Copyright (c) 2014--2018 Gregory Todd Williams. This program is free software;
you can redistribute it and/or modify it under the same terms as Perl itself.