RoaringBitmap / RoaringBitmap/CRoaring
Complete the Roaring64 C++ API
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.9k
- Forks
- 334
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 17
Description
#840 added a C++ Roaring64 class wrapping the ART-based 64-bit C API, only covering a core subset of functionality. This issue tracks the rest of the API surface.
Each item below here maps to an existing C function in roaring64.h.
Checked/range operations:
-
addChecked/removeChecked -
addRange/addRangeClosed -
removeRange/removeRangeClosed -
containsRange/containsRangeClosed
Predicates:
-
isFull -
isSubset/isStrictSubset
Flip:
-
flip/flipClosed
Optimization:
-
removeRunCompression/runOptimize/shrinkToFit
Rank/select:
-
rank/select/getIndex
Serialization:
-
write/getSizeInBytes/read/readSafe -
frozenView/writeFrozen/getFrozenSizeInBytes
Misc:
-
fastunion -
uint32_tconvenience overloads
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the C++ Roaring64 wrapper added in #840 and compare its existing API with the corresponding declarations in roaring64.h. Work through the unchecked groups, using the existing C functions as the behavior reference. Done means the remaining listed operations, frozen serialization methods, fastunion, and uint32_t overloads are exposed consistently with the completed methods.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100