Attean::ListIterator(3) Iterator implementation backed by a list/array of values

VERSION

This document describes Attean::ListIterator version 0.017

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>.

AUTHOR

Gregory Todd Williams "<[email protected]>"

COPYRIGHT

Copyright (c) 2014--2016 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.