| 2459 | IsDevice, internal::ArrayDeviceStreamExportTraits, |
| 2460 | internal::ArrayStreamExportTraits>> |
| 2461 | Result<std::shared_ptr<RecordBatchReader>> ImportReader( |
| 2462 | typename StreamTraits::CType* stream, |
| 2463 | const DeviceMemoryMapper& mapper = DefaultDeviceMemoryMapper) { |
| 2464 | if (StreamTraits::IsReleasedFunc(stream)) { |
| 2465 | return Status::Invalid("Cannot import released Arrow Stream"); |
| 2466 | } |
| 2467 | |
| 2468 | auto reader = std::make_shared<ArrayStreamBatchReader<IsDevice>>(stream, mapper); |
| 2469 | ARROW_RETURN_NOT_OK(reader->Init()); |
| 2470 | return reader; |
| 2471 | } |
| 2472 | |
| 2473 | template <bool IsDevice, typename StreamTraits = std::conditional_t< |
| 2474 | IsDevice, internal::ArrayDeviceStreamExportTraits, |