CRoaring
CRoaring copied to clipboard
Improve consistency in the C++ interface
These changes aim to improve the consistency of the C++ API between the 32-bit version and the 64-bit version.
Related issues: #629
Changes:
- Rename
RoaringSetBitForwardIteratortoRoaringSetBitBiDirectionalIterator(the old one is now deprecated). - Add methods:
Roaring::clearRoaring::isFullRoaring::containsRangeClosed. - Revise
move_equalorlargermethods in iterators. - Add the
api::roaring_bitmap_flip_inplace_closedmethod. - Add the
api::roaring_bitmap_contains_range_closedmethod. - Add the
api::roaring_bitmap_flip_closedmethod. - Add the
api::roaring_bitmap_range_cardinality_closedmethod. - Other minor changes.
If merged, only the following methods remain that are only implemented in the 32-bit version(in class Roaring) but not in the 64-bit version(in class Roaring64Map):
- [ ]
containsRange - [ ]
rangeUint64Array - [ ]
and_cardinality - [ ]
or_cardinality - [ ]
andnot_cardinality - [ ]
xor_cardinality - [ ]
jaccard_index - [ ]
rank_many
Also, the methods mentioned in #549 need to be further implemented.
Looks good to me. I invited others to comment.
Let us keep the breaking changes to a minimum. Deprecation is fine.
Running tests with the latest changes.
Merging.