it.unimi.dsi.fastutil.booleans
Class BooleanIterators

java.lang.Object
  extended byit.unimi.dsi.fastutil.booleans.BooleanIterators

public class BooleanIterators
extends Object

A class providing static methods and objects that do useful things with type-specific iterators.

See Also:
Iterator

Method Summary
static BooleanIterator asBooleanIterator(Iterator i)
          Wraps a standard list iterator into a type-specific list iterator.
static BooleanListIterator asBooleanIterator(ListIterator i)
          Wraps a standard iterator into a type-specific iterator.
static BooleanIterator concat(BooleanIterator[] a)
          Concatenates all iterators contained in an array.
static BooleanIterator concat(BooleanIterator[] a, int offset, int length)
          Concatenates a sequence of iterators contained in an array.
static BooleanListIterator KEY_EMPTY_ITERATOR_METHOD()
          Deprecated. As of fastutil 3.1, replaced by Iterators.EMPTY_ITERATOR.
static BooleanList pour(BooleanIterator i)
          Pours an iterator, returning a type-specific list.
static int pour(BooleanIterator i, BooleanCollection s)
          Pours an iterator into a type-specific collection.
static int pour(BooleanIterator i, BooleanCollection s, int max)
          Pours an iterator into a type-specific collection, with a limit on the number of elements.
static BooleanList pour(BooleanIterator i, int max)
          Pours an iterator, returning a type-specific list, with a limit on the number of elements.
static boolean[] unwrap(BooleanIterator i)
          Unwraps an iterator, returning an array.
static int unwrap(BooleanIterator i, boolean[] array)
          Unwraps an iterator into an array.
static int unwrap(BooleanIterator i, boolean[] array, int offset, int max)
          Unwraps an iterator into an array starting at a given offset for a given number of elements.
static long unwrap(BooleanIterator i, BooleanCollection c)
          Unwraps an iterator into a type-specific collection.
static int unwrap(BooleanIterator i, BooleanCollection c, int max)
          Unwraps an iterator into a type-specific collection, with a limit on the number of elements.
static boolean[] unwrap(BooleanIterator i, int max)
          Unwraps an iterator, returning an array, with a limit on the number of elements.
static BooleanListIterator wrap(boolean[] array)
          Wraps the given array into a type-specific list iterator.
static BooleanListIterator wrap(boolean[] array, int offset, int length)
          Wraps the given part of an array into a type-specific list iterator.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

KEY_EMPTY_ITERATOR_METHOD

public static BooleanListIterator KEY_EMPTY_ITERATOR_METHOD()
Deprecated. As of fastutil 3.1, replaced by Iterators.EMPTY_ITERATOR.

Returns an empty type-specific list iterator.

Returns:
an empty type-specific list iterator.

wrap

public static BooleanListIterator wrap(boolean[] array,
                                       int offset,
                                       int length)
Wraps the given part of an array into a type-specific list iterator.

The type-specific list iterator returned by this method will iterate length times, returning consecutive elements of the given array starting from the one with index offset.

Parameters:
array - an array to wrap into a type-specific list iterator.
offset - the first element of the array to be returned.
length - the number of elements to return.

wrap

public static BooleanListIterator wrap(boolean[] array)
Wraps the given array into a type-specific list iterator.

The type-specific list iterator returned by this method will return all elements of the given array.

Parameters:
array - an array to wrap into a type-specific list iterator.

unwrap

public static int unwrap(BooleanIterator i,
                         boolean[] array,
                         int offset,
                         int max)
Unwraps an iterator into an array starting at a given offset for a given number of elements.

This method iterates over the given type-specific iterator and stores the elements returned, up to a maximum of length, in the given array starting at offset. The number of actually unwrapped elements is returned (it may be less than max if the iterator emits less than max elements).

Parameters:
i - a type-specific iterator.
array - an array to contain the output of the iterator.
offset - the first element of the array to be returned.
max - the maximum number of elements to unwrap.
Returns:
the number of elements unwrapped.

unwrap

public static int unwrap(BooleanIterator i,
                         boolean[] array)
Unwraps an iterator into an array.

This method iterates over the given type-specific iterator and stores the elements returned in the given array. The iteration will stop when the iterator has no more elements or when the end of the array has been reached.

Parameters:
i - a type-specific iterator.
array - an array to contain the output of the iterator.
Returns:
the number of elements unwrapped.

unwrap

public static boolean[] unwrap(BooleanIterator i,
                               int max)
Unwraps an iterator, returning an array, with a limit on the number of elements.

This method iterates over the given type-specific iterator and returns an array containing the elements returned by the iterator. At most max elements will be returned.

Parameters:
i - a type-specific iterator.
max - the maximum number of elements to be unwrapped.
Returns:
an array containing the elements returned by the iterator (at most max).

unwrap

public static boolean[] unwrap(BooleanIterator i)
Unwraps an iterator, returning an array.

This method iterates over the given type-specific iterator and returns an array containing the elements returned by the iterator.

Parameters:
i - a type-specific iterator.
Returns:
an array containing the elements returned by the iterator.

unwrap

public static int unwrap(BooleanIterator i,
                         BooleanCollection c,
                         int max)
Unwraps an iterator into a type-specific collection, with a limit on the number of elements.

This method iterates over the given type-specific iterator and stores the elements returned, up to a maximum of max, in the given type-specific collection. The number of actually unwrapped elements is returned (it may be less than max if the iterator emits less than max elements).

Parameters:
i - a type-specific iterator.
c - a type-specific collection array to contain the output of the iterator.
max - the maximum number of elements to unwrap.
Returns:
the number of elements unwrapped. Note that this is the number of elements returned by the iterator, which is not necessarily the number of elements that have been added to the collection (because of duplicates).

unwrap

public static long unwrap(BooleanIterator i,
                          BooleanCollection c)
Unwraps an iterator into a type-specific collection.

This method iterates over the given type-specific iterator and stores the elements returned in the given type-specific collection. The returned count on the number unwrapped elements is a long, so that it will work also with very large collections.

Parameters:
i - a type-specific iterator.
c - a type-specific collection to contain the output of the iterator.
Returns:
the number of elements unwrapped. Note that this is the number of elements returned by the iterator, which is not necessarily the number of elements that have been added to the collection (because of duplicates).

pour

public static int pour(BooleanIterator i,
                       BooleanCollection s,
                       int max)
Pours an iterator into a type-specific collection, with a limit on the number of elements.

This method iterates over the given type-specific iterator and adds the returned elements to the given collection (up to max).

Parameters:
i - a type-specific iterator.
s - a type-specific collection.
max - the maximum number of elements to be poured.
Returns:
the number of elements poured. Note that this is the number of elements returned by the iterator, which is not necessarily the number of elements that have been added to the collection (because of duplicates).

pour

public static int pour(BooleanIterator i,
                       BooleanCollection s)
Pours an iterator into a type-specific collection.

This method iterates over the given type-specific iterator and adds the returned elements to the given collection.

Parameters:
i - a type-specific iterator.
s - a type-specific collection.
Returns:
the number of elements poured. Note that this is the number of elements returned by the iterator, which is not necessarily the number of elements that have been added to the collection (because of duplicates).

pour

public static BooleanList pour(BooleanIterator i,
                               int max)
Pours an iterator, returning a type-specific list, with a limit on the number of elements.

This method iterates over the given type-specific iterator and returns a type-specific list containing the returned elements (up to max). Iteration on the returned list is guaranteed to produce the elements in the same order in which they appeared in the iterator.

Parameters:
i - a type-specific iterator.
max - the maximum number of elements to be poured.
Returns:
a type-specific list containing the returned elements, up to max.

pour

public static BooleanList pour(BooleanIterator i)
Pours an iterator, returning a type-specific list.

This method iterates over the given type-specific iterator and returns a list containing the returned elements. Iteration on the returned list is guaranteed to produce the elements in the same order in which they appeared in the iterator.

Parameters:
i - a type-specific iterator.
Returns:
a type-specific list containing the returned elements.

asBooleanIterator

public static BooleanListIterator asBooleanIterator(ListIterator i)
Wraps a standard iterator into a type-specific iterator.

This method wraps a standard iterator into a type-specific one which will handle the type conversions for you. Of course, any attempt to wrap an iterator returning the instances of the wrong class will generate a ClassCastException. The returned iterator is backed by i: changes to one of the iterators will affect the other, too.

If i is already type-specific, it will returned and no new object will be generated.

Parameters:
i - an iterator.
Returns:
a type-specific iterator backed by i.

asBooleanIterator

public static BooleanIterator asBooleanIterator(Iterator i)
Wraps a standard list iterator into a type-specific list iterator.

This method wraps a standard list iterator into a type-specific one which will handle the type conversions for you. Of course, any attempt to wrap an iterator returning the instances of the wrong class will generate a ClassCastException. The returned iterator is backed by i: changes to one of the iterators will affect the other, too.

If i is already type-specific, it will returned and no new object will be generated.

Parameters:
i - a list iterator.
Returns:
a type-specific list iterator backed by i.

concat

public static BooleanIterator concat(BooleanIterator[] a)
Concatenates all iterators contained in an array.

This method returns an iterator that will enumerate in order the elements returned by all iterators contained in the given array.

Parameters:
a - an array of iterators.
Returns:
an iterator obtained by concatenation.

concat

public static BooleanIterator concat(BooleanIterator[] a,
                                     int offset,
                                     int length)
Concatenates a sequence of iterators contained in an array.

This method returns an iterator that will enumerate in order the elements returned by a[ offset ], then those returned by a[ offset + 1 ], and so on up to a[ offset + length - 1 ].

Parameters:
a - an array of iterators.
offset - the index of the first iterator to concatenate.
length - the number of iterators to concatenate.
Returns:
an iterator obtained by concatenation of length elements of a starting at offset.