Lines Matching full:generator
22 TakeGenerator(size_t target, GeneratorWrapper<T>&& generator): in TakeGenerator() argument
23 m_generator(std::move(generator)), in TakeGenerator()
38 // If the underlying generator does not contain enough values in next()
48 GeneratorWrapper<T> take(size_t target, GeneratorWrapper<T>&& generator) { in take() argument
49 return GeneratorWrapper<T>(pf::make_unique<TakeGenerator<T>>(target, std::move(generator))); in take()
59 FilterGenerator(P&& pred, GeneratorWrapper<T>&& generator): in FilterGenerator() argument
60 m_generator(std::move(generator)), in FilterGenerator()
68 … Catch::throw_exception(GeneratorException("No valid value found in filtered generator")); in FilterGenerator()
89 GeneratorWrapper<T> filter(Predicate&& pred, GeneratorWrapper<T>&& generator) { in filter() argument
90 …:make_unique<FilterGenerator<T, Predicate>>(std::forward<Predicate>(pred), std::move(generator)))); in filter()
104 RepeatGenerator(size_t repeats, GeneratorWrapper<T>&& generator): in RepeatGenerator() argument
105 m_generator(std::move(generator)), in RepeatGenerator()
108 assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); in RepeatGenerator()
121 // 1) We are still reading the generator in next()
124 // In the first case, we need to poke the underlying generator. in next()
145 GeneratorWrapper<T> repeat(size_t repeats, GeneratorWrapper<T>&& generator) { in repeat() argument
146 … return GeneratorWrapper<T>(pf::make_unique<RepeatGenerator<T>>(repeats, std::move(generator))); in repeat()
158 MapGenerator(F2&& function, GeneratorWrapper<U>&& generator) : in MapGenerator() argument
159 m_generator(std::move(generator)), in MapGenerator()
177 GeneratorWrapper<T> map(Func&& function, GeneratorWrapper<U>&& generator) { in map() argument
179 … pf::make_unique<MapGenerator<T, U, Func>>(std::forward<Func>(function), std::move(generator)) in map()
184 GeneratorWrapper<T> map(Func&& function, GeneratorWrapper<U>&& generator) { in map() argument
186 … pf::make_unique<MapGenerator<T, U, Func>>(std::forward<Func>(function), std::move(generator)) in map()
197 ChunkGenerator(size_t size, GeneratorWrapper<T> generator) : in ChunkGenerator() argument
198 m_chunk_size(size), m_generator(std::move(generator)) in ChunkGenerator()
227 GeneratorWrapper<std::vector<T>> chunk(size_t size, GeneratorWrapper<T>&& generator) { in chunk() argument
229 pf::make_unique<ChunkGenerator<T>>(size, std::move(generator)) in chunk()