Package edu.jas.util

Class CartesianTwoProductInfiniteIterator<E>

java.lang.Object
edu.jas.util.CartesianTwoProductInfiniteIterator<E>
All Implemented Interfaces:
Iterator<List<E>>

class CartesianTwoProductInfiniteIterator<E> extends Object implements Iterator<List<E>>
Cartesian product infinite iterator, two factors.
  • Field Details

    • compit0

      final Iterator<E> compit0
      data structure.
    • compit1

      final Iterator<E> compit1
    • fincomps0

      final List<E> fincomps0
    • fincomps1

      final List<E> fincomps1
    • fincompit0

      Iterator<E> fincompit0
    • fincompit1

      Iterator<E> fincompit1
    • current

      List<E> current
    • empty

      boolean empty
    • level

      long level
  • Constructor Details

    • CartesianTwoProductInfiniteIterator

      public CartesianTwoProductInfiniteIterator(Iterable<E> comps0, Iterable<E> comps1)
      CartesianProduct iterator constructor.
      Parameters:
      comps0 - first components of the Cartesian product.
      comps1 - second components of the Cartesian product.
  • Method Details

    • hasNext

      public boolean hasNext()
      Test for availability of a next tuple.
      Specified by:
      hasNext in interface Iterator<E>
      Returns:
      true if the iteration has more tuples, else false.
    • next

      public List<E> next()
      Get next tuple.
      Specified by:
      next in interface Iterator<E>
      Returns:
      next tuple.
    • remove

      public void remove()
      Remove a tuple if allowed.
      Specified by:
      remove in interface Iterator<E>