Class IteratorUtil


  • public final class IteratorUtil
    extends Object
    Convenience functions for working over iterators
    • Method Detail

      • toSetBitsIntIterator

        public static IntIterator toSetBitsIntIterator​(IteratingRLW i)
        Parameters:
        i - iterator we wish to iterate over
        Returns:
        an iterator over the set bits corresponding to the iterator
      • toSetBitsIterator

        public static Iterator<Integer> toSetBitsIterator​(IteratingRLW i)
        Parameters:
        i - iterator we wish to iterate over
        Returns:
        an iterator over the set bits corresponding to the iterator
      • materialize

        public static void materialize​(IteratingRLW i,
                                       BitmapStorage c)
        Generate a bitmap from an iterator.
        Parameters:
        i - iterator we wish to materialize
        c - where we write
      • cardinality

        public static int cardinality​(IteratingRLW i)
        Parameters:
        i - iterator we wish to iterate over
        Returns:
        the cardinality (number of set bits) corresponding to the iterator
      • toIterators

        public static IteratingRLW[] toIterators​(EWAHCompressedBitmap... x)
        Parameters:
        x - set of bitmaps
        Returns:
        an array of iterators corresponding to the array of bitmaps
      • materialize

        public static long materialize​(IteratingRLW i,
                                       BitmapStorage c,
                                       long max)
        Turn an iterator into a bitmap.
        Parameters:
        i - iterator we wish to materialize
        c - where we write
        max - maximum number of words we wish to materialize
        Returns:
        how many words were actually materialized
      • materialize

        public static EWAHCompressedBitmap materialize​(IteratingRLW i)
        Turn an iterator into a bitmap. This can be used to effectively clone a bitmap in the following manner: EWAHCompressedBitmap n = IteratorUtil.materialize(bitmap.getIteratingRLW())); n.setSizeInBitsWithinLastWord(bitmap.sizeInBits());
        Parameters:
        i - iterator we wish to materialize
        Returns:
        materialized version of the iterator