| 1569 | /// This generator buffers one item (so it knows which item is the last item) |
| 1570 | template <typename T> |
| 1571 | AsyncGenerator<Enumerated<T>> MakeEnumeratedGenerator(AsyncGenerator<T> source) { |
| 1572 | return FutureFirstGenerator<Enumerated<T>>( |
| 1573 | source().Then([source](const T& initial_value) -> AsyncGenerator<Enumerated<T>> { |
| 1574 | return EnumeratingGenerator<T>(std::move(source), initial_value); |
| 1575 | })); |
| 1576 | } |
| 1577 | |
| 1578 | /// \see MakeTransferredGenerator |
| 1579 | template <typename T> |