org.apache.lucene.util

## Class RoaringDocIdSet

- java.lang.Object
- - org.apache.lucene.search.DocIdSet
  - - org.apache.lucene.util.RoaringDocIdSet

All Implemented Interfaces:
  Accountable

    public class RoaringDocIdSet
    extends DocIdSet

`DocIdSet` implementation inspired from http://roaringbitmap.org/ The space is divided into blocks of 2^16 bits and each block is encoded independently. In each block, if less than 2^12 bits are set, then documents are simply stored in a short[]. If more than 2^16-2^12 bits are set, then the inverse of the set is encoded in a simple short[]. Otherwise a `FixedBitSet` is used.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Nested Class Summary

Nested Classes
`static class` `RoaringDocIdSet.Builder` A builder of `RoaringDocIdSet`s.

### Field Summary

### Fields inherited from class org.apache.lucene.search.DocIdSet

`EMPTY`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `cardinality()` Return the exact number of documents that are contained in this set.
`DocIdSetIterator` `iterator()` Provides a `DocIdSetIterator` to access the set.
`long` `ramBytesUsed()` Return the memory usage of this object in bytes.
`String` `toString()`

### Methods inherited from class org.apache.lucene.search.DocIdSet

`bits`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.lucene.util.Accountable

`getChildResources`

### Method Detail

#### ramBytesUsed

    public long ramBytesUsed()

Description copied from interface: `Accountable`
Return the memory usage of this object in bytes. Negative values are illegal.

#### iterator

    public DocIdSetIterator iterator()
                              throws IOException

Description copied from class: `DocIdSet`
Provides a `DocIdSetIterator` to access the set. This implementation can return `null` if there are no docs that match.

Specified by:
  `iterator` in class `DocIdSet`
Throws:
  `IOException`

#### cardinality

    public int cardinality()

Return the exact number of documents that are contained in this set.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`