Class IteratorUtil32


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

      • toSetBitsIntIterator

        public static IntIterator toSetBitsIntIterator​(IteratingRLW32 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​(IteratingRLW32 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​(IteratingRLW32 i,
                                       BitmapStorage32 c)
        Turn an iterator into a bitmap
        Parameters:
        i - iterator we wish to materialize
        c - where we write
      • cardinality

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

        public static IteratingRLW32[] toIterators​(EWAHCompressedBitmap32... x)
        Parameters:
        x - set of bitmaps we wish to iterate over
        Returns:
        an array of iterators corresponding to the array of bitmaps
      • materialize

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

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