|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
懒序列生成器 更多...
#include <generator.hpp>
类 | |
| struct | promise_type |
| 生成器的promise类型 更多... | |
| class | iterator |
| 生成器的输入迭代器 更多... | |
Public 成员函数 | |
| generator (coroutine_handle< promise_type > h) | |
| 从协程句柄构造 | |
| generator (generator &&other) noexcept | |
| 移动构造函数 | |
| generator & | operator= (generator &&other) noexcept |
| 移动赋值运算符 | |
| ~generator () | |
| 析构函数,销毁协程 | |
| iterator | begin () |
| 获取起始迭代器 | |
| iterator | end () |
| 获取结束迭代器 | |
| template<typename F> | |
| invoke_result_t< F, T > | map (F &&func) |
| 映射变换 | |
| template<typename Pred> | |
| generator | filter (Pred &&pred) |
| 过滤 | |
| generator | take (const size_t n) |
| 取前n个元素 | |
| generator | skip (const size_t n) |
| 跳过前n个元素 | |
| generator | chain (generator &&other) |
| 连接两个生成器 | |
| template<typename F> | |
| void | for_each (F &&func) |
| 遍历每个元素 | |
| template<typename Acc, typename F> | |
| Acc | fold (Acc init, F &&func) |
| 折叠(归约) | |
懒序列生成器
| T | 元素类型 |
使用协程实现的懒序列生成器,支持范围for循环和组合操作。 每次co_yield产生一个值,协程暂停直到下一次迭代。
在文件 generator.hpp 第 157 行定义.
|
inlineexplicit |
从协程句柄构造
| h | 协程句柄 |
在文件 generator.hpp 第 286 行定义.
被这些函数引用 chain(), filter(), generator(), generator< T >::promise_type::get_return_object(), operator=(), skip() , 以及 take().
|
inline |
|
inline |