Scroll to navigation

Attean::ListIterator(3pm) User Contributed Perl Documentation Attean::ListIterator(3pm)

NAME

Attean::ListIterator - Iterator implementation backed by a list/array of values

VERSION

This document describes Attean::ListIterator version 0.033

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:

An array reference containing the items to iterate over.
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--2022 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2022-10-06 perl v5.34.0