| 441 | } |
| 442 | |
| 443 | auto OnBitPackedRun(BitPackedRun run) { |
| 444 | bit_packed_decoder_ptr_->Reset(run, bit_width_); |
| 445 | |
| 446 | const auto n_decoded = decoded_ptr_->size(); |
| 447 | const auto n_to_decode = bit_packed_decoder_ptr_->remaining(); |
| 448 | decoded_ptr_->resize(n_decoded + n_to_decode); |
| 449 | EXPECT_EQ(bit_packed_decoder_ptr_->GetBatch(decoded_ptr_->data() + n_decoded, |
| 450 | n_to_decode, bit_width_), |
| 451 | n_to_decode); |
| 452 | EXPECT_EQ(bit_packed_decoder_ptr_->remaining(), 0); |
| 453 | |
| 454 | return RleBitPackedParser::ControlFlow::Continue; |
| 455 | } |
| 456 | } handler{&rle_decoder, &bit_packed_decoder, &decoded, bit_width}; |
| 457 | |
| 458 | // Iterate over all runs |