| 324 | } |
| 325 | |
| 326 | int DecodeSpaced(T* buffer, int num_values, int null_count, const uint8_t* valid_bits, |
| 327 | int64_t valid_bits_offset) override { |
| 328 | if (null_count > 0) { |
| 329 | int values_to_read = num_values - null_count; |
| 330 | int values_read = this->Decode(buffer, values_to_read); |
| 331 | if (values_read != values_to_read) { |
| 332 | throw ParquetException("Number of values / definition_levels read did not match"); |
| 333 | } |
| 334 | ::arrow::util::internal::SpacedExpandRightward<T>(buffer, num_values, null_count, |
| 335 | valid_bits, valid_bits_offset); |
| 336 | return num_values; |
| 337 | } else { |
| 338 | return this->Decode(buffer, num_values); |
| 339 | } |
| 340 | } |
| 341 | |
| 342 | int type_length_; |
| 343 | }; |
nothing calls this directly
no test coverage detected