| 346 | template <typename Tuple, std::size_t N = std::tuple_size<Tuple>::value> |
| 347 | struct RowIterator { |
| 348 | static Status Append(const std::vector<std::unique_ptr<ArrayBuilder>>& builders, |
| 349 | const Tuple& row) { |
| 350 | using std::get; |
| 351 | using Element = BareTupleElement<N - 1, Tuple>; |
| 352 | using BuilderType = |
| 353 | typename TypeTraits<typename ConversionTraits<Element>::ArrowType>::BuilderType; |
| 354 | |
| 355 | BuilderType& builder = |
| 356 | ::arrow::internal::checked_cast<BuilderType&>(*builders[N - 1]); |
| 357 | ARROW_RETURN_NOT_OK(ConversionTraits<Element>::AppendRow(builder, get<N - 1>(row))); |
| 358 | |
| 359 | return RowIterator<Tuple, N - 1>::Append(builders, row); |
| 360 | } |
| 361 | }; |
| 362 | |
| 363 | template <typename Tuple> |
no test coverage detected