|
| | Comprehension () |
| | 默认构造函数,创建一个空 Comprehension。
|
| template<class Cont> |
| | Comprehension (const Cont &cont) |
| | 从容器(左值)构造,拷贝所有元素。
|
| template<class Cont> |
| | Comprehension (Cont &&cont) |
| | 从容器(右值)构造,移动所有元素。
|
| template<class Cont> |
| | Comprehension (const Cont &cont, size_t start_pos, size_t end_pos) |
| | 从容器的子区间(左值)构造,拷贝指定范围的元素。
|
| template<class Cont> |
| | Comprehension (Cont &&cont, size_t start_pos, size_t end_pos) |
| | 从容器的子区间(右值)构造,移动指定范围的元素。
|
| template<class Iter> |
| | Comprehension (Iter beg, Iter end) |
| | 从迭代器对构造,拷贝 [beg, end) 范围内的元素。
|
| | Comprehension (std::initializer_list< T > init) |
| | 从 std::initializer_list 构造。
|
| std::vector< T > & | get_vec () |
| | 获取内部 vector 的引用。
|
| template<class F> |
| auto | map (F &&f) const -> Comprehension< decltype(f(vec[0]))> |
| | 对每个元素应用函数 f,返回新 Comprehension。
|
| template<class F> |
| Comprehension< T > | filter (F &&f) const |
| | 筛选满足谓词 f 的元素,返回新 Comprehension。
|
| template<class Cont> |
| Cont | to () |
| | 将内部元素移动构造到目标容器 Cont 中。
|
| template<class Cont> |
| Cont | make () const |
| | 将内部元素拷贝构造到目标容器 Cont 中。
|
template<class T>
class console::Comprehension< T >
函数式风格的数据流处理容器。
- Template Parameters
-
该类包装一个 std::vector<T>,提供 map、filter 等惰性求值风格的操作(实际是立即求值), 并支持从多种来源构造,如容器、迭代器对、初始化列表等。
- Note
- 所有转换操作都会创建新的 Comprehension 对象,不会修改原对象。