---
name: "Attean::ListIterator"
section: "3pm"
platform: "linux"
package: "libattean-perl"
version: "0.035-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Attean::ListIterator"
---

# Attean::ListIterator(3pm)

Iterator implementation backed by a list/array of values

## NAME

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

## VERSION

This document describes Attean::ListIterator version 0.035

## 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--2022 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
