Scroll to navigation

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

NAME

Attean::IteratorSequence - Iterator implementation backed by zero or more sub-iterators

VERSION

This document describes Attean::IteratorSequence version 0.021

SYNOPSIS

  use v5.14;
  use Attean;
  my $iter = Attean::IteratorSequence->new(iterators => [$iter1, $iter2]);

DESCRIPTION

The Attean::IteratorSequence class represents a typed iterator that is backed by zero or more sub-iterators. When iterated over, it will return all the elements of all of its sub-iterators, in order, before returning undef. It conforms to the Attean::API::Iterator role.

The Attean::IteratorSequence constructor requires two named arguments:

iterators
An array reference containing zero or more Attean::API::Iterator objects.
item_type
A string 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.
"push( $iterator )"
Adds the new $iterator to the end of the array of sub-iterators.

After this call, $iterator will be owned by the IteratorSequence, so making any method calls on $iterator after this point may produce unexpected results.

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.
2019-02-13 perl v5.28.1