| 329 | : ColumnPopulator(pool, std::move(end_chars), std::move(null_string)) {} |
| 330 | |
| 331 | Status UpdateRowLengths(int64_t* row_lengths) override { |
| 332 | if (ARROW_PREDICT_TRUE(array_->type_id() == Type::STRING)) { |
| 333 | return UpdateRowLengths<StringArray>(row_lengths); |
| 334 | } else if (ARROW_PREDICT_TRUE(array_->type_id() == Type::LARGE_STRING)) { |
| 335 | return UpdateRowLengths<LargeStringArray>(row_lengths); |
| 336 | } else { |
| 337 | return Status::TypeError("The array must be StringArray or LargeStringArray."); |
| 338 | } |
| 339 | } |
| 340 | |
| 341 | template <typename StringArrayType> |
| 342 | Status UpdateRowLengths(int64_t* row_lengths) { |