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
and may be cloned from
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