| 1721 | buffered_length_(AllocateBuffer(pool, 0)) {} |
| 1722 | |
| 1723 | void SetData(int num_values, const uint8_t* data, int len) override { |
| 1724 | Base::SetData(num_values, data, len); |
| 1725 | if (decoder_ == nullptr) { |
| 1726 | decoder_ = std::make_shared<::arrow::bit_util::BitReader>(data, len); |
| 1727 | } else { |
| 1728 | decoder_->Reset(data, len); |
| 1729 | } |
| 1730 | DecodeLengths(); |
| 1731 | } |
| 1732 | |
| 1733 | int Decode(ByteArray* buffer, int max_values) override { |
| 1734 | // Decode up to `max_values` strings into an internal buffer |