Class LazyLongIterators


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

      Constructors 
      Modifier Constructor Description
      protected LazyLongIterators()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static it.unimi.dsi.fastutil.longs.LongIterator eager​(LazyLongIterator lazyLongIterator)
      Returns an eager IntIterator enumerating the same elements of a given lazy integer iterator.
      static LazyLongIterator lazy​(it.unimi.dsi.fastutil.longs.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.
      static LazyLongIterator wrap​(long[] array)
      Returns a lazy integer iterator enumerating the elements of an array.
      static LazyLongIterator wrap​(long[][] array)
      Returns a lazy integer iterator enumerating the elements of a big array.
      static LazyLongIterator wrap​(long[][] array, long length)
      Returns a lazy long iterator enumerating the given number of elements of a big array.
      static LazyLongIterator 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 Detail

      • EMPTY_ITERATOR

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

      • LazyLongIterators

        protected LazyLongIterators()
    • Method Detail

      • 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(LazyLongIterator)
      • 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:
        unwrap(LazyLongIterator)
      • 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 it.unimi.dsi.fastutil.longs.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​(it.unimi.dsi.fastutil.longs.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.