| 255 | } |
| 256 | |
| 257 | Status Finish(std::shared_ptr<Array>* out) { |
| 258 | auto size = length(); |
| 259 | auto null_count = null_bitmap_builder_.false_count(); |
| 260 | std::shared_ptr<Buffer> data, null_bitmap; |
| 261 | RETURN_NOT_OK(data_builder_.Finish(&data)); |
| 262 | RETURN_NOT_OK(null_bitmap_builder_.Finish(&null_bitmap)); |
| 263 | *out = MakeArray(ArrayData::Make(int32(), size, {null_bitmap, data}, null_count)); |
| 264 | return Status::OK(); |
| 265 | } |
| 266 | |
| 267 | int64_t length() { return null_bitmap_builder_.length(); } |
| 268 |