/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. * @param lowerBound a (not necessarily strict) lower bound on the values returned by <code>iterator</code>. */ public EliasFanoLongBigList(final IntIterator iterator, final int lowerBound) { this(LongIterators.wrap(iterator), lowerBound); }
/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. */ public EliasFanoLongBigList(final ByteIterator iterator) { this(LongIterators.wrap(iterator)); }
/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. * @param lowerBound a (not necessarily strict) lower bound on the values returned by <code>iterator</code>. */ public EliasFanoLongBigList(final ByteIterator iterator, final byte lowerBound) { this(LongIterators.wrap(iterator), lowerBound); }
/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. */ public EliasFanoLongBigList(final IntIterator iterator) { this(LongIterators.wrap(iterator)); }
/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. */ public EliasFanoLongBigList(final ShortIterator iterator) { this(LongIterators.wrap(iterator)); }
/** Creates a new Elias–Fano long big list. * * @param iterator an iterator returning natural numbers. * @param lowerBound a (not necessarily strict) lower bound on the values returned by <code>iterator</code>. */ public EliasFanoLongBigList(final ShortIterator iterator, final short lowerBound) { this(LongIterators.wrap(iterator), lowerBound); }
/** Creates an Elias–Fano representation of the values returned by an iterator, given that * the overall number of elements and an upper bound are provided, too. * * <p>This constructor is particularly useful if the elements of the iterator are provided by * some sequential source. * * @param n the number of elements returned by <code>iterator</code>. * @param upperBound an upper bound to the values returned by <code>iterator</code> (note that it used to be * a <em>strict</em> upper bound). * @param iterator an iterator returning nondecreasing elements. */ public EliasFanoMonotoneLongBigList(final long n, final long upperBound, final ByteIterator iterator) { this(new long[] { n, upperBound }, LongIterators.wrap(iterator)); }
/** Creates a new Elias–Fano prefix-sum long big list. * * @param elements an iterable object. */ public EliasFanoPrefixSumLongBigList(final IntIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Creates a new Elias–Fano long big list. * * @param elements an iterable object. */ public EliasFanoLongBigList(final IntIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Creates a new Elias–Fano prefix-sum long big list. * * @param elements an iterable object. */ public EliasFanoPrefixSumLongBigList(final ShortIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Creates a new Elias–Fano long big list. * * @param elements an iterable object. */ public EliasFanoLongBigList(final ShortIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Creates a new Elias–Fano long big list. * * @param elements an iterable object. */ public EliasFanoLongBigList(final ByteIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Builds a new two-sizes long big list using a given iterable object. * * @param elements an iterable object. */ public TwoSizesLongBigList(final ShortIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Builds a new two-sizes long big list using a given iterable object. * * @param elements an iterable object. */ public TwoSizesLongBigList(final ByteIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Creates an Elias–Fano representation of the values returned by the given {@linkplain Iterable iterable object}. * * @param list an iterable object. */ public EliasFanoMonotoneLongBigList(final IntIterable list) { this((LongIterable) () -> LongIterators.wrap(list.iterator())); }
/** Creates an Elias–Fano representation of the values returned by the given {@linkplain Iterable iterable object}. * * @param list an iterable object. */ public EliasFanoMonotoneLongBigList(final ShortIterable list) { this((LongIterable) () -> LongIterators.wrap(list.iterator())); }
/** Creates an Elias–Fano representation of the values returned by the given {@linkplain Iterable iterable object}. * * @param list an iterable object. */ public EliasFanoMonotoneLongBigList(final ByteIterable list) { this((LongIterable) () -> LongIterators.wrap(list.iterator())); }
/** Creates a new Elias–Fano prefix-sum long big list. * * @param elements an iterable object. */ public EliasFanoPrefixSumLongBigList(final ByteIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
/** Builds a new two-sizes long big list using a given iterable object. * * @param elements an iterable object. */ public TwoSizesLongBigList(final IntIterable elements) { this((LongIterable) () -> LongIterators.wrap(elements.iterator())); }
public LongIterator iterator() { return LongIterators.wrap( BinIO.asIntIterable( xx ).iterator() ); } };