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