| 1995 | /// pull from following_values async-reentrantly. |
| 1996 | template <typename T> |
| 1997 | AsyncGenerator<T> MakeGeneratorStartsWith(std::vector<T> initial_values, |
| 1998 | AsyncGenerator<T> following_values) { |
| 1999 | auto initial_values_vec_gen = MakeVectorGenerator(std::move(initial_values)); |
| 2000 | auto gen_gen = MakeVectorGenerator<AsyncGenerator<T>>( |
| 2001 | {std::move(initial_values_vec_gen), std::move(following_values)}); |
| 2002 | return MakeConcatenatedGenerator(std::move(gen_gen)); |
| 2003 | } |
| 2004 | |
| 2005 | template <typename T> |
| 2006 | struct CancellableGenerator { |
no test coverage detected