| 282 | def_level_if_null_(def_level_if_present - 1) {} |
| 283 | |
| 284 | IterationResult Run(const ElementRange& range, PathWriteContext* context) { |
| 285 | int64_t elements = range.Size(); |
| 286 | RETURN_IF_ERROR(context->ReserveDefLevels(elements)); |
| 287 | |
| 288 | DCHECK_GT(elements, 0); |
| 289 | |
| 290 | auto bit_visitor = [&](bool is_set) { |
| 291 | context->UnsafeAppendDefLevel(is_set ? def_level_if_present_ : def_level_if_null_); |
| 292 | }; |
| 293 | |
| 294 | if (elements > 16) { // 16 guarantees at least one unrolled loop. |
| 295 | ::arrow::internal::VisitBitsUnrolled(bitmap_, range.start + element_offset_, |
| 296 | elements, bit_visitor); |
| 297 | } else { |
| 298 | ::arrow::internal::VisitBits(bitmap_, range.start + element_offset_, elements, |
| 299 | bit_visitor); |
| 300 | } |
| 301 | return kDone; |
| 302 | } |
| 303 | const uint8_t* bitmap_; |
| 304 | int64_t element_offset_; |
| 305 | int16_t def_level_if_present_; |
nothing calls this directly
no test coverage detected