Class LazyLongIterators

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

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

    Fields
    Modifier and Type
    Field
    Description
    static final LazyLongIterator
    An empty lazy iterator.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    eager(LazyLongIterator lazyLongIterator)
    Returns an eager IntIterator enumerating the same elements of a given lazy integer iterator.
    lazy(LongIterator eagerLongIterator)
    Returns a LazyLongIterator enumerating the same elements of a given eager integer iterator.
    static long[][]
    unwrap(LazyLongIterator lazyLongIterator)
    Unwraps the elements returned by a lazy iterator into a new array.
    static int
    unwrap(LazyLongIterator lazyLongIterator, long[] array)
    Unwraps the elements returned by a lazy iterator into an array.
    static long
    unwrap(LazyLongIterator lazyLongIterator, long[][] array)
    Unwraps the elements returned by a lazy iterator into a big array.
    static long
    unwrap(LazyLongIterator lazyLongIterator, long[][] array, long offset, long length)
    Unwraps the elements returned by a lazy iterator into a big array fragment.
    static int
    unwrap(LazyLongIterator lazyLongIterator, long[] array, int offset, int length)
    Unwraps the elements returned by a lazy iterator into an array fragment.
    static long[][]
    unwrapLoosely(LazyLongIterator lazyLongIterator)
    Unwraps the elements returned by a lazy iterator into a new array that can contain additional entries set to zero.
    wrap(long[] array)
    Returns a lazy integer iterator enumerating the elements of an array.
    wrap(long[][] array)
    Returns a lazy integer iterator enumerating the elements of a big array.
    wrap(long[][] array, long length)
    Returns a lazy long iterator enumerating the given number of elements of a big array.
    wrap(long[] array, int length)
    Returns a lazy long iterator enumerating the given number of elements of an array.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • EMPTY_ITERATOR

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

    • LazyLongIterators

      protected LazyLongIterators()
  • Method Details

    • unwrap

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

      public static int unwrap(LazyLongIterator lazyLongIterator, long[] array, int offset, int length)
      Unwraps the elements returned by a lazy iterator into an array fragment.
      Parameters:
      lazyLongIterator - a lazy long 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 long unwrap(LazyLongIterator lazyLongIterator, long[][] array)
      Unwraps the elements returned by a lazy iterator into a big array.
      Parameters:
      lazyLongIterator - a lazy long iterator.
      array - an array.
      Returns:
      the number of elements unwrapped into array starting from index 0.
    • unwrap

      public static long unwrap(LazyLongIterator lazyLongIterator, long[][] array, long offset, long length)
      Unwraps the elements returned by a lazy iterator into a big array fragment.
      Parameters:
      lazyLongIterator - a lazy long 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 long[][] unwrap(LazyLongIterator lazyLongIterator)
      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(LazyLongIterator), which usually avoids a final call to IntArrays.trim(int[], int).

      Parameters:
      lazyLongIterator - a lazy long iterator.
      Returns:
      an array containing the elements returned by lazyIntIterator.
      See Also:
    • unwrapLoosely

      public static long[][] unwrapLoosely(LazyLongIterator lazyLongIterator)
      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(LazyLongIterator), but this method avoids a final call to IntArrays.trim(int[], int).

      Parameters:
      lazyLongIterator - a lazy long 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:
    • wrap

      public static LazyLongIterator wrap(long[] array, int length)
      Returns a lazy long 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 LazyLongIterator wrap(long[][] array, long length)
      Returns a lazy long iterator enumerating the given number of elements of a big 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 LazyLongIterator wrap(long[] 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.
    • wrap

      public static LazyLongIterator wrap(long[][] array)
      Returns a lazy integer iterator enumerating the elements of a big array.
      Parameters:
      array - a big array.
      Returns:
      a lazy integer iterator enumerating the elements of array.
    • eager

      public static LongIterator eager(LazyLongIterator lazyLongIterator)
      Returns an eager IntIterator enumerating the same elements of a given lazy integer iterator.
      Parameters:
      lazyLongIterator - a lazy integer iterator.
      Returns:
      an eager LongIterator enumerating the same elements of lazyLongIterator.
    • lazy

      public static LazyLongIterator lazy(LongIterator eagerLongIterator)
      Returns a LazyLongIterator enumerating the same elements of a given eager integer iterator.
      Parameters:
      eagerLongIterator - an eager integer iterator.
      Returns:
      a lazy integer iterator enumerating the same elements of eagerIntIterator.