The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Iterator::Flex::Stack - An iterator which concatenates a set of iterators

VERSION

version 0.18

METHODS

new

  $iterator = Iterator::Flex::Stack->new( $iterable1, $iterable2, ..., ?\%pars );

Returns an iterator which manages a stack of iterators. The iterator supports the pop, push, shift, unshift methods, which have same API as the Perl builtin subroutines.

It returns the next value from the iterator at the top of the stack. Iterators are popped when they are exhausted.

The iterables are converted into iterators via "to_iterator" in Iterator::Flex::Factory if required.

The optional %pars hash may contain standard signal parameters.

The iterator supports the following capabilities:

current
next

Because the nature of the iterators on the stack may vary, the reset, rewind and freeze methods may throw at runtime if an iterator on the stack does not support the required facilities.

INTERNALS

SUPPORT

Bugs

Please report any bugs or feature requests to bug-iterator-flex@rt.cpan.org or through the web interface at: https://rt.cpan.org/Public/Dist/Display.html?Name=Iterator-Flex

Source

Source is available at

  https://gitlab.com/djerius/iterator-flex

and may be cloned from

  https://gitlab.com/djerius/iterator-flex.git

SEE ALSO

Please see those modules/websites for more information related to this module.

AUTHOR

Diab Jerius <djerius@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.

This is free software, licensed under:

  The GNU General Public License, Version 3, June 2007