NAME
Iterator::Flex::Product - An iterator which produces a Cartesian product of iterators
VERSION
version 0.18
METHODS
new
$iterator = Iterator::Flex::Product->new( $iterable1, $iterable2, ..., ?\%pars );
$iterator = Iterator::Flex::Product->new( key1 => $iterable1,
key2 => iterable2, ..., ?\%pars );
Returns an iterator which produces a Cartesian product of the input iterables. If the input to iproduct is a list of iterables, $iterator
will return an array reference containing an element from each iterable.
If the input is a list of key, iterable pairs, $iterator
will return a hash reference.
The iterables are converted into iterators via "to_iterator" in Iterator::Flex::Factory if required.
All of the iterables must support the rewind
method.
The optional %pars
hash may contain standard signal parameters.
The iterator supports the following capabilities:
- current
- next
- reset
- rewind
- freeze
-
This iterator may be frozen only if all of the iterables support the
prev
or__prev__
method.
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