Lines Matching full:generator
21 TakeGenerator(size_t target, GeneratorWrapper<T>&& generator): in TakeGenerator() argument
22 m_generator(std::move(generator)), in TakeGenerator()
37 // If the underlying generator does not contain enough values in next()
47 GeneratorWrapper<T> take(size_t target, GeneratorWrapper<T>&& generator) { in take() argument
48 return GeneratorWrapper<T>(pf::make_unique<TakeGenerator<T>>(target, std::move(generator))); in take()
58 FilterGenerator(P&& pred, GeneratorWrapper<T>&& generator): in FilterGenerator() argument
59 m_generator(std::move(generator)), in FilterGenerator()
67 … Catch::throw_exception(GeneratorException("No valid value found in filtered generator")); in FilterGenerator()
88 GeneratorWrapper<T> filter(Predicate&& pred, GeneratorWrapper<T>&& generator) { in filter() argument
89 …:make_unique<FilterGenerator<T, Predicate>>(std::forward<Predicate>(pred), std::move(generator)))); in filter()
100 RepeatGenerator(size_t repeats, GeneratorWrapper<T>&& generator): in RepeatGenerator() argument
101 m_generator(std::move(generator)), in RepeatGenerator()
104 assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); in RepeatGenerator()
117 // 1) We are still reading the generator in next()
120 // In the first case, we need to poke the underlying generator. in next()
141 GeneratorWrapper<T> repeat(size_t repeats, GeneratorWrapper<T>&& generator) { in repeat() argument
142 … return GeneratorWrapper<T>(pf::make_unique<RepeatGenerator<T>>(repeats, std::move(generator))); in repeat()
154 MapGenerator(F2&& function, GeneratorWrapper<U>&& generator) : in MapGenerator() argument
155 m_generator(std::move(generator)), in MapGenerator()
173 GeneratorWrapper<T> map(Func&& function, GeneratorWrapper<U>&& generator) { in map() argument
175 … pf::make_unique<MapGenerator<T, U, Func>>(std::forward<Func>(function), std::move(generator)) in map()
179 GeneratorWrapper<T> map(Func&& function, GeneratorWrapper<T>&& generator) { in map() argument
181 … pf::make_unique<MapGenerator<T, T, Func>>(std::forward<Func>(function), std::move(generator)) in map()
192 ChunkGenerator(size_t size, GeneratorWrapper<T> generator) : in ChunkGenerator() argument
193 m_chunk_size(size), m_generator(std::move(generator)) in ChunkGenerator()
220 GeneratorWrapper<std::vector<T>> chunk(size_t size, GeneratorWrapper<T>&& generator) { in chunk() argument
222 pf::make_unique<ChunkGenerator<T>>(size, std::move(generator)) in chunk()