| 331 | } |
| 332 | |
| 333 | Status Decode(const uint8_t* data, uint32_t size, bool quoted, value_type* out) { |
| 334 | if (ARROW_PREDICT_FALSE(size > temp_.size())) { |
| 335 | temp_.resize(size); |
| 336 | } |
| 337 | uint8_t* temp_data = temp_.data(); |
| 338 | for (uint32_t i = 0; i < size; ++i) { |
| 339 | temp_data[i] = mapping_[data[i]]; |
| 340 | } |
| 341 | if (ARROW_PREDICT_FALSE( |
| 342 | !wrapped_decoder_.Decode(temp_data, size, quoted, out).ok())) { |
| 343 | return GenericConversionError(type_, data, size); |
| 344 | } |
| 345 | return Status::OK(); |
| 346 | } |
| 347 | |
| 348 | bool IsNull(const uint8_t* data, uint32_t size, bool quoted) { |
| 349 | return wrapped_decoder_.IsNull(data, size, quoted); |