Package it.unimi.dsi.big.webgraph
Class LazyLongIterators
java.lang.Object
it.unimi.dsi.big.webgraph.LazyLongIterators
A class providing static methods and objects that do useful
things with lazy integer iterators.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic LongIterator
eager
(LazyLongIterator lazyLongIterator) Returns an eagerIntIterator
enumerating the same elements of a given lazy integer iterator.static LazyLongIterator
lazy
(LongIterator eagerLongIterator) Returns aLazyLongIterator
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.
-
Field Details
-
EMPTY_ITERATOR
An empty lazy iterator.
-
-
Constructor Details
-
LazyLongIterators
protected LazyLongIterators()
-
-
Method Details
-
unwrap
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
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 otarray
to be used.length
- the maximum number of elements to be unwrapped.- Returns:
- the number of elements unwrapped into
array
starting from indexoffset
.
-
unwrap
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 otarray
to be used.length
- the maximum number of elements to be unwrapped.- Returns:
- the number of elements unwrapped into
array
starting from indexoffset
.
-
unwrap
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 usingunwrapLoosely(LazyLongIterator)
, which usually avoids a final call toIntArrays.trim(int[], int)
.- Parameters:
lazyLongIterator
- a lazy long iterator.- Returns:
- an array containing the elements returned by
lazyIntIterator
. - See Also:
-
unwrapLoosely
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 usingunwrap(LazyLongIterator)
, but this method avoids a final call toIntArrays.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 bylazyIntIterator
, so the number of elements actually written intoarray
must be known externally. - See Also:
-
wrap
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 ofarray
.
-
wrap
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 ofarray
.
-
wrap
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
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
Returns an eagerIntIterator
enumerating the same elements of a given lazy integer iterator.- Parameters:
lazyLongIterator
- a lazy integer iterator.- Returns:
- an eager
LongIterator
enumerating the same elements oflazyLongIterator
.
-
lazy
Returns aLazyLongIterator
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
.
-