roaring 0.0.15

http://roaringbitmap.org for http://www.rust-lang.org
# RoaringBitmap [![Travis CI Build Status][]][travis]

> This is not yet production ready.

This is a [Rust][] port of the [Roaring bitmap][] data structure, initially
defined as a [Java library][roaring-java] and described in [_Better bitmap
performance with Roaring bitmaps_][roaring-paper].

## Developing

Take note of the [Collections reform RFC][collections-rfc] for the API.  Mostly aiming to
duplicate the [BitvSet][] API.

### TODO

  - [ ] Bounded Iterators ([§ in the RFC][bounded-iterators])
    - [ ] `fn range(&self, min: Bound<&T>, max: Bound<&T>) -> RangedItems<'a, T>;`
  - [ ] Set Operations ([§ in the RFC][set-operations])
    - [ ] Comparisons
      - [X] `fn is_disjoint(&self, other: &Self) -> bool;`
      - [X] `fn is_subset(&self, other: &Self) -> bool;`
      - [ ] `fn is_superset(&self, other: &Self) -> bool;`
    - [ ] Combinations
      - [ ] Iterated Functions
        - [ ] `fn union<'a>(&'a self, other: &'a Self) -> I;`
        - [ ] `fn intersection<'a>(&'a self, other: &'a Self) -> I;`
        - [ ] `fn difference<'a>(&'a self, other: &'a Self) -> I;`
        - [ ] `fn symmetric_difference<'a>(&'a self, other: &'a Self) -> I;`
      - [ ] Operator Traits
        - [ ] `std::ops::BitOr`
        - [ ] `std::ops::BitAnd`
        - [ ] `std::ops::BitXor`
        - [ ] `std::ops::Sub`
      - [ ] Inplace Functions
        - [ ] `fn union_with(&mut self, other: &BitvSet)`
        - [ ] `fn intersect_with(&mut self, other: &BitvSet)`
        - [ ] `fn difference_with(&mut self, other: &BitvSet)`
        - [ ] `fn symmetric_difference_with(&mut self, other: &BitvSet)`

[Travis CI Build Status]: https://img.shields.io/travis/Nemo157/roaring-rs.svg?style=flat-square
[travis]: https://travis-ci.org/Nemo157/roaring-rs
[Rust]: https://rust-lang.org
[Roaring bitmap]: http://roaringbitmap.org
[roaring-java]: https://github.com/lemire/RoaringBitmap
[roaring-paper]: http://arxiv.org/pdf/1402.6407v4
[collections-rfc]: https://github.com/rust-lang/rfcs/pull/235
[BitvSet]: http://doc.rust-lang.org/std/collections/bitv_set/struct.BitvSet.html
[bounded-iterators]: https://github.com/aturon/rfcs/blob/collections-conventions/text/0000-collection-conventions.md#bounded-iterators
[set-operations]: https://github.com/aturon/rfcs/blob/collections-conventions/text/0000-collection-conventions.md#set-operations