NAME
Attean::ListIterator - Iterator implementation backed by a list/array of values
VERSION
This document describes Attean::ListIterator version 0.028
SYNOPSIS
use v5.14;
use Attean;
my @values = map { Attean::Literal->new($_) } (1,2,3);
my $iter = Attean::ListIterator->new(
values => \@values,
item_type => 'Attean::API::Term',
);
say $iter->next->value; # 1
say $iter->next->value; # 2
say $iter->next->value; # 3
DESCRIPTION
The Attean::ListIterator class represents a typed iterator. It conforms to the Attean::API::RepeatableIterator role.
The Attean::ListIterator constructor requires two named arguments:
- values
-
An array reference containing the items to iterate over.
- item_type
-
A string representing the type of the items that will be returned from the iterator.
METHODS
reset
-
Resets the iterator's internal state so that iteration begins again at the beginning of the values array.
next
-
Returns the iterator's next item, or undef upon reaching the end of iteration.
size
-
Returns the number of elements still remaining in the iterator until it is fully consumed or until
reset
is called.
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--2020 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.