| 254 | } |
| 255 | |
| 256 | Status PopulateRows(char* output, int64_t* offsets) const override { |
| 257 | if (ARROW_PREDICT_TRUE(array_->type_id() == Type::STRING)) { |
| 258 | return PopulateRows<StringArray>(output, offsets); |
| 259 | } else if (ARROW_PREDICT_TRUE(array_->type_id() == Type::LARGE_STRING)) { |
| 260 | return PopulateRows<LargeStringArray>(output, offsets); |
| 261 | } else { |
| 262 | return Status::TypeError("The array must be StringArray or LargeStringArray."); |
| 263 | } |
| 264 | } |
| 265 | |
| 266 | template <typename StringArrayType> |
| 267 | Status PopulateRows(char* output, int64_t* offsets) const { |