westonpace commented on a change in pull request #9995:
URL: https://github.com/apache/arrow/pull/9995#discussion_r611809137
##########
File path: cpp/src/arrow/util/async_generator.h
##########
@@ -1332,4 +1332,49 @@ Result<Iterator<T>> MakeReadaheadIterator(Iterator<T>
it, int readahead_queue_si
return MakeGeneratorIterator(std::move(owned_bg_generator));
}
+/// \brief Make a generator that returns a single pre-generated future
+template <typename T>
+std::function<Future<T>()> MakeSingleFutureGenerator(Future<T> future) {
+ assert(future.is_valid());
+ struct Generator {
+ Future<T> future;
+
+ Future<T> operator()() {
+ if (future.is_valid()) {
+ return std::move(future);
+ } else {
+ return IterationEnd<T>();
Review comment:
@lidavidm I think you were the one that had some opinion on this in the
past (prefer `Future<T>::MakeFinished(t)` over implicit conversion from `t` to
`Future<T>`)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]