Class LazyIntIterators

java.lang.Object
it.unimi.dsi.big.webgraph.LazyIntIterators

public class LazyIntIterators
extends Object
A class providing static methods and objects that do useful things with lazy integer iterators.
  • Field Details

    • EMPTY_ITERATOR

      public static final LazyIntIterator EMPTY_ITERATOR
      An empty lazy iterator.
  • Constructor Details

    • LazyIntIterators

      protected LazyIntIterators()
  • Method Details

    • unwrap

      public static int unwrap​(LazyIntIterator lazyIntIterator, int[] array)
      Unwraps the elements returned by a lazy iterator into an array.
      Parameters:
      lazyIntIterator - a lazy integer iterator.
      array - an array.
      Returns:
      the number of elements unwrapped into array starting from index 0.
    • unwrap

      public static int unwrap​(LazyIntIterator lazyIntIterator, int[] array, int offset, int length)
      Unwraps the elements returned by a lazy iterator into an array fragment.
      Parameters:
      lazyIntIterator - a lazy integer iterator.
      array - an array.
      offset - the index of the first element ot array to be used.
      length - the maximum number of elements to be unwrapped.
      Returns:
      the number of elements unwrapped into array starting from index offset.
    • unwrap

      public static int[] unwrap​(LazyIntIterator lazyIntIterator)
      Unwraps the elements returned by a lazy iterator into a new array.

      If you need the resulting array to contain the elements returned by lazyIntIterator, but some more elements set to zero would cause no harm, consider using unwrapLoosely(LazyIntIterator), which usually avoids a final call to IntArrays.trim(int[], int).

      Parameters:
      lazyIntIterator - a lazy integer iterator.
      Returns:
      an array containing the elements returned by lazyIntIterator.
      See Also:
      unwrapLoosely(LazyIntIterator)
    • unwrapLoosely

      public static int[] unwrapLoosely​(LazyIntIterator lazyIntIterator)
      Unwraps the elements returned by a lazy iterator into a new array that can contain additional entries set to zero.

      If you need the resulting array to contain exactly the elements returned by lazyIntIterator, consider using unwrap(LazyIntIterator), but this method avoids a final call to IntArrays.trim(int[], int).

      Parameters:
      lazyIntIterator - a lazy integer iterator.
      Returns:
      an array containing the elements returned by lazyIntIterator; note that in general it might contains some final zeroes beyond the elements returned by lazyIntIterator, so the number of elements actually written into array must be known externally.
      See Also:
      unwrap(LazyIntIterator)
    • wrap

      public static LazyIntIterator wrap​(int[] array, int length)
      Returns a lazy integer iterator enumerating the given number of elements of an array.
      Parameters:
      array - an array.
      length - the number of elements to enumerate.
      Returns:
      a lazy integer iterator enumerating the first length elements of array.
    • wrap

      public static LazyIntIterator wrap​(LazyLongIterator iterator)
      Returns a lazy integer iterator enumerating the same elements of the underlying LazyLongIterator cast to integers.
      Parameters:
      iterator - an iterator.
      Returns:
      a lazy integer iterator enumerating the elements of iterator cast to integers.
    • wrap

      public static LazyIntIterator wrap​(int[] array)
      Returns a lazy integer iterator enumerating the elements of an array.
      Parameters:
      array - an array.
      Returns:
      a lazy integer iterator enumerating the elements of array.
    • eager

      public static IntIterator eager​(LazyIntIterator lazyIntIterator)
      Returns an eager IntIterator enumerating the same elements of a given lazy integer iterator.
      Parameters:
      lazyIntIterator - a lazy integer iterator.
      Returns:
      an eager IntIterator enumerating the same elements of lazyIntIterator.
    • lazy

      public static LazyIntIterator lazy​(IntIterator eagerIntIterator)
      Returns a LazyIntIterator enumerating the same elements of a given eager integer iterator.
      Parameters:
      eagerIntIterator - an eager integer iterator.
      Returns:
      a lazy integer iterator enumerating the same elements of eagerIntIterator.