NAME
Attean::CodeIterator - Iterator implementation backed by a generator function
VERSION
This document describes Attean::CodeIterator version 0.018
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.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
SEE ALSO
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.