6个版本
0.1.5 | 2023年12月9日 |
---|---|
0.1.4 | 2023年12月5日 |
0.1.3 | 2023年11月23日 |
0.1.1 | 2023年8月16日 |
#351 in Rust模式
720 每月下载量
在 3 crate 中使用
37KB
899 行
Gat Lending Iterator
我对lending iterator crate应该是什么样子的看法。 仍在进行中.
大多数 Iterator
方法可以直接在 LendingIterator
上工作,但有些方法可能没有意义。基本上,任何需要同时查看多个元素的方法都是不可能的。
一些 LendingIterator
方法 可能 返回可以作为 Iterator
的东西。例如 cloned
或 map
,当传递给它的函数返回的值与其输入的生命周期无关时。在这些情况下,我的设计选择是条件性地实现适配器的 IntoIterator。
我还包含了一个扩展 trait ToLendingIterator: IntoIterator
,它允许将迭代器以各种方式转换为lending迭代器,例如在元素窗口中。我可能会添加更多方法到这个trait中。
在 LendingIterator
和 Iterator
上行为相同的方法
- advance_by
- all
- any
- by_ref
- chain
- cmp
- cmp_by
- count
- cycle
- enumerate
- eq
- eq_by
- filter
- filter_map
- find
- find_map
- flat_map
- flatten
- fold
- for_each
- fuse
- ge
- gt
- inspect
- intersperse
- intersperse_with
- is_partitioned
- le
- lt
- map
- map_while
- ne
- nth
- partial_cmp
- partial_cmp_by
- position
- product
- scan
- size_hint
- skip
- skip_while
- step_by
- sum
- take
- take_while
- try_find
- try_fold
- try_for_each
- zip
在 LendingIterator
上没有意义的方法
- array_chunks
- collect
- collect_into
- is_sorted
- is_sorted_by
- is_sorted_by_key
- last
- next_chunk
- partition
- partition_in_place
- peekable
- try_collect
- unzip
在 LendingIterator
上行为不同的方法
- max
- max_by
- 按键最大值
- 最小值
- 按...最小值
- 按键最小值
- reduce
- try_reduce
有时可以用来将 LendingIterator
转换为 Iterator
的方法
- 克隆
- 复制
- filter_map
- flat_map
- map
- map_while
- scan
我不确定的方法
- 逆序
- 右位置