| 1277 | struct StringBuilderVisitor { |
| 1278 | template <typename DataType> |
| 1279 | enable_if_t<has_string_view<DataType>::value, Status> Visit( |
| 1280 | const DataType&, ArrayBuilder* raw_builder, |
| 1281 | const std::vector<std::string>& values) { |
| 1282 | using Builder = typename TypeTraits<DataType>::BuilderType; |
| 1283 | auto builder = static_cast<Builder*>(raw_builder); |
| 1284 | for (const auto& value : values) { |
| 1285 | ARROW_RETURN_NOT_OK(builder->Append(value)); |
| 1286 | } |
| 1287 | return Status::OK(); |
| 1288 | } |
| 1289 | |
| 1290 | Status Visit(const DataType& type, ArrayBuilder*, const std::vector<std::string>&) { |
| 1291 | return Status::Invalid("Only string types are supported and the current type is", |