Dealing with bitmaps is hard and we should provide some tools to do the finicky hard-to-get-right math:
ArrowBitmapIsNull(const void* bitmap, int64_t i)
ArrowBitmapSetNull(void* bitmap, int64_t i, char value)
ArrowBitmapCountNull(const void* bitmap)
I think we also need a builder dedicated to bitmaps since building them up incrementally (without allocating if there are no null) is much of the use case. Something like
Dealing with bitmaps is hard and we should provide some tools to do the finicky hard-to-get-right math:
ArrowBitmapIsNull(const void* bitmap, int64_t i)
ArrowBitmapSetNull(void* bitmap, int64_t i, char value)
ArrowBitmapCountNull(const void* bitmap)
I think we also need a builder dedicated to bitmaps since building them up incrementally (without allocating if there are no null) is much of the use case. Something like
(because char and int arrays are common ways that these things are stored)