| 3269 | } |
| 3270 | |
| 3271 | std::shared_ptr<DataType> sparse_union(FieldVector child_fields, |
| 3272 | std::vector<int8_t> type_codes) { |
| 3273 | if (type_codes.empty()) { |
| 3274 | type_codes = internal::Iota<int8_t>(0, child_fields.size()); |
| 3275 | } |
| 3276 | return std::make_shared<SparseUnionType>(std::move(child_fields), |
| 3277 | std::move(type_codes)); |
| 3278 | } |
| 3279 | std::shared_ptr<DataType> dense_union(FieldVector child_fields, |
| 3280 | std::vector<int8_t> type_codes) { |
| 3281 | if (type_codes.empty()) { |